/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-zinc-950: oklch(14.1% .005 285.823);
    --spacing: .25rem;
    --blur-sm: 8px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .z-10 {
    z-index: 10;
  }

  .z-50 {
    z-index: 50;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .hidden {
    display: none;
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-10 {
    height: calc(var(--spacing) * 10);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-10 {
    width: calc(var(--spacing) * 10);
  }

  .shrink {
    flex-shrink: 1;
  }

  .flex-grow {
    flex-grow: 1;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-\[fadeIn_0\.2s_ease\] {
    animation: .2s fadeIn;
  }

  .resize {
    resize: both;
  }

  .items-center {
    align-items: center;
  }

  .justify-center {
    justify-content: center;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-none {
    border-radius: 0;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .bg-zinc-950\/78 {
    background-color: #09090bc7;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-zinc-950\/78 {
      background-color: color-mix(in oklab, var(--color-zinc-950) 78%, transparent);
    }
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .ring {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  @media (min-width: 48rem) {
    .md\:px-8 {
      padding-inline: calc(var(--spacing) * 8);
    }

    .md\:py-12 {
      padding-block: calc(var(--spacing) * 12);
    }
  }
}

:root {
  --lexo-bg: #fff;
  --lexo-surface: #f6f8fa;
  --lexo-ink: #081322;
  --lexo-muted: #526071;
  --lexo-line: #dfe3e8;
  --lexo-yellow: #ffd400;
  --lexo-gold: #dfa900;
  --lexo-content-max: 1760px;
  --lexo-reading-max: 72rem;
  --lexo-space-1: 4px;
  --lexo-space-2: 8px;
  --lexo-space-3: 12px;
  --lexo-space-4: 16px;
  --lexo-space-5: 24px;
  --lexo-space-6: 32px;
  --lexo-space-7: 48px;
  --lexo-space-8: 64px;
  --lexo-space-9: 80px;
  --lexo-space-10: 96px;
  --lexo-space-11: 128px;
  --lexo-space-12: 160px;
  --lexo-text-h1: clamp(2rem, 3.7vw, 3.5rem);
  --lexo-text-h2: clamp(1.6875rem, 2.7vw, 2.625rem);
  --lexo-text-h3: clamp(1rem, 1.2vw, 1.1875rem);
  --lexo-text-body-lg: clamp(.9375rem, .9vw, 1rem);
  --lexo-text-body: clamp(.875rem, .8vw, .9375rem);
  --lexo-text-small: .875rem;
  --lexo-text-label: .8125rem;
  --lexo-leading-display: 1.02;
  --lexo-leading-heading: 1.12;
  --lexo-leading-body: 1.6;
  --lexo-weight-regular: 400;
  --lexo-weight-medium: 500;
  --lexo-weight-semibold: 600;
  --lexo-motion-instant: .12s;
  --lexo-motion-fast: .18s;
  --lexo-motion-ui: .24s;
  --lexo-motion-medium: .42s;
  --lexo-motion-reveal: .68s;
  --lexo-motion-media: .9s;
  --lexo-ease-standard: cubic-bezier(.2, 0, 0, 1);
  --lexo-ease-enter: cubic-bezier(.16, 1, .3, 1);
  --lexo-ease-emphasis: cubic-bezier(.22, 1, .36, 1);
}

:where(button, a, input, select, textarea, [role="button"]):focus-visible {
  outline-offset: 4px;
  outline: 2px solid #9b7500;
}

*, :before, :after {
  box-sizing: border-box;
}

html, body, #root {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

img, video, canvas, svg {
  max-width: 100%;
}

img, video {
  height: auto;
}

button, input, select, textarea {
  max-width: 100%;
  font: inherit;
}

:where(h1, h2, h3, h4, p, a, button, label, span, strong, small) {
  overflow-wrap: anywhere;
}

.header-cta-btn, .header-cta-btn *, .mobile-menu-cta, .mobile-menu-cta * {
  font-weight: 900 !important;
}

:where(.presentation-frame, .slide-panel) :where(.flex, .grid) > * {
  min-width: 0;
}

@media (max-width: 640px) {
  input, select, textarea {
    font-size: 16px;
  }
}

@media (min-width: 1024px) {
  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-filter, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar, #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip, #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
    box-sizing: border-box !important;
    height: 5.25rem !important;
    min-height: 5.25rem !important;
    max-height: 5.25rem !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button, #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip > div, #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip > * {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference {
    padding-top: clamp(1.5rem, 3vh, 2.5rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map {
    grid-template-columns: 34% 38% 28% !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map-copy {
    padding-right: clamp(.75rem, 1.25vw, 1.25rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map-copy h1 .projects-reference-title-accent {
    white-space: nowrap !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-country-metrics > div {
    padding-inline: .1rem !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-country-metrics b {
    white-space: normal !important;
    text-align: center !important;
    font-size: clamp(.58rem, .62vw, .68rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: clamp(.6rem, 1vw, 1rem) !important;
    width: 100% !important;
    display: grid !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div:first-child {
    box-sizing: border-box !important;
    gap: .65rem !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: .35rem !important;
  }
}

.projects-reference-map-graphic .europe-map-card, .projects-reference-map-graphic .europe-map-viewport {
  width: 100%;
  min-width: 0;
}

.projects-reference-map-graphic .europe-map-viewport {
  height: 100%;
}

.projects-reference-map-graphic .europe-map-svg {
  width: 100%;
  min-width: 0;
  height: 100%;
  display: block;
}

.europe-map-zoom-button {
  white-space: nowrap;
  flex: none;
}

#root .projects-reference-country.projects-reference-country {
  box-shadow: none !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
}

#root .projects-reference-country .projects-reference-country-metrics {
  background: none !important;
}

#root .presentation-main:has(.about-reference), #root .presentation-viewport:has(.about-reference), #root .presentation-frame:has(.about-reference), #root .about-reference, #root .about-reference-testimonials {
  background: #fff !important;
}

#root .lexo-shell:has(.career-reference) > .story-footer {
  z-index: 120 !important;
  width: 100% !important;
  margin: 0 !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
}

@media (max-width: 980px) {
  #root .career-reference {
    margin-bottom: var(--story-footer-height, 3.25rem) !important;
  }
}

@media (min-width: 641px) {
  #root .about-reference-team {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  #root .about-reference-team .about-team-intro {
    padding-inline: clamp(.75rem, 1.25vw, 1.25rem) !important;
  }

  #root .about-reference-team .about-person {
    grid-template-columns: clamp(5.2rem, 5.6vw, 6.5rem) minmax(11rem, 16rem) !important;
    justify-content: center !important;
    padding-inline: clamp(.75rem, 1.25vw, 1.25rem) !important;
    position: relative !important;
  }

  #root .about-reference-team .about-person + .about-person {
    box-shadow: none !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  #root .about-reference-team .about-person:before {
    content: "";
    background: #ffffff29;
    width: 1px;
    position: absolute;
    top: 17.5%;
    bottom: 17.5%;
    left: calc(clamp(1rem, 1.7vw, 1.7rem) / -2);
  }
}

@media (max-width: 640px) {
  #root .about-reference-team .about-person {
    box-shadow: none !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding-top: 1.6rem !important;
    position: relative !important;
  }

  #root .about-reference-team .about-person:before {
    content: "";
    background: #ffffff29;
    width: 76%;
    height: 1px;
    position: absolute;
    top: .35rem;
    left: 12%;
  }

  .projects-reference-map-graphic {
    height: clamp(13.5rem, 62vw, 16rem) !important;
    min-height: clamp(13.5rem, 62vw, 16rem) !important;
  }

  .projects-reference-map-graphic .europe-map-viewport > div:first-child {
    gap: .35rem !important;
    top: .5rem !important;
    right: .5rem !important;
  }

  .projects-reference-map-graphic .europe-map-zoom-button {
    width: auto !important;
    min-width: 2.5rem !important;
    height: 2.5rem !important;
    padding-inline: .5rem !important;
  }

  #root .about-reference.about-reference, #root .project-calculator.project-calculator, #root .career-reference.career-reference, #root .contact-reference.contact-reference {
    margin-bottom: 3.25rem !important;
  }

  #root .mobile-menu-panel.mobile-menu-panel {
    overscroll-behavior: contain;
    max-height: calc(100dvh - 7rem) !important;
    overflow: hidden auto !important;
  }

  #root .mobile-menu-cta.mobile-menu-cta {
    z-index: 3 !important;
    width: 100% !important;
    font-weight: 900 !important;
    position: sticky !important;
    bottom: 0 !important;
  }
}

@media (pointer: coarse) {
  button, a, input, select, textarea, [role="button"] {
    touch-action: manipulation;
  }
}

@media (min-width: 1024px) {
  #root .lexo-shell, #root > .lexo-shell.lexo-shell:has(.projects-reference) {
    --lexo-page-gutter: 10vw !important;
  }

  #root > .lexo-shell.lexo-shell > header .max-w-7xl, #root > .lexo-shell.lexo-shell:has(.hero-reference) > header .max-w-7xl {
    width: 80% !important;
    max-width: none !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference .hero-reference-copy {
    padding-left: 10vw !important;
  }

  #root .contact-reference-copy, #root .career-reference-copy {
    padding-right: clamp(1.5rem, 2.5vw, 3rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-hero {
    grid-template-columns: 52% 48% !important;
  }

  #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
    padding-left: 10vw !important;
    padding-right: clamp(1.25rem, 2vw, 2rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > p {
    max-width: 35rem !important;
  }
}

@media (min-width: 1441px) {
  #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-features.about-reference-features, #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-team.about-reference-team, #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials.about-reference-testimonials {
    column-gap: clamp(1rem, 1vw, 1.25rem) !important;
    padding-left: 10vw !important;
    padding-right: 10vw !important;
  }
}

@media (min-width: 1024px) and (max-height: 850px) {
  html:has(.career-reference) {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
  }

  body:has(.career-reference), #root:has(.career-reference), #root .lexo-shell:has(.career-reference), #root .presentation-main:has(.career-reference), #root .presentation-viewport:has(.career-reference), #root .presentation-frame:has(.career-reference) {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: clip visible !important;
  }

  #root .career-reference {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    overflow: visible !important;
  }

  #root .career-reference-main {
    height: 42rem !important;
    min-height: 42rem !important;
  }

  #root .career-reference-process {
    min-height: 23rem !important;
  }

  #root > .lexo-shell.lexo-shell:has(.career-reference) {
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: clip auto !important;
  }
}

@media (min-width: 641px) and (max-width: 1180px) {
  #root > .lexo-shell.lexo-shell:has(.career-reference) > footer.story-footer.story-footer {
    z-index: 120 !important;
    width: 100% !important;
    margin: 0 !important;
    position: fixed !important;
    inset: auto 0 0 !important;
  }

  #root > .lexo-shell.lexo-shell:has(.career-reference) .career-reference-process.career-reference-process {
    padding-bottom: 6rem !important;
  }
}

@media (max-width: 1180px) {
  #root > .lexo-shell.lexo-shell:has(.projects-reference) > footer.story-footer.story-footer {
    z-index: 120 !important;
    width: 100% !important;
    margin: 0 !important;
    position: fixed !important;
    inset: auto 0 0 !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference.projects-reference {
    padding-bottom: 4.5rem !important;
  }

  #root .projects-reference-detail-bar b {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: normal !important;
    text-overflow: clip !important;
    display: -webkit-box !important;
    overflow: hidden !important;
  }
}

#root > .lexo-shell.lexo-shell:has(.projects-reference) > footer.story-footer.story-footer {
  z-index: 120 !important;
  width: 100% !important;
  margin: 0 !important;
  position: fixed !important;
  inset: auto 0 0 !important;
}

@media (min-width: 1181px) and (max-height: 1099px) {
  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference.projects-reference {
    padding-bottom: 4.5rem !important;
  }
}

@media (min-width: 1800px) {
  #root > .lexo-shell.lexo-shell:has(.projects-reference) {
    --lexo-page-gutter: max(4.5rem, calc((100vw - 1600px) / 2)) !important;
  }

  #root .projects-reference-map-copy {
    padding-right: 2rem !important;
  }

  #root .projects-reference-country {
    justify-content: center !important;
    margin-left: 1rem !important;
    padding: clamp(1.5rem, 2vw, 2.25rem) !important;
  }

  #root .projects-reference-country-head > span, #root .projects-reference-country-head > small {
    font-size: .68rem !important;
  }

  #root .projects-reference-country-head svg {
    width: 1.3rem !important;
    height: 1.3rem !important;
  }

  #root .projects-reference-country h2 {
    margin: .85rem 0 1.65rem !important;
    font-size: clamp(2rem, 1.75vw, 2.35rem) !important;
  }

  #root .projects-reference-country-metrics > div {
    min-height: 6.2rem !important;
    padding: 1rem .45rem !important;
  }

  #root .projects-reference-country-metrics svg {
    width: 1.75rem !important;
    height: 1.75rem !important;
  }

  #root .projects-reference-country-metrics b {
    margin-top: .55rem !important;
    font-size: .9rem !important;
  }

  #root .projects-reference-country-metrics span {
    margin-top: .35rem !important;
    font-size: .6rem !important;
    line-height: 1.3 !important;
  }

  #root .about-reference-features.about-reference-features {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  #root .about-reference.about-reference {
    grid-template-rows: clamp(30rem, 52dvh, 38rem) auto auto auto !important;
  }
}

@media (min-width: 1800px) and (min-height: 800px) {
  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats.hero-reference-stats, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats.hero-reference-stats > div, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats.hero-reference-stats > button {
    min-height: 7rem !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats.hero-reference-stats > div, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats.hero-reference-stats > button {
    gap: clamp(.85rem, 1.15vw, 1.4rem) !important;
    padding: 1rem clamp(1.25rem, 1.8vw, 2.3rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats svg, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-truck-icon, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-calculator-icon {
    width: 3rem !important;
    height: 3rem !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-stat-title {
    font-size: 1.35rem !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div > span, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button > span {
    font-size: .86rem !important;
  }
}

@media (min-width: 1800px) and (min-height: 1200px) {
  #root .projects-reference.projects-reference {
    grid-template-rows: 34% 3.7rem 22% minmax(0, 1fr) !important;
  }
}

@media (max-width: 767px) {
  body:has(.about-reference), #root:has(.about-reference), #root > .lexo-shell.lexo-shell:has(.about-reference) {
    background: #fff !important;
  }

  #root .project-showcase-backdrop.project-showcase-backdrop {
    z-index: 1000 !important;
    overscroll-behavior: contain !important;
    scrollbar-gutter: auto !important;
    scrollbar-width: none !important;
    background: #fff !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: 0 !important;
    position: fixed !important;
    inset: 0 !important;
    overflow: hidden auto !important;
  }

  #root .project-showcase-backdrop.project-showcase-backdrop::-webkit-scrollbar {
    display: none !important;
  }

  #root .project-showcase-panel.project-showcase-panel {
    border: 0 !important;
    border-radius: 0 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 100dvh !important;
    margin: 0 !important;
  }

  #root .project-showcase-hero.project-showcase-hero {
    width: 100% !important;
    height: clamp(17.5rem, 58vw, 21rem) !important;
    min-height: clamp(17.5rem, 58vw, 21rem) !important;
  }

  #root .project-showcase-mobile-back.project-showcase-mobile-back {
    top: max(.85rem, env(safe-area-inset-top)) !important;
    left: max(.85rem, env(safe-area-inset-left)) !important;
  }

  #root .project-showcase-mobile-media-tabs.project-showcase-mobile-media-tabs {
    top: max(.85rem, env(safe-area-inset-top)) !important;
    right: max(.85rem, env(safe-area-inset-right)) !important;
  }

  #root .project-showcase-footer.project-showcase-footer {
    padding-bottom: max(1.45rem, env(safe-area-inset-bottom)) !important;
  }
}

@media (min-width: 1024px) {
  #root > .lexo-shell.lexo-shell:has(.projects-reference) {
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    height: 100dvh !important;
    min-height: 100dvh !important;
    overflow: clip auto !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .presentation-main.presentation-main, #root > .lexo-shell.lexo-shell:has(.projects-reference) .presentation-viewport.presentation-viewport, #root > .lexo-shell.lexo-shell:has(.projects-reference) .presentation-frame.presentation-frame {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    position: relative !important;
    inset: auto !important;
    overflow: visible !important;
    transform: none !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference.projects-reference {
    grid-template-rows: minmax(18rem, auto) 3.7rem minmax(10rem, auto) minmax(18rem, auto) !important;
    height: auto !important;
    min-height: 58rem !important;
    overflow: visible !important;
  }

  #root .projects-reference-map, #root .projects-reference-map-copy, #root .projects-reference-map-graphic, #root .projects-reference-country {
    min-height: 0 !important;
  }
}

@media (min-width: 1181px) and (min-height: 1000px) {
  #root > .lexo-shell.lexo-shell:has(.project-calculator) .presentation-viewport.presentation-viewport, #root > .lexo-shell.lexo-shell:has(.project-calculator) .presentation-frame.presentation-frame, #root > .lexo-shell.lexo-shell:has(.project-calculator) .project-calculator.project-calculator {
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
  }
}

@media (min-width: 1024px) and (max-height: 999px) {
  #root > .lexo-shell.lexo-shell:has(.project-calculator) .project-calculator.project-calculator {
    padding-top: clamp(4.5rem, 9dvh, 5.5rem) !important;
  }
}

@media (min-width: 1024px) and (min-height: 1100px) {
  #root > .lexo-shell.lexo-shell:has(.projects-reference) .presentation-viewport.presentation-viewport, #root > .lexo-shell.lexo-shell:has(.projects-reference) .presentation-frame.presentation-frame, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference.projects-reference {
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference.projects-reference {
    grid-template-rows: minmax(18rem, auto) 3.7rem minmax(10rem, auto) minmax(18rem, 1fr) !important;
  }
}

@media (min-width: 1800px) and (min-height: 1200px) {
  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference.projects-reference {
    grid-template-rows: 34% 3.7rem 22% minmax(0, 1fr) !important;
  }
}

#root > .lexo-shell.lexo-shell:has(.about-reference) > .presentation-main.presentation-main {
  scrollbar-width: none !important;
}

#root > .lexo-shell.lexo-shell:has(.about-reference) > .presentation-main.presentation-main::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  *, :before, :after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

#root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map-copy h1, #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-hero-copy h1, #root > .lexo-shell.lexo-shell:has(.career-reference) .career-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-copy h1 {
  letter-spacing: -.04em !important;
  font-size: clamp(2.5rem, 3.4vw, 3.25rem) !important;
  font-weight: 900 !important;
  line-height: 1.04 !important;
}

@media (min-width: 641px) and (max-width: 1023px) {
  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map-copy h1, #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-hero-copy h1, #root > .lexo-shell.lexo-shell:has(.career-reference) .career-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-copy h1 {
    font-size: clamp(2.25rem, 4.4vw, 2.75rem) !important;
  }
}

@media (max-width: 640px) {
  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map-copy h1, #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-hero-copy h1, #root > .lexo-shell.lexo-shell:has(.career-reference) .career-reference-copy h1, #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-copy h1 {
    font-size: clamp(2rem, 9vw, 2.45rem) !important;
    line-height: 1.04 !important;
  }
}

@media (min-width: 1024px) {
  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-filter, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar, #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip, #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
    box-sizing: border-box !important;
    height: 4.25rem !important;
    min-height: 4.25rem !important;
    max-height: 4.25rem !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button, #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip > div, #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip > * {
    box-sizing: border-box !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference {
    grid-template-rows: 32% 4.25rem 13% minmax(0, 1fr) !important;
    padding-top: clamp(1.5rem, 3vh, 2.5rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-cards {
    align-self: end !important;
    height: calc(100% - .75rem) !important;
    margin-top: .75rem !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-cards > article {
    height: 100% !important;
    min-height: 0 !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-card-copy p {
    font-size: clamp(.58rem, .46vw, .7rem) !important;
    line-height: 1.38 !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-copy > small {
    font-size: clamp(.58rem, .4vw, .66rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-copy h2 {
    white-space: nowrap !important;
    max-width: 100% !important;
    font-size: clamp(.98rem, 1.08vw, 1.35rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-copy p, #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-copy > span {
    font-size: clamp(.62rem, .46vw, .72rem) !important;
    line-height: 1.45 !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-copy p b {
    font-size: clamp(.52rem, .36vw, .6rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-metrics > div > small {
    font-size: clamp(.54rem, .38vw, .62rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-metrics > div > b {
    white-space: nowrap !important;
    font-size: clamp(.68rem, .62vw, .82rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-metrics > p {
    font-size: clamp(.58rem, .42vw, .68rem) !important;
    line-height: 1.42 !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-metrics > p strong {
    font-size: clamp(.62rem, .44vw, .72rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map {
    grid-template-columns: 34% 38% 28% !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map-copy {
    padding-right: clamp(.75rem, 1.25vw, 1.25rem) !important;
  }

  #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-map-copy h1 .projects-reference-title-accent {
    white-space: nowrap !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: clamp(.6rem, 1vw, 1rem) !important;
    width: 100% !important;
    display: grid !important;
  }

  #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div, #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div:first-child {
    box-sizing: border-box !important;
    gap: .65rem !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: .35rem !important;
  }
}

:root {
  --lexo-display-1-size: clamp(36px, 7.6vw, 48px);
  --lexo-display-1-line: 1.06;
  --lexo-display-1-weight: 500;
  --lexo-display-1-tracking: -.05em;
  --lexo-display-2-size: clamp(28px, 7vw, 36px);
  --lexo-display-2-line: 1.08;
  --lexo-display-2-weight: 500;
  --lexo-display-2-tracking: -.04em;
}

@media (min-width: 768px) {
  :root {
    --lexo-display-1-size: clamp(42px, 5.1vw, 58px);
    --lexo-display-2-size: clamp(30px, 3.2vw, 44px);
  }
}

@media (min-width: 1200px) {
  :root {
    --lexo-display-1-size: clamp(50px, 4.1vw, 64px);
    --lexo-display-1-line: 1.04;
    --lexo-display-1-tracking: -.052em;
    --lexo-display-2-size: clamp(32px, 2.5vw, 48px);
  }
}

:root {
  --lexo-type-eyebrow: 9px;
  --lexo-type-meta: 11px;
  --lexo-type-label: 12px;
  --lexo-type-button: 13px;
  --lexo-type-body: 15px;
  --lexo-type-body-lg: 16px;
  --lexo-type-h3: 20px;
  --lexo-type-h2: 44px;
  --lexo-type-h1: 56px;
  --lexo-type-weight-display: 500;
  --lexo-type-weight-heading: 600;
  --lexo-type-weight-body: 400;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}
        @keyframes dash { to { stroke-dashoffset: -40; } }
        @keyframes slideSoft { from { opacity: 0; } to { opacity: 1; } }
        @keyframes pageEnterNext {
          from {
            opacity: 0;
            transform: translate3d(0, 22px, 0) scale(.996);
          }
          to {
            opacity: 1;
            transform: translate3d(0, 0, 0) scale(1);
          }
        }
        @keyframes pageEnterPrev {
          from {
            opacity: 0;
            transform: translate3d(0, -22px, 0) scale(.996);
          }
          to {
            opacity: 1;
            transform: translate3d(0, 0, 0) scale(1);
          }
        }
        @keyframes projectCardNext { from { opacity: 0; } to { opacity: 1; } }
        @keyframes projectCardPrev { from { opacity: 0; } to { opacity: 1; } }
        @keyframes scanGlow { 0% { transform: translateX(-140%) skewX(-18deg); opacity: 0; } 20% { opacity: .9; } 55% { opacity: .35; } 100% { transform: translateX(160%) skewX(-18deg); opacity: 0; } }
        .lexo-shell { --lexo-page-gutter:clamp(2rem,4.5vw,4.8rem); }
        .lexo-shell:has(.hero-reference) { --hero-acid:#eff000; background:#fff !important; color:#090f15 !important; height:100dvh; overflow:hidden; font-family:Arial, Helvetica, sans-serif !important; }
        .lexo-shell:has(.hero-reference) > .hero-opening-beam { display:none; }
        .lexo-shell:has(.hero-reference) > header { background:rgba(255,255,255,.97) !important; border-color:#e5e7eb !important; padding-top:1rem !important; padding-bottom:1rem !important; }
        .lexo-shell:has(.hero-reference) > header .max-w-7xl { max-width:96rem !important; }
        .lexo-shell:has(.hero-reference) > header .text-white { color:#090f15 !important; }
        .lexo-shell:has(.hero-reference) > header .text-lime-400 { color:#606874 !important; }
        .lexo-shell:has(.hero-reference) .main-nav-pill { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; padding:0 !important; gap:clamp(.8rem,1.7vw,2rem); }
        .lexo-shell:has(.hero-reference) .main-nav-item { background:transparent !important; color:#090f15 !important; font-size:.76rem !important; font-weight:700 !important; border-radius:0 !important; padding:.7rem .25rem !important; }
        .lexo-shell:has(.hero-reference) .main-nav-item-active { border-bottom:2px solid #f5cf00; box-shadow:none !important; }
        .lexo-shell:has(.hero-reference) .theme-toggle-btn { display:none !important; }
        .lexo-shell:has(.hero-reference) .language-trigger { min-width:6.1rem; height:2.9rem; padding:0 .8rem !important; background:#fff !important; color:#090f15 !important; border-color:#dfe3e7 !important; border-radius:.55rem !important; justify-content:center; gap:.65rem !important; box-shadow:0 4px 14px rgba(15,23,42,.04); }
        .lexo-shell:has(.hero-reference) .language-flag-pl { display:inline-block !important; width:1.25rem; height:1.25rem; flex:none; border-radius:50%; border:1px solid #e2e5e8; background:linear-gradient(to bottom,#fff 0 49%,#dc143c 50% 100%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.35); }
        .lexo-shell:has(.hero-reference) .language-trigger > span.uppercase { font-size:.78rem; font-weight:800; }
        .lexo-shell:has(.hero-reference) .language-chevron { color:#202830; stroke-width:2.2; }
        .lexo-shell:has(.hero-reference) .header-cta-btn { background:var(--hero-acid) !important; color:#090f15 !important; border-radius:.45rem !important; padding:.78rem 1.15rem !important; box-shadow:none !important; }
        .lexo-shell:has(.hero-reference) .header-cta-btn:hover { background:#ffd900 !important; }
        .presentation-main:has(.hero-reference) { padding:0 !important; display:block !important; overflow:hidden !important; }
        .presentation-viewport:has(.hero-reference) { max-width:none !important; padding:0 !important; height:100% !important; }
        .presentation-frame.hero-centered-frame:has(.hero-reference) { position:relative !important; inset:auto !important; width:100% !important; max-width:none !important; height:100% !important; transform:none !important; }
        
        
        
        
        
        
        #root .lexo-shell .hero-reference .hero-reference-copy h1 { max-width:100%; font-size:clamp(3rem,3.12vw,3.8rem) !important; line-height:1.08 !important; }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        .lexo-shell:has(.hero-reference) > .story-footer { background:#fff !important; border-color:#e5e7eb !important; color:#090f15 !important; padding:1rem 2rem !important; }
        .lexo-shell:has(.hero-reference) .story-footer .max-w-7xl { max-width:96rem !important; }
        .lexo-shell:has(.hero-reference) .story-footer-current,.lexo-shell:has(.hero-reference) .story-footer-count { color:#090f15 !important; }
        .lexo-shell:has(.hero-reference) .story-footer-current { font-size:.9rem !important; }
        .lexo-shell:has(.hero-reference) .story-footer-count { font-size:.9rem !important; }
        .lexo-shell:has(.hero-reference) .story-footer-count + .story-footer-separator { display:none !important; }
        .lexo-shell:has(.hero-reference) .story-footer-track { height:4px !important; border-radius:0 !important; background:repeating-linear-gradient(90deg,#dfe4e8 0 calc(20% - 5px),transparent calc(20% - 5px) 20%) !important; }
        .lexo-shell:has(.hero-reference) .story-footer-progress { background:#f0b900 !important; border-radius:0 !important; }
        .lexo-shell:has(.hero-reference) .story-footer-next,.lexo-shell:has(.hero-reference) .story-footer-prev { width:3.15rem !important; height:2.8rem !important; min-width:3.15rem !important; padding:0 !important; justify-content:center !important; border-radius:.35rem !important; }
        .lexo-shell:has(.hero-reference) .story-footer-next { background:#f4d300 !important; color:#090f15 !important; }
        .lexo-shell:has(.hero-reference) .story-footer-prev { background:#fff !important; color:#090f15 !important; border-color:#d1d5db !important; }
        .lexo-shell:has(.hero-reference) .story-footer-button-label { display:none !important; }
        .lexo-shell:has(.hero-reference) .story-footer-next svg,.lexo-shell:has(.hero-reference) .story-footer-prev svg { width:1.2rem !important; height:1.2rem !important; }
        
        @media (min-width:768px) and (max-width:1023px) {
          #root .lexo-shell:has(.hero-reference) {
            width:100% !important;
            height:auto !important;
            min-height:0 !important;
            overflow:visible !important;
            padding-bottom:0 !important;
          }
          #root .presentation-main:has(.hero-reference) {
            flex:none !important;
          }
          #root .presentation-main:has(.hero-reference),
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            max-width:none !important;
            height:auto !important;
            max-height:none !important;
            min-height:0 !important;
            padding:0 !important;
            overflow:visible !important;
            transform:none !important;
          }
          #root .presentation-main:has(.hero-reference) {
            overflow-x:clip !important;
          }
          
          
          
          #root .lexo-shell .hero-reference .hero-reference-copy h1 {
            font-size:2.75rem !important;
            line-height:1.08 !important;
          }
          
          
          
          
          
          
          
          
          
          
          #root .lexo-shell:has(.hero-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            margin-top:0 !important;
            box-shadow:none !important;
          }
        }
        
        @media (min-width:768px) and (max-width:860px) {
          
          
          #root .lexo-shell .hero-reference .hero-reference-copy h1 {
            max-width:42rem !important;
            font-size:2.4rem !important;
            line-height:1.08 !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }
        @media (max-width:640px) {
          html:has(.hero-reference),
          body:has(.hero-reference),
          #root:has(.hero-reference),
          #root .lexo-shell:has(.hero-reference) {
            height:auto !important;
            min-height:100% !important;
            overflow-x:hidden !important;
            overflow-y:visible !important;
            touch-action:pan-y !important;
          }
          #root .presentation-main:has(.hero-reference),
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference),
          #root .hero-reference {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
            transform:none !important;
          }
          
          
          #root .lexo-shell .hero-reference .hero-reference-copy h1 {
            font-size:clamp(2rem,10vw,2.75rem) !important;
            line-height:1.06 !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }
        .lexo-shell:has(.about-reference) { width:100%; height:100dvh !important; min-height:0 !important; overflow:hidden !important; padding-bottom:0 !important; background:#fff !important; color:#090f15 !important; font-family:Arial,Helvetica,sans-serif !important; }
        .lexo-shell:has(.about-reference) > header { background:#fff !important; border-color:#e5e7eb !important; padding-top:1.4rem !important; padding-bottom:1.4rem !important; }
        .lexo-shell:has(.about-reference) > header { padding-left:2.8rem !important; padding-right:2.8rem !important; }
        .lexo-shell:has(.about-reference) > header .max-w-7xl { width:100% !important; max-width:none !important; }
        .lexo-shell:has(.about-reference) > header .text-white { color:#090f15 !important; }
        .lexo-shell:has(.about-reference) > header .text-lime-400 { color:#606874 !important; }
        .lexo-shell:has(.about-reference) .main-nav-pill { background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; padding:0 !important; gap:clamp(.8rem,1.7vw,2rem); }
        .lexo-shell:has(.about-reference) .main-nav-item { background:transparent !important; color:#090f15 !important; font-size:.82rem !important; font-weight:700 !important; border-radius:0 !important; padding:.7rem .25rem !important; }
        .lexo-shell:has(.about-reference) .main-nav-item-active { border-bottom:2px solid #f5cf00; box-shadow:none !important; }
        .lexo-shell:has(.about-reference) .main-nav-item-active { border-top:0 !important; border-left:0 !important; border-right:0 !important; }
        .lexo-shell:has(.about-reference) .theme-toggle-btn { display:none !important; }
        .lexo-shell:has(.about-reference) .language-trigger { min-width:6.1rem; height:2.9rem; padding:0 .8rem !important; justify-content:center; gap:.65rem !important; background:#fff !important; color:#090f15 !important; border-color:#dfe3e7 !important; border-radius:.55rem !important; box-shadow:0 4px 14px rgba(15,23,42,.04); }
        .lexo-shell:has(.about-reference) .language-flag-pl { display:inline-block !important; width:1.25rem; height:1.25rem; flex:none; border-radius:50%; border:1px solid #e2e5e8; background:linear-gradient(to bottom,#fff 0 49%,#dc143c 50% 100%); }
        .lexo-shell:has(.about-reference) .header-cta-btn { background:#f4dd00 !important; color:#090f15 !important; border-radius:.35rem !important; padding:.78rem 1.15rem !important; box-shadow:none !important; }
        .presentation-main:has(.about-reference) { flex:1 1 auto !important; min-height:0 !important; height:auto !important; padding:0 !important; display:block !important; overflow:hidden !important; }
        .presentation-viewport:has(.about-reference) { width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; padding:0 !important; overflow:hidden !important; }
        .presentation-frame:has(.about-reference) { position:relative !important; inset:auto !important; width:100% !important; height:100% !important; max-width:none !important; transform:none !important; }
        
        
        
        
        
        #root .lexo-shell .about-reference .about-reference-copy h1 { font-size:clamp(2.35rem,2.45vw,3rem) !important; line-height:1.04 !important; }
        
        
        
        #root .lexo-shell.lexo-light-theme .about-reference .about-reference-copy h1 strong { color:#ffc400 !important; }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        #root .lexo-shell .about-reference-team .about-team-intro h2,
        #root .lexo-shell .about-reference-team .about-person h3 { color:#fff !important; }
        #root .lexo-shell .about-reference-team .about-team-intro h2 { font-size:clamp(1.35rem,2.55vh,1.9rem) !important; line-height:1.12 !important; }
        #root .lexo-shell .about-reference-team .about-person h3 { font-size:clamp(.84rem,.95vw,1rem) !important; font-weight:850 !important; }
        #root .lexo-shell .about-reference-team .about-team-intro p,
        #root .lexo-shell .about-reference-team .about-person p { color:#e8ecef !important; }
        #root .lexo-shell .about-reference-team .about-person b { color:#f0c400 !important; }
        
        
        
        
        
        #root .lexo-shell .about-reference-testimonials > div h2 { font-size:clamp(1.35rem,2.3vh,1.75rem) !important; line-height:1.12 !important; color:#090f15 !important; font-weight:900 !important; }
        
        
        
        
        
        
        .lexo-shell:has(.about-reference) > .story-footer { position:relative !important; inset:auto !important; flex:0 0 auto !important; background:#fff !important; border-color:#e5e7eb !important; color:#090f15 !important; padding:.65rem 8rem .65rem 4.5rem !important; box-shadow:none !important; }
        .lexo-shell:has(.about-reference) > .story-footer .max-w-7xl { width:100% !important; max-width:none !important; }
        .lexo-shell:has(.about-reference) > .story-footer .max-w-7xl > div:nth-child(2) { flex:0 0 23rem !important; width:23rem !important; max-width:none !important; margin-left:2rem !important; margin-right:auto !important; }
        .lexo-shell:has(.about-reference) .story-footer-current,.lexo-shell:has(.about-reference) .story-footer-count { color:#090f15 !important; }
        .lexo-shell:has(.about-reference) .story-footer-track { height:4px !important; border-radius:0 !important; background:repeating-linear-gradient(90deg,#dfe4e8 0 calc(20% - 5px),transparent calc(20% - 5px) 20%) !important; }
        .lexo-shell:has(.about-reference) .story-footer-progress { background:#f0b900 !important; border-radius:0 !important; }
        .lexo-shell:has(.about-reference) .story-footer-next { flex-direction:row-reverse !important; background:#ffd400 !important; color:#090f15 !important; box-shadow:none !important; border-radius:.3rem !important; }
        .lexo-shell:has(.about-reference) .story-footer-next svg { transform:rotate(180deg); }
        .lexo-shell:has(.about-reference) .story-footer-prev { background:#fff !important; color:#090f15 !important; border-color:#d1d5db !important; }
        @media (max-height:850px) and (min-width:1024px){
          
          #root .lexo-shell .about-reference .about-reference-copy h1 { font-size:clamp(1.8rem,2vw,2.35rem) !important; }
          
          
          
          
          
          
          
          
          
          
          #root .lexo-shell .about-reference-team .about-team-intro h2 { font-size:1.15rem !important; }
          
          

          .lexo-shell:has(.about-reference) > .story-footer { padding:.45rem 2rem !important; }
        }
        @media (min-width:1024px) and (max-width:1280px) {
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          #root .lexo-shell .about-reference-team .about-team-intro h2 {
            font-size:1.22rem !important;
          }
          
          
          
          
          
          
          
          #root .lexo-shell .about-reference-testimonials > div h2 {
            font-size:1.12rem !important;
          }
          
          


          
        }
        
        @media(min-width:768px) and (max-width:1023px){
          #root .lexo-shell:has(.about-reference) {
            width:100% !important;
            height:auto !important;
            min-height:100dvh !important;
            overflow:visible !important;
            padding-bottom:calc(5.8rem + env(safe-area-inset-bottom)) !important;
          }
          #root .lexo-shell:has(.about-reference) .presentation-main,
          #root .lexo-shell:has(.about-reference) .presentation-viewport,
          #root .lexo-shell:has(.about-reference) .presentation-frame {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            max-width:none !important;
            height:auto !important;
            max-height:none !important;
            min-height:0 !important;
            padding:0 !important;
            overflow:visible !important;
            transform:none !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          #root .lexo-shell:has(.about-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            margin-top:0 !important;
          }
        }
        
        .lexo-shell:has(.career-reference) .presentation-main,
        .lexo-shell:has(.project-calculator) .presentation-main { padding:0 !important; display:block !important; overflow:hidden !important; }
        .presentation-viewport:has(.career-reference),
        .presentation-viewport:has(.project-calculator) { width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; padding:0 !important; overflow:hidden !important; }
        .presentation-frame:has(.career-reference),
        .presentation-frame:has(.project-calculator) { position:relative !important; inset:auto !important; width:100% !important; height:100% !important; max-width:none !important; transform:none !important; }
        .lexo-shell:has(.contact-reference) { height:100dvh !important; min-height:0 !important; overflow:hidden !important; background:#fff !important; }
        .lexo-shell:has(.contact-reference) .presentation-main { flex:1 1 auto !important; min-height:0 !important; height:auto !important; padding:0 !important; display:block !important; overflow:hidden !important; }
        .presentation-viewport:has(.contact-reference),
        .presentation-frame:has(.contact-reference) { width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; padding:0 !important; }
        .presentation-viewport:has(.contact-reference) { overflow:hidden !important; }
        .presentation-frame:has(.contact-reference) { position:relative !important; inset:auto !important; transform:none !important; }
        
        
        
        
        
        
        
        
        
        
        @keyframes pageTitleRuleReveal {
          from { opacity:0; transform:scaleX(0); }
          to { opacity:1; transform:scaleX(1); }
        }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        .contact-reference-scope label.is-selected { border-color:#b6d746; background:#f8ffe7; color:#17210d; }
        
        
        .contact-reference-scope label.is-selected i { border-color:#eff000; background:#eff000; }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.42rem; }
        #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-field { min-height:2.85rem; border-radius:.35rem; }
        #root .lexo-shell .contact-reference-form-card .contact-reference-offer-form .offer-modal-field .b2b-form-input { min-height:2.75rem; padding-top:.5rem; padding-bottom:.5rem; border-radius:.35rem; }
        #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-message { min-height:5.25rem; }
        #root .lexo-shell .contact-reference-form-card .contact-reference-offer-form .offer-modal-message textarea.b2b-form-input { min-height:5.15rem; padding-bottom:1.25rem; }
        #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-file { min-height:3.2rem; padding-top:.5rem; padding-bottom:.5rem; border-radius:.35rem; }
        #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-submit { min-height:2.8rem; border-radius:.22rem; }
        #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-consent { padding:.05rem 0; }
        #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-security { margin-top:-.1rem; }
        
        
        
        
        
        
        
        
        @media(min-width:1024px) and (max-height:760px){
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-row { gap:.28rem; }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-field { min-height:2.35rem; }
          #root .lexo-shell .contact-reference-form-card .contact-reference-offer-form .offer-modal-field .b2b-form-input { min-height:2.25rem; padding-top:.32rem; padding-bottom:.32rem; }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-message { min-height:4rem; }
          #root .lexo-shell .contact-reference-form-card .contact-reference-offer-form .offer-modal-message textarea.b2b-form-input { min-height:3.9rem; }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-file { min-height:2.65rem; padding-top:.3rem; padding-bottom:.3rem; }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-submit { min-height:2.4rem; }
          
          
          
        }
        @media(max-width:1023px){
          .lexo-shell:has(.contact-reference) .presentation-main,.presentation-viewport:has(.contact-reference) { overflow:visible !important; }
          
          
          
          
          
          
          
          
        }
        @media(max-width:640px){
          #root .lexo-shell:has(.contact-reference) {
            min-height:100dvh !important;
            height:auto !important;
            overflow:visible !important;
            background:#fff !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          #root .contact-reference-form-card .contact-reference-offer-form,
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-row {
            grid-template-columns:1fr !important;
            gap:.55rem !important;
          }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-field {
            min-height:3.35rem !important;
          }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-message {
            min-height:7.1rem !important;
          }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-file {
            min-height:4.2rem !important;
          }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-submit {
            min-height:3.35rem !important;
          }
          
          
          
          
          
          
          
          
          
        }

        
        
        
        @keyframes careerPhotoIn { from { opacity:.45; } to { opacity:1; } }
        
        
        
        
        
        
        
        
        
        .career-reference-roles button.is-active { border-color:#9bc900; box-shadow:inset 3px 0 0 #9bc900; }
        
        .career-reference-roles button.is-active > svg { color:#9bc900; }
        
        
        .career-reference-roles button.is-active i { border-color:#9bc900; background:#9bc900; }
        
        
        
        
        
        
        
        
        
        
        
        
        
        .career-reference-dropdown-trigger .is-placeholder { color:#5e6a76; font-weight:600; }
        
        
        
        
        
        .career-reference-dropdown-menu button.is-selected { background:#eff000; color:#090f15; font-weight:900; }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        @keyframes careerProcessStepIn {
          from { opacity:0; transform:translateY(.85rem); }
          to { opacity:1; transform:translateY(0); }
        }
        @keyframes careerProcessCheckIn {
          0% { opacity:0; transform:translateY(-50%) scale(.3); }
          70% { opacity:1; transform:translateY(-50%) scale(1.18); }
          100% { opacity:1; transform:translateY(-50%) scale(1); }
        }
        @keyframes careerProcessConnectorIn {
          from { opacity:0; transform:translateY(-50%) scaleX(0); }
          to { opacity:1; transform:translateY(-50%) scaleX(1); }
        }
        @keyframes careerProcessConnectorFlow {
          to { background-position:16px 0; }
        }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        /*
         * Mobile home must have exactly one vertical scroll owner.
         * Making both html and body scrollable causes touch gestures to be
         * captured by body while the document itself remains at scrollY 0.
         */
        @media (max-width:1023px) {
          
          
          #root:has(.hero-reference),
          #root .lexo-shell:has(.hero-reference),
          #root .presentation-main:has(.hero-reference),
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference),
          #root .hero-reference {
            height:auto !important;
            max-height:none !important;
            overflow-x:clip !important;
            overflow-y:visible !important;
            touch-action:pan-y !important;
          }
        }
        /*
         * Short desktop/laptop screens use normal document flow.
         * Pages contain more information than can safely fit into one slide;
         * shrinking fixed grid rows caused adjacent sections to overlap.
         */
        @media (min-width:1024px) and (max-height:700px) {
          html,
          body {
            height:auto !important;
            min-height:100% !important;
            max-height:none !important;
            overflow-x:hidden !important;
          }
          html {
            overflow-y:auto !important;
          }
          body {
            overflow-y:visible !important;
          }
          #root,
          #root .lexo-shell {
            height:auto !important;
            min-height:100vh !important;
            max-height:none !important;
            overflow-x:clip !important;
            overflow-y:visible !important;
          }
          #root .presentation-main,
          #root .presentation-viewport,
          #root .presentation-frame,
          #root .presentation-frame.hero-centered-frame,
          #root .presentation-frame:has(.hero-reference),
          #root .presentation-frame:has(.about-reference),
          #root .presentation-frame:has(.projects-reference),
          #root .presentation-frame:has(.project-calculator),
          #root .presentation-frame:has(.career-reference),
          #root .presentation-frame:has(.contact-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
            transform:none !important;
          }
          #root .presentation-main {
            flex:none !important;
            display:block !important;
            padding:0 !important;
          }
          #root .hero-reference,
          #root .about-reference,
          #root .projects-reference,
          #root .project-calculator,
          #root .career-reference,
          #root .contact-reference {
            height:auto !important;
            max-height:none !important;
            overflow:visible !important;
          }
          
          
          
          
          
          
          #root .project-calculator {
            min-height:44rem !important;
          }
          
          
          
          
          
          
          #root .lexo-shell > .story-footer {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            margin:0 !important;
          }
        }
        /*
         * Story navigation is the permanent bottom edge of every page.
         * The shell reserves exactly its height so the final content is not
         * covered, while the footer itself stays pinned to the viewport.
         */
        #root .lexo-shell,
        #root .lexo-shell:has(.hero-reference),
        #root .lexo-shell:has(.about-reference),
        #root .lexo-shell:has(.projects-reference),
        #root .lexo-shell:has(.project-calculator),
          #root .lexo-shell:has(.career-reference),
          #root .lexo-shell:has(.contact-reference) {
          --story-footer-height:clamp(2.5rem,5.8dvh,3.4rem);
          padding-bottom:0 !important;
        }
        #root .lexo-shell > .story-footer,
        #root .lexo-shell:has(.hero-reference) > .story-footer,
        #root .lexo-shell:has(.about-reference) > .story-footer,
        #root .lexo-shell:has(.projects-reference) > .story-footer,
        #root .lexo-shell:has(.project-calculator) > .story-footer,
        #root .lexo-shell:has(.career-reference) > .story-footer,
        #root .lexo-shell:has(.contact-reference) > .story-footer {
          position:fixed !important;
          z-index:120 !important;
          right:0 !important;
          bottom:0 !important;
          left:0 !important;
          width:100% !important;
          min-height:var(--story-footer-height) !important;
          margin:0 !important;
          box-sizing:border-box !important;
        }
        @media (max-width:640px) {
          #root .lexo-shell,
          #root .lexo-shell:has(.hero-reference),
          #root .lexo-shell:has(.about-reference),
          #root .lexo-shell:has(.projects-reference),
          #root .lexo-shell:has(.project-calculator),
          #root .lexo-shell:has(.career-reference),
          #root .lexo-shell:has(.contact-reference) {
            --story-footer-height:calc(clamp(2.8rem,6dvh,3.2rem) + env(safe-area-inset-bottom));
            padding-bottom:0 !important;
          }
        }
        @media (min-width:1024px) and (min-height:701px) {
          #root .presentation-frame {
            overflow:visible !important;
          }
          #root .hero-reference,
          #root .about-reference,
          #root .projects-reference,
          #root .project-calculator,
          #root .career-reference,
          #root .contact-reference {
            height:calc(100% + .65rem) !important;
          }
        }
        
        
        
        @media(max-width:1023px){
          .lexo-shell:has(.career-reference) .presentation-main,.presentation-viewport:has(.career-reference) { overflow:visible !important; }
          
          
          
          
          
          
          
          
          
          
        }
        @media(max-width:640px){
          .lexo-shell:has(.career-reference) {
            padding-bottom:0 !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          .career-reference-roles button.is-active {
            border-color:#9bc900;
            box-shadow:inset 3px 0 0 #9bc900,0 7px 20px rgba(4,13,22,.14);
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }
        
        
        
        
        
        .presentation-frame.page-transition-next > * {
          animation: pageEnterNext .54s cubic-bezier(.22, .75, .2, 1) both;
          will-change: opacity, transform;
        }
        .presentation-frame.page-transition-prev > * {
          animation: pageEnterPrev .54s cubic-bezier(.22, .75, .2, 1) both;
          will-change: opacity, transform;
        }
        @media (prefers-reduced-motion: reduce) {
          .presentation-frame.page-transition-next > *,
          .presentation-frame.page-transition-prev > * {
            animation: none !important;
          }
        }
        
        
        
        
        
        
        
        .presentation-main {
          min-height: 0;
          padding-bottom: calc(1.5rem + env(safe-area-inset-bottom));
        }
        .presentation-frame {
          min-height: 0;
          --slide-scale: 1;
        }
        
        
        
        @keyframes scrollHintFloat {
          0%, 100% { transform: translate(-50%, 0); }
          50% { transform: translate(-50%, .38rem); }
        }
        @keyframes scrollHintPulse {
          0% { opacity: .7; transform: scale(.78); }
          75%, 100% { opacity: 0; transform: scale(1.18); }
        }
        .lexo-light-theme .scroll-more-hint {
          background: rgba(255,255,255,.94);
          color: #b56800;
          border-color: rgba(232,131,0,.68);
          box-shadow: 0 14px 34px rgba(18,33,58,.16), 0 0 0 5px rgba(245,158,11,.08);
        }
        .lexo-light-theme .scroll-more-hint:hover {
          background: #ffbe18;
          color: #090f15;
        }
        @media (prefers-reduced-motion: reduce) {
          
          .presentation-frame.page-transition-next > *,
          .presentation-frame.page-transition-prev > * {
            animation: slideSoft .01ms linear both !important;
          }
        }
        
        @media (min-width: 1024px) {
          .lexo-shell {
            height: 100dvh;
            min-height: 100dvh;
            overflow: hidden;
          }
          .lexo-shell > header,
          .lexo-shell > footer {
            flex: 0 0 auto;
          }
          .lexo-shell > header {
            padding-top: .7rem !important;
            padding-bottom: .7rem !important;
          }
          
          .presentation-main {
            flex: 1 1 auto;
            overflow: hidden;
            padding-top: clamp(.65rem, 1.3vh, 1.2rem) !important;
            padding-bottom: clamp(.65rem, 1.3vh, 1.2rem) !important;
          }
          .presentation-viewport {
            position: relative;
            height: 100%;
            max-height: 100%;
            overflow: hidden;
            padding: 18px !important;
          }
          @media (min-width: 1440px) {
            .presentation-viewport {
              max-width: min(94vw, 104rem) !important;
            }
          }
          .presentation-frame {
            position: absolute;
            left: 50%;
            top: 18px;
            width: calc((100% - 36px) / max(var(--slide-scale), .25));
            max-width: calc((100% - 36px) / max(var(--slide-scale), .25));
            min-height: auto;
            transform: translateX(-50%) scale(var(--slide-scale));
            transform-origin: top center;
            transition: transform .18s ease;
          }
          .presentation-frame.hero-centered-frame {
            top: 50%;
            transform: translate(-50%, -50%) scale(var(--slide-scale));
            transform-origin: center center;
          }
          @media (max-height: 850px) {
            html {
              scrollbar-width: thin;
              scrollbar-color: #f59e0b rgba(18,33,58,.1);
            }
            html::-webkit-scrollbar {
              width: 10px;
            }
            html::-webkit-scrollbar-track {
              background: rgba(18,33,58,.08);
              border-radius: 999px;
            }
            html::-webkit-scrollbar-thumb {
              background: linear-gradient(180deg, #ffbe18, #e88300);
              border: 2px solid transparent;
              border-radius: 999px;
              background-clip: padding-box;
              box-shadow: 0 0 12px rgba(232,131,0,.22);
              transition: box-shadow .2s ease;
            }
            html::-webkit-scrollbar-thumb:hover {
              box-shadow: 0 0 18px rgba(232,131,0,.48);
            }
            .lexo-shell {
              height: auto;
              min-height: 100dvh;
              overflow-x: hidden;
              overflow-y: auto;
              padding-bottom: calc(4.8rem + env(safe-area-inset-bottom));
            }
            .presentation-main {
              align-items: flex-start !important;
              overflow: visible !important;
              padding-top: 1rem !important;
              padding-bottom: 2rem !important;
            }
            .presentation-viewport {
              height: auto;
              max-height: none;
              overflow: visible;
              padding: 18px !important;
            }
            .presentation-frame,
            .presentation-frame.hero-centered-frame {
              position: relative;
              left: auto;
              top: auto;
              width: 100%;
              max-width: none;
              transform: none;
              transform-origin: top center;
              margin: 0 auto;
            }
            .presentation-frame > .slide-panel {
              padding-top: .5rem !important;
              padding-bottom: .5rem !important;
            }
            
            .lexo-shell:has(.hero-grid) {
              height: 100dvh;
              min-height: 100dvh;
              overflow: hidden;
              padding-bottom: 0;
            }
            .presentation-main:has(.hero-grid) {
              align-items: center !important;
              overflow: hidden !important;
              padding-top: clamp(.65rem, 1.3vh, 1.2rem) !important;
              padding-bottom: clamp(.65rem, 1.3vh, 1.2rem) !important;
            }
            .presentation-viewport:has(.hero-grid) {
              position: relative;
              height: 100%;
              max-height: 100%;
              overflow: hidden;
              padding: 18px !important;
            }
            .presentation-frame.hero-centered-frame:has(.hero-grid) {
              position: absolute;
              left: 50%;
              top: 50%;
              width: calc((100% - 36px) / max(var(--slide-scale), .55));
              max-width: calc((100% - 36px) / max(var(--slide-scale), .55));
              transform: translate(-50%, -50%) scale(var(--slide-scale));
              transform-origin: center center;
              margin: 0;
            }
          }
          .lexo-shell:has(.contact-slide) {
            height: auto;
            min-height: 100dvh;
            overflow-x: hidden;
            overflow-y: auto;
          }
          .presentation-main:has(.contact-slide) {
            align-items: flex-start !important;
            overflow: visible !important;
            padding-top: clamp(1.15rem, 2.2vh, 2rem) !important;
            padding-bottom: calc(6rem + env(safe-area-inset-bottom)) !important;
          }
          .presentation-viewport:has(.contact-slide) {
            height: auto;
            max-height: none;
            overflow: visible;
          }
          .presentation-frame:has(.contact-slide) {
            position: relative;
            left: auto;
            top: auto;
            width: min(100%, 78rem);
            max-width: 78rem;
            transform: none;
            transform-origin: top center;
            margin-left: auto;
            margin-right: auto;
          }
          
          
          
          
          
          .lexo-light-theme .hero-cta-secondary {
            background: rgba(255,255,255,.86) !important;
            border-color: rgba(232,131,0,.38) !important;
             color: #090f15 !important;
            box-shadow: 0 12px 30px rgba(18,33,58,.08), inset 0 0 0 1px rgba(255,255,255,.5) !important;
          }
          .lexo-light-theme .hero-cta-secondary:hover {
            background: #ffffff !important;
            border-color: #f59e0b !important;
             color: #090f15 !important;
            box-shadow: 0 10px 24px rgba(18,33,58,.12) !important;
          }
          .presentation-frame > .slide-panel {
            width: 100%;
            max-width: none !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          .presentation-frame > .desktop-secondary-panel.slide-panel {
            width: min(100%, 78rem) !important;
            max-width: 78rem !important;
            margin-left: auto !important;
            margin-right: auto !important;
          }
          
          
          
          
          
          
          
          
          .about-slide .management-member-card .gap-4,
          .about-slide .management-member-card .md\\:gap-5 {
            gap: .75rem !important;
          }
          .about-slide .management-member-card .w-18,
          .about-slide .management-member-card .md\\:w-22 {
            width: 3.15rem !important;
          }
          .about-slide .management-member-card .h-18,
          .about-slide .management-member-card .md\\:h-22 {
            height: 3.15rem !important;
          }
          
          
          
          
          .about-slide .testimonials-block > .grid {
            width: 100%;
            margin-left: auto;
            margin-right: auto;
            gap: clamp(.75rem, 1.2vw, 1rem) !important;
          }
          
          
          
          
          
          
          
          
          
          .about-slide .usp-card .w-10 {
            width: 2.45rem !important;
            height: 2.45rem !important;
            margin-bottom: clamp(1rem, 1.45vh, 1.35rem) !important;
          }
          
          
          
          
          
          
          
          
          .calculator-slide .calc-panel {
            padding: clamp(.55rem, .9vw, .9rem) !important;
            gap: clamp(.32rem, .55vh, .5rem) !important;
          }
          
          
          
          
          
          .calculator-slide .calc-note .text-sm,
          .calculator-slide .calc-note .md\\:text-base {
            font-size: .78rem !important;
          }
          
          
          .sim-header + .relative {
            margin-bottom: clamp(.35rem, .65vh, .55rem) !important;
            flex: 0 0 auto;
          }
          
          
          .sim-week-card .text-4xl,
          .sim-week-card .md\\:text-5xl {
            font-size: clamp(2rem, 4.6vh, 3rem) !important;
          }
          
          .sim-stage-grid > .lg\\:col-span-5,
          .sim-stage-grid > .lg\\:col-span-7 {
            min-height: 0;
            overflow: hidden;
          }
          
          
          
          
          
          
          .simulator-shell > .flex:last-child {
            margin-top: clamp(.35rem, .65vh, .55rem) !important;
            padding-top: clamp(.35rem, .65vh, .55rem) !important;
            flex: 0 0 auto;
          }
          
          
          
          
          
          
          
          
          .presentation-frame:has(.contact-slide) {
            display: flex;
            flex-direction: column;
            gap: clamp(.45rem, .85vh, .75rem);
            align-items: center;
          }
          .presentation-frame:has(.contact-slide) .contact-slide,
          .presentation-frame:has(.contact-slide) .contact-career-slide {
            min-width: 0;
            height: auto;
            padding: 0 !important;
            margin: 0 !important;
            overflow: visible;
          }
          .presentation-frame:has(.contact-slide) .contact-slide {
            width: min(100%, 78rem);
          }
          .presentation-frame:has(.contact-slide) .contact-career-slide {
            width: min(100%, 78rem);
          }
          .presentation-frame:has(.contact-slide) .contact-slide *,
          .presentation-frame:has(.contact-slide) .contact-career-slide * {
            min-width: 0;
          }
          .contact-slide > .grid {
            height: auto;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: clamp(.65rem, 1vw, 1rem) !important;
            align-items: stretch !important;
          }
          
          
          
          
          
          
          .contact-career-slide > .grid {
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            gap: clamp(.75rem, 1.15vw, 1.1rem) !important;
            align-items: stretch !important;
          }
          .contact-career-slide > .grid > .lg\\:col-span-5,
          .contact-career-slide > .grid > .lg\\:col-span-7 {
            grid-column: auto / span 1 !important;
          }
          .contact-career-slide .grid.grid-cols-1.md\\:grid-cols-3 {
            align-items: start !important;
            gap: clamp(.55rem, .85vw, .8rem) !important;
          }
          .contact-career-slide .lg\\:col-span-7 {
            display: flex !important;
            flex-direction: column !important;
            gap: clamp(.75rem, 1.15vh, 1rem) !important;
          }
          .contact-career-slide > .grid > .surface-warm {
            height: 100% !important;
            min-height: 100% !important;
          }
          .contact-career-slide > .grid > .surface-warm > .relative {
            height: 100% !important;
            justify-content: center !important;
          }
          .contact-career-slide > .grid > .surface-warm > .relative > div,
          .contact-career-slide > .grid > .surface-warm > .relative > div > div {
            height: 100% !important;
          }
          .contact-career-slide > .grid > .surface-warm > .relative > div > div {
            display: flex !important;
            flex-direction: column !important;
            justify-content: center !important;
          }
          
          
          
          
          
          
          
          
          .contact-career-slide .surface-warm .flex.gap-3 {
            padding: clamp(.55rem, .75vw, .72rem) !important;
          }
          
          
          
          
          
          
        }
        @media (max-width: 1023px) {
          
          
          .lexo-shell {
            min-height: 100dvh;
            overflow-x: hidden;
            padding-bottom: calc(5.8rem + env(safe-area-inset-bottom));
          }
          
          
          .presentation-main {
            align-items: flex-start !important;
            overflow: visible !important;
            padding-top: 1rem !important;
            padding-bottom: 6rem !important;
          }
          .presentation-frame > .slide-panel {
            overflow: visible;
          }
          .presentation-frame {
            --slide-scale: 1 !important;
          }
          
          
          
          
          .contact-career-slide .surface-warm > .relative,
          .contact-career-slide .surface-warm > .relative > div,
          .contact-career-slide .surface-warm > .relative > div > div {
            height: auto !important;
          }
          .contact-career-slide .surface-warm > .relative {
            justify-content: flex-start !important;
          }
          
          
          
          
          
          
          
          
          
        }
        @media (max-width: 640px) {
          .lexo-shell {
            padding-bottom: calc(8.8rem + env(safe-area-inset-bottom));
          }
          
          
          .lexo-shell > header {
            padding: .65rem 1rem !important;
          }
          .lexo-shell > header > div {
            gap: .7rem;
          }
          .lexo-shell > header img {
            width: 2rem !important;
            height: 2rem !important;
          }
          .lexo-shell > header .cursor-pointer {
            gap: .55rem !important;
            min-width: 0;
          }
          .lexo-shell > header .cursor-pointer span.text-lg {
            font-size: .98rem !important;
            line-height: 1 !important;
          }
          .lexo-shell > header .cursor-pointer span.block {
            max-width: 5.3rem;
            font-size: .52rem !important;
            line-height: 1.15 !important;
            letter-spacing: .08em !important;
          }
          .lexo-shell > header .flex.items-center.space-x-3:last-child {
            gap: .45rem !important;
            flex-shrink: 0;
          }
          
          
          .lexo-light-theme .theme-toggle-thumb {
            transform: translateX(0) !important;
          }
          
          
          
          
          
          .presentation-main {
            padding: 1.1rem 1rem 5.5rem !important;
          }
          .presentation-viewport,
          .presentation-frame {
            width: 100% !important;
            max-width: 100% !important;
            overflow: visible !important;
          }
          .presentation-frame {
            transform: none !important;
          }
          .presentation-frame > .slide-panel {
            width: 100%;
            gap: 1rem !important;
            padding-top: .8rem !important;
            padding-bottom: .8rem !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          .calculator-slide .calc-panel {
            padding: 1rem !important;
            gap: .9rem !important;
            margin: 0 !important;
          }
          .calculator-slide .calc-panel h3 {
            font-size: .98rem !important;
            line-height: 1.18 !important;
            letter-spacing: .04em !important;
            margin: 0 !important;
          }
          
          
          
          
          
          .calculator-slide .calc-panel .space-y-2 {
            gap: .42rem !important;
          }
          .calculator-slide .calc-panel .space-y-1\\/**/.5 {
            gap: .38rem !important;
          }
          .calculator-slide .calc-panel .grid.grid-cols-3 button,
          .calculator-slide .calc-panel .grid.grid-cols-2 button {
            min-height: 2rem !important;
            padding-top: .35rem !important;
            padding-bottom: .35rem !important;
            font-size: .62rem !important;
          }
          .calculator-slide .calc-panel .grid.grid-cols-2.gap-3 {
            gap: .6rem !important;
          }
          
          .calculator-slide .calc-results-card .text-\\[9px\\] {
            font-size: .52rem !important;
            line-height: 1.15 !important;
          }
          
          
          .calculator-slide .calc-note .text-sm,
          .calculator-slide .calc-note .md\\:text-base {
            font-size: .82rem !important;
            line-height: 1.25 !important;
          }
          
          
          
          
          
          
          
          
          .simulator-shell .sim-week-card .text-4xl,
          .simulator-shell .sim-week-card .md\\:text-5xl,
          .simulator-shell .sim-week-card .text-5xl {
            font-size: 1.85rem !important;
            line-height: 1 !important;
          }
          .simulator-shell .sim-week-card .text-\\[9px\\] {
            font-size: .48rem !important;
            letter-spacing: .08em !important;
          }
          .simulator-shell .relative.w-full.h-1\\/**/.5 {
            margin-bottom: .8rem !important;
          }
          .simulator-shell .grid,
          .simulator-shell .lg\\:grid-cols-12 {
            gap: .9rem !important;
          }
          
          .simulator-shell .sim-stage-grid > .lg\\:col-span-5 {
            display: block !important;
          }
          .simulator-shell .sim-stage-grid > .lg\\:col-span-5 > .space-y-1\\/**/.5 {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: .48rem !important;
          }
          
          
          
          .simulator-shell .stage-button .text-\\[8px\\],
          .simulator-shell .stage-button-active .text-\\[8px\\],
          .simulator-shell .stage-button-finished .text-\\[8px\\] {
            font-size: .42rem !important;
            margin-bottom: .18rem !important;
          }
          
          
          
          
          
          
          .simulator-shell .sim-counter-card .text-xl,
          .simulator-shell .sim-counter-card .md\\:text-2xl {
            font-size: 1.05rem !important;
            line-height: 1.1 !important;
          }
          
          
          
          .simulator-shell > .flex:last-child {
            margin-top: .75rem !important;
            padding-top: .75rem !important;
            gap: .55rem !important;
          }
          .simulator-shell > .flex:last-child > .flex:first-child {
            width: 100%;
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: .5rem !important;
          }
          .simulator-shell > .flex:last-child > .flex:first-child button {
            min-height: 2.75rem;
            padding: .72rem .8rem !important;
            font-size: .68rem !important;
            line-height: 1 !important;
            letter-spacing: .04em !important;
            white-space: nowrap !important;
          }
          .simulator-shell > .flex:last-child > .flex:first-child button:first-child {
            min-width: 0;
          }
          
          
          
          
          
          .contact-slide > .grid,
          .contact-career-slide > .grid {
            gap: 1rem !important;
          }
          
          
          
          
          
          
          
          
        }
        
        
        
        @keyframes miniProjectIn { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
        @keyframes miniProjectPulse { 0%, 100% { box-shadow: 0 0 0 rgba(250,204,21,0), inset 0 1px 0 rgba(255,255,255,.06); } 50% { box-shadow: 0 0 22px rgba(250,204,21,.22), inset 0 1px 0 rgba(255,255,255,.08); } }
        
        
        
        
        
        
        
        
        
        
        
        
        .lexo-shell {
          background: #090f15;
        }
        .light-blocks-shell .slide-panel .bg-zinc-900,
        .light-blocks-shell .slide-panel .bg-zinc-900\\/30,
        .light-blocks-shell .slide-panel .bg-zinc-900\\/60,
        .light-blocks-shell .slide-panel .bg-zinc-900\\/90,
        .light-blocks-shell .slide-panel .bg-zinc-900\\/95,
        .light-blocks-shell .slide-panel .bg-zinc-950,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/40,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/60,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/70,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/80,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/90 {
          background-color: #f3f4f6 !important;
          backdrop-filter: none;
        }
        .light-blocks-shell .slide-panel .border-zinc-800,
        .light-blocks-shell .slide-panel .border-zinc-800\\/60,
        .light-blocks-shell .slide-panel .border-zinc-800\\/80,
        .light-blocks-shell .slide-panel .border-zinc-850 {
          border-color: rgba(24, 24, 27, .12) !important;
        }
        .light-blocks-shell .slide-panel .text-white,
        .light-blocks-shell .slide-panel .text-zinc-100,
        .light-blocks-shell .slide-panel .text-zinc-200,
        .light-blocks-shell .slide-panel .text-zinc-300 {
          color: #090f15 !important;
        }
        .light-blocks-shell .slide-panel .text-zinc-400,
        .light-blocks-shell .slide-panel .text-zinc-500,
        .light-blocks-shell .slide-panel .text-zinc-600 {
          color: #5f6673 !important;
        }
        .light-blocks-shell .slide-panel .text-lime-400,
        .light-blocks-shell .slide-panel .text-yellow-400,
        .light-blocks-shell .slide-panel .text-amber-300,
        .light-blocks-shell .slide-panel .text-\\[\\#facc15\\] {
          color: #b98205 !important;
        }
        .light-blocks-shell .slide-panel input,
        .light-blocks-shell .slide-panel textarea,
        .light-blocks-shell .slide-panel select {
          background: #ffffff !important;
          color: #090f15 !important;
          border-color: rgba(24, 24, 27, .14) !important;
        }
        .light-blocks-shell .slide-panel input::placeholder,
        .light-blocks-shell .slide-panel textarea::placeholder {
          color: #7b8490 !important;
        }
        .light-blocks-shell .slide-panel .shadow-2xl,
        .light-blocks-shell .slide-panel .shadow-xl,
        .light-blocks-shell .slide-panel .shadow-lg {
          box-shadow: 0 24px 58px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.28) !important;
        }
        .hero-warm-bg {
          background:
            radial-gradient(circle at 20% 0%, rgba(250,204,21,.13), transparent 30%),
            radial-gradient(circle at 80% 12%, rgba(245,158,11,.09), transparent 25%),
            linear-gradient(135deg, rgba(255,255,255,.04) 0 1px, transparent 1px 18px),
            #090f15 !important;
        }
        
        
        
        
        @keyframes heroCornerRays {
          0% { opacity: 0; transform: scale(.92) rotate(-16deg); }
          16% { opacity: .38; }
          62% { opacity: .34; }
          84% { opacity: .18; }
          100% { opacity: 0; transform: scale(1.1) rotate(74deg); }
        }
        
        .hover\\:bg-lime-300:hover { background-color: #fde047 !important; }
        
        
        
        .hover\\:border-lime-400:hover { border-color: #facc15 !important; }
        .hover\\:text-lime-400:hover { color: #facc15 !important; }
        
        
        .bg-zinc-950 { background-color: #090f15 !important; }
        .bg-zinc-900 { background-color: #151d24 !important; }
        
        
        
        
        
        
        
        .lexo-light-theme .salad-accent {
          color: #5f8f00 !important;
          border-color: rgba(184,126,0,.34) !important;
          background: rgba(255,255,255,.88) !important;
          box-shadow: 0 10px 26px rgba(18,33,58,.08), inset 0 0 0 1px rgba(255,190,24,.22) !important;
          backdrop-filter: blur(10px);
        }
        .lexo-light-theme .salad-dot {
          background: #9fd414 !important;
          box-shadow: 0 0 0 5px rgba(159,212,20,.16) !important;
        }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        .light-blocks-shell .slide-panel .bg-zinc-950,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/40,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/60,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/70,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/80,
        .light-blocks-shell .slide-panel .bg-zinc-950\\/90,
        .light-blocks-shell .slide-panel .bg-zinc-900,
        .light-blocks-shell .slide-panel .bg-zinc-900\\/30,
        .light-blocks-shell .slide-panel .bg-zinc-900\\/60,
        .light-blocks-shell .slide-panel .bg-zinc-900\\/90,
        .light-blocks-shell .slide-panel .bg-zinc-900\\/95,
        .light-blocks-shell .slide-panel .bg-zinc-850,
        .light-blocks-shell .slide-panel .bg-zinc-800,
        .light-blocks-shell .slide-panel .bg-zinc-700 {
          background-color: #f3f4f6 !important;
        }
        .light-blocks-shell .slide-panel .border-zinc-850,
        .light-blocks-shell .slide-panel .border-zinc-800,
        .light-blocks-shell .slide-panel .border-zinc-800\\/60,
        .light-blocks-shell .slide-panel .border-zinc-800\\/80,
        .light-blocks-shell .slide-panel .border-zinc-700 {
          border-color: rgba(24,24,27,.14) !important;
        }
        .light-blocks-shell .slide-panel .text-white,
        .light-blocks-shell .slide-panel .text-zinc-50,
        .light-blocks-shell .slide-panel .text-zinc-100,
        .light-blocks-shell .slide-panel .text-zinc-200,
        .light-blocks-shell .slide-panel .text-zinc-300,
        .light-blocks-shell .slide-panel .text-zinc-950 {
          color: #090f15 !important;
        }
        .light-blocks-shell .slide-panel .text-zinc-400,
        .light-blocks-shell .slide-panel .text-zinc-500,
        .light-blocks-shell .slide-panel .text-zinc-600,
        .light-blocks-shell .slide-panel .text-zinc-700,
        .light-blocks-shell .slide-panel .text-zinc-800 {
          color: #4b5563 !important;
        }
        .light-blocks-shell .slide-panel .text-lime-400,
        .light-blocks-shell .slide-panel .text-lime-600,
        .light-blocks-shell .slide-panel .text-yellow-400,
        .light-blocks-shell .slide-panel .text-yellow-600,
        .light-blocks-shell .slide-panel .text-amber-300,
        .light-blocks-shell .slide-panel .text-amber-600,
        .light-blocks-shell .slide-panel .text-\\[\\#facc15\\] {
          color: #a16207 !important;
        }
        .light-blocks-shell .slide-panel .bg-lime-400,
        .light-blocks-shell .slide-panel .bg-yellow-400,
        .light-blocks-shell .slide-panel .bg-\\[\\#facc15\\],
        .light-blocks-shell .slide-panel .toggle-button-active,
        .light-blocks-shell .slide-panel .stage-button-active {
          background-color: #facc15 !important;
          color: #090f15 !important;
        }
        .light-blocks-shell .slide-panel .bg-lime-400\\/10,
        .light-blocks-shell .slide-panel .bg-yellow-400\\/10 {
          background-color: rgba(250,204,21,.16) !important;
        }
        .light-blocks-shell .slide-panel .testimonial-dark {
          background-color: #09090b !important;
          border-color: rgba(63,63,70,.95) !important;
          color: #ffffff !important;
        }
        .light-blocks-shell .slide-panel .testimonial-dark h2,
        .light-blocks-shell .slide-panel .testimonial-dark h3,
        .light-blocks-shell .slide-panel .testimonial-dark h4 {
          color: #ffffff !important;
        }
        .light-blocks-shell .slide-panel .testimonial-dark p {
          color: #d4d4d8 !important;
        }
        .light-blocks-shell .slide-panel .testimonial-dark span {
          color: #a3e635 !important;
        }
        .light-blocks-shell .slide-panel .section-heading-dark {
          background: transparent !important;
          border: 0 !important;
          box-shadow: none !important;
        }
        .light-blocks-shell .slide-panel .section-heading-dark h2 {
          color: #ffffff !important;
        }
        .light-blocks-shell .slide-panel .section-heading-dark span {
          color: #a16207 !important;
        }
        .light-blocks-shell .slide-panel .toggle-button-active {
          background: #facc15 !important;
          color: #090f15 !important;
          border-color: #facc15 !important;
          box-shadow: inset 0 0 0 1px rgba(23,19,13,.18), 0 8px 18px rgba(250,204,21,.24) !important;
        }
        .light-blocks-shell .slide-panel .toggle-button-active + button,
        .light-blocks-shell .slide-panel button.text-zinc-400 {
          color: #374151 !important;
        }
        .light-blocks-shell .slide-panel .flex.bg-zinc-950 button:not(.toggle-button-active) {
          background: #ffffff !important;
          color: #374151 !important;
        }
        .light-blocks-shell .slide-panel .flex.bg-zinc-950 {
          background: #e5e7eb !important;
          border-color: rgba(24,24,27,.16) !important;
        }
        .light-blocks-shell .slide-panel .hover\\:bg-zinc-900:hover,
        .light-blocks-shell .slide-panel .hover\\:bg-zinc-850:hover,
        .light-blocks-shell .slide-panel .hover\\:bg-zinc-800:hover,
        .light-blocks-shell .slide-panel .hover\\:bg-zinc-700:hover {
          background-color: #e5e7eb !important;
        }
        .light-blocks-shell .slide-panel .hover\\:text-white:hover,
        .light-blocks-shell .slide-panel .hover\\:text-zinc-950:hover,
        .light-blocks-shell .slide-panel .group:hover .group-hover\\:text-lime-400,
        .light-blocks-shell .slide-panel .group:hover .group-hover\\:text-lime-100,
        .light-blocks-shell .slide-panel .group:hover .group-hover\\:text-\\[\\#facc15\\] {
          color: #090f15 !important;
        }
        .light-blocks-shell .slide-panel .hover\\:border-lime-400:hover,
        .light-blocks-shell .slide-panel .hover\\:border-zinc-500:hover {
          border-color: rgba(250,204,21,.85) !important;
        }
        .light-blocks-shell .slide-panel > .text-center > h2.text-white,
        .light-blocks-shell .slide-panel > .text-center > h3.text-white,
        .light-blocks-shell .slide-panel > .flex > div > h2.text-white {
          color: #ffffff !important;
        }
        .light-blocks-shell .slide-panel .bg-zinc-900 h1,
        .light-blocks-shell .slide-panel .bg-zinc-900 h2,
        .light-blocks-shell .slide-panel .bg-zinc-900 h3,
        .light-blocks-shell .slide-panel .bg-zinc-900 h4,
        .light-blocks-shell .slide-panel .bg-zinc-950 h1,
        .light-blocks-shell .slide-panel .bg-zinc-950 h2,
        .light-blocks-shell .slide-panel .bg-zinc-950 h3,
        .light-blocks-shell .slide-panel .bg-zinc-950 h4,
        .light-blocks-shell .slide-panel .bg-zinc-800 h1,
        .light-blocks-shell .slide-panel .bg-zinc-800 h2,
        .light-blocks-shell .slide-panel .bg-zinc-800 h3,
        .light-blocks-shell .slide-panel .bg-zinc-800 h4 {
          color: #090f15 !important;
        }
        .light-blocks-shell .slide-panel strong {
          color: #090f15 !important;
        }
        .light-blocks-shell .slide-panel input,
        .light-blocks-shell .slide-panel textarea,
        .light-blocks-shell .slide-panel select {
          background-color: #ffffff !important;
          color: #090f15 !important;
          border-color: rgba(24,24,27,.16) !important;
        }
        .light-blocks-shell .slide-panel .calc-toggle-group {
          background: #d1d5db !important;
          border: 1px solid rgba(24,24,27,.2) !important;
          padding: 4px !important;
        }
        .light-blocks-shell .slide-panel .calc-toggle-group .calc-toggle-option,
        .light-blocks-shell .slide-panel .calc-toggle-group .calc-toggle-option-active {
          min-height: 34px !important;
          opacity: 1 !important;
          color: #090f15 !important;
          text-shadow: none !important;
        }
        .light-blocks-shell .slide-panel .calc-toggle-group .calc-toggle-option {
          background: #ffffff !important;
          border: 1px solid rgba(24,24,27,.12) !important;
        }
        .light-blocks-shell .slide-panel .calc-toggle-group .calc-toggle-option-active {
          background: #facc15 !important;
          border: 1px solid #c89200 !important;
          box-shadow: inset 0 0 0 1px rgba(23,19,13,.16), 0 6px 14px rgba(250,204,21,.25) !important;
        }
        
        
        
        
        
        .project-map-compact .relative.w-full > svg {
          width: 100% !important;
          max-width: none !important;
          min-height: 150px !important;
        }
        .project-map-compact .relative.w-full {
          background: #090f15 !important;
          padding-top: .25rem !important;
          padding-bottom: .25rem !important;
        }
        
        
        .lexo-light-theme {
          --lexo-navy: #090f15;
          --lexo-orange: #f59e0b;
          --lexo-orange-deep: #e88300;
          --lexo-card: #eef3f9;
          --lexo-border: #d7e1ec;
          background: #f8fafc !important;
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme.hero-warm-bg,
        .lexo-light-theme.light-blocks-shell {
          background:
            linear-gradient(180deg, #ffffff 0%, #f7fafc 44%, #eef3f9 100%) !important;
        }
        .lexo-light-theme.hero-page-grid::before {
          background:
            linear-gradient(rgba(232,131,0,.16) 1px, transparent 1px),
            linear-gradient(90deg, rgba(18,33,58,.09) 1px, transparent 1px) !important;
          background-size: 48px 48px !important;
          opacity: .95 !important;
        }
        .lexo-light-theme header {
          background: rgba(255,255,255,.94) !important;
          border-color: var(--lexo-border) !important;
          box-shadow: 0 14px 36px rgba(18,33,58,.08) !important;
        }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        .lexo-light-theme .mobile-menu-panel {
          background: rgba(255,255,255,.96) !important;
          border-color: rgba(18,33,58,.12) !important;
          box-shadow: 0 22px 48px rgba(18,33,58,.14) !important;
        }
        .lexo-light-theme .mobile-menu-button {
          background: #f8fafc !important;
          border-color: rgba(18,33,58,.12) !important;
          color: var(--lexo-navy) !important;
          box-shadow: 0 8px 20px rgba(18,33,58,.06) !important;
        }
        .lexo-light-theme .mobile-menu-button:hover {
          transform: translateY(-1px);
          background: #fffaf0 !important;
          border-color: rgba(232,131,0,.36) !important;
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .mobile-menu-button-active {
          background: linear-gradient(135deg, #ffcf22 0%, #f59e0b 100%) !important;
          border-color: rgba(184,101,0,.42) !important;
          color: #090f15 !important;
          box-shadow: 0 14px 28px rgba(245,158,11,.2) !important;
        }
        .lexo-light-theme .mobile-menu-progress {
          background: rgba(18,33,58,.1);
        }
        .lexo-light-theme .mobile-menu-cta {
          background: #090f15 !important;
          color: #ffffff !important;
        }
        .lexo-light-theme .mobile-menu-cta,
        .lexo-light-theme .mobile-menu-cta * {
          color: #ffffff !important;
        }
        .lexo-light-theme .mobile-menu-toggle {
          background: #ffffff !important;
          border-color: rgba(18,33,58,.18) !important;
          color: var(--lexo-navy) !important;
          box-shadow: 0 10px 24px rgba(18,33,58,.1) !important;
        }
        .lexo-light-theme .mobile-menu-toggle:hover {
          border-color: rgba(232,131,0,.42) !important;
          color: var(--lexo-orange-deep) !important;
          background: #fff8e7 !important;
        }
        .lexo-light-theme header nav,
        .lexo-light-theme .bg-zinc-950,
        .lexo-light-theme .bg-zinc-950\/40,
        .lexo-light-theme .bg-zinc-950\/60,
        .lexo-light-theme .bg-zinc-950\/70,
        .lexo-light-theme .bg-zinc-950\/80,
        .lexo-light-theme .bg-zinc-950\/90,
        .lexo-light-theme .bg-zinc-900,
        .lexo-light-theme .bg-zinc-900\/40,
        .lexo-light-theme .bg-zinc-900\/60,
        .lexo-light-theme .bg-zinc-900\/90,
        .lexo-light-theme .bg-zinc-800,
        .lexo-light-theme .bg-zinc-850,
        .lexo-light-theme .surface-warm,
        .lexo-light-theme .surface-warm-soft {
          background: #ffffff !important;
          border-color: var(--lexo-border) !important;
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .surface-warm-soft,
        .lexo-light-theme .project-mini-card,
        .lexo-light-theme .stage-button,
        .lexo-light-theme .stage-button-finished {
          background: var(--lexo-card) !important;
          border-color: var(--lexo-border) !important;
        }
        .lexo-light-theme .project-mini-card:hover {
          background: #ffffff !important;
          border-color: rgba(232,131,0,.44) !important;
          box-shadow: 0 14px 30px rgba(18,33,58,.12) !important;
        }
        .lexo-light-theme .project-mini-card-active {
          background: #ffffff !important;
          border-color: rgba(232,131,0,.66) !important;
          box-shadow: 0 0 0 1px rgba(232,131,0,.18), 0 14px 30px rgba(18,33,58,.1) !important;
        }
        .lexo-light-theme .project-slider-dot {
          background: #d6dee8 !important;
          border-color: rgba(18,33,58,.18) !important;
          box-shadow: 0 3px 10px rgba(18,33,58,.1) !important;
        }
        .lexo-light-theme .project-slider-dot:hover {
          background: #c4cfdd !important;
          border-color: rgba(232,131,0,.36) !important;
        }
        .lexo-light-theme .project-slider-dot-active {
          background: #f59e0b !important;
          border-color: rgba(184,101,0,.45) !important;
          box-shadow: 0 0 14px rgba(245,158,11,.26) !important;
        }
        .lexo-light-theme .map-project-card-highlight {
          border-color: rgba(232,131,0,.7) !important;
          box-shadow: 0 0 0 1px rgba(232,131,0,.42), 0 12px 26px rgba(232,131,0,.13) !important;
          transform: translateY(-1px);
        }
        .lexo-light-theme .project-mini-card .mini-project-power {
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .project-mini-card .mini-project-title {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .project-mini-card .mini-project-tech {
          color: #64748b !important;
        }
        .lexo-light-theme .surface-yellow-clean,
        .lexo-light-theme .stage-button-active,
        .lexo-light-theme .toggle-button-active,
        .lexo-light-theme .bg-lime-400,
        .lexo-light-theme .bg-yellow-400 {
          background: linear-gradient(135deg, #ffbe18 0%, var(--lexo-orange) 48%, var(--lexo-orange-deep) 100%) !important;
          border-color: rgba(232,131,0,.42) !important;
          color: #ffffff !important;
          box-shadow: 0 16px 34px rgba(232,131,0,.22) !important;
        }
        .lexo-light-theme .text-white,
        .lexo-light-theme .text-zinc-100,
        .lexo-light-theme .text-zinc-200,
        .lexo-light-theme .text-zinc-300,
        .lexo-light-theme .text-zinc-950,
        .lexo-light-theme h1,
        .lexo-light-theme h2,
        .lexo-light-theme h3,
        .lexo-light-theme h4,
        .lexo-light-theme strong {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .text-zinc-400,
        .lexo-light-theme .text-zinc-500,
        .lexo-light-theme .text-zinc-600,
        .lexo-light-theme p {
          color: #475569 !important;
        }
        .lexo-light-theme .text-lime-400,
        .lexo-light-theme .text-yellow-400,
        .lexo-light-theme .text-amber-300,
        .lexo-light-theme .text-amber-600,
        .lexo-light-theme .text-\\[\\#facc15\\] {
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .border-zinc-800,
        .lexo-light-theme .border-zinc-700,
        .lexo-light-theme .border-zinc-200,
        .lexo-light-theme .divide-zinc-800 > :not([hidden]) ~ :not([hidden]) {
          border-color: var(--lexo-border) !important;
        }
        .lexo-light-theme input,
        .lexo-light-theme textarea,
        .lexo-light-theme select {
          background: #ffffff !important;
          border-color: var(--lexo-border) !important;
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme input:focus,
        .lexo-light-theme textarea:focus,
        .lexo-light-theme select:focus {
          border-color: var(--lexo-orange) !important;
          box-shadow: 0 0 0 3px rgba(245,158,11,.18) !important;
        }
        .lexo-light-theme .hero-grid .border,
        .lexo-light-theme .rounded-\\[2rem\\] {
          border-color: rgba(245,158,11,.24) !important;
        }
        .lexo-light-theme .hero-grid .bg-zinc-900,
        .lexo-light-theme .hero-grid .bg-zinc-800 {
          background: linear-gradient(145deg, #eef3f9, #ffffff) !important;
        }
        .lexo-light-theme .hero-panel-mockup {
          background:
            linear-gradient(135deg, rgba(18,33,58,.05) 0 1px, transparent 1px 16px),
            linear-gradient(145deg, #ffffff 0%, #f1f6fb 68%, #e6eef7 100%) !important;
          border: 1px solid rgba(245,158,11,.34) !important;
          box-shadow: 0 28px 70px rgba(18,33,58,.14), 0 0 0 1px rgba(255,255,255,.85) inset !important;
        }
        .lexo-light-theme .hero-panel-mockup > .absolute.inset-0 {
          background:
            radial-gradient(circle at 18% 12%, rgba(255,190,24,.22), transparent 34%),
            linear-gradient(145deg, rgba(255,255,255,.94), rgba(238,243,249,.82)) !important;
          opacity: 1 !important;
        }
        .lexo-light-theme .hero-panel-grid {
          filter: drop-shadow(0 16px 26px rgba(18,33,58,.12));
        }
        .lexo-light-theme .hero-panel-cell {
          background: linear-gradient(180deg, #ffffff 0%, #f7fafc 100%) !important;
          border-color: rgba(245,158,11,.24) !important;
          box-shadow: inset 0 0 0 1px rgba(18,33,58,.04), 0 6px 12px rgba(18,33,58,.06) !important;
        }
        .lexo-light-theme .hero-panel-cell span {
          background: #f59e0b !important;
          box-shadow: 0 0 14px rgba(245,158,11,.55) !important;
        }
        .lexo-light-theme .hero-safety-badge {
          background: rgba(255,255,255,.96) !important;
          border: 1px solid rgba(215,225,236,.9) !important;
          box-shadow: 0 18px 46px rgba(18,33,58,.16) !important;
        }
        .lexo-light-theme .hero-safety-badge .dark-check {
          background: linear-gradient(135deg, #ffbe18, #e88300) !important;
          border-color: rgba(232,131,0,.38) !important;
          color: #ffffff !important;
        }
        .lexo-light-theme .hero-safety-badge p:first-child {
          color: #090f15 !important;
        }
        .lexo-light-theme .hero-safety-badge p:last-child {
          color: #64748b !important;
        }
        .lexo-light-theme .hero-opening-beam {
          mix-blend-mode: multiply !important;
          background:
            radial-gradient(circle at 2% 96%, rgba(255,183,24,.38) 0 5%, rgba(245,158,11,.18) 13%, transparent 31%),
            radial-gradient(circle at 27% 76%, rgba(255,199,64,.22) 0 2.4%, rgba(245,158,11,.09) 6%, transparent 10%),
            conic-gradient(from 18deg at 0% 100%,
              transparent 0deg,
              rgba(245,158,11,.06) 7deg,
              rgba(245,158,11,.22) 10deg,
              rgba(255,190,24,.12) 13deg,
              transparent 19deg,
              transparent 29deg,
              rgba(232,131,0,.16) 32deg,
              rgba(255,190,24,.10) 35deg,
              transparent 42deg,
              transparent 360deg) !important;
          animation: orangeRaySweep 3.4s ease-out .12s both !important;
        }
        @keyframes orangeRaySweep {
          0% { opacity: 0; transform: scale(.94) rotate(-13deg); filter: blur(10px); }
          18% { opacity: .62; filter: blur(2px); }
          58% { opacity: .42; }
          86% { opacity: .12; }
          100% { opacity: 0; transform: scale(1.08) rotate(62deg); filter: blur(0); }
        }
        .lexo-light-theme .section-heading-dark {
          background: transparent !important;
          border: 0 !important;
          box-shadow: none !important;
        }
        .lexo-light-theme .section-heading-dark h2,
        .lexo-light-theme.light-blocks-shell .slide-panel .section-heading-dark h2,
        .lexo-light-theme.light-blocks-shell .slide-panel .section-heading-dark h2.text-white {
          color: var(--lexo-navy) !important;
          text-shadow: none !important;
        }
        .lexo-light-theme .section-heading-dark span,
        .lexo-light-theme.light-blocks-shell .slide-panel .section-heading-dark span {
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .lexo-badge,
        .lexo-light-theme .card-section-badge {
          background: rgba(255,248,223,.82) !important;
          border-color: rgba(232,131,0,.24) !important;
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .card-section-title {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme.light-blocks-shell .slide-panel > .text-center > h2.text-white,
        .lexo-light-theme.light-blocks-shell .slide-panel > .text-center > h3.text-white,
        .lexo-light-theme.light-blocks-shell .slide-panel > .flex > div > h2.text-white {
          color: var(--lexo-navy) !important;
          text-shadow: none !important;
        }
        .lexo-light-theme .testimonial-dark h2,
        .lexo-light-theme .testimonial-dark h3 {
          color: #ffffff !important;
        }
        .lexo-light-theme .sim-status-card,
        .lexo-light-theme .sim-counter-grid {
          background: #ffffff !important;
          border-color: rgba(18,33,58,.12) !important;
          box-shadow: 0 14px 30px rgba(18,33,58,.08) !important;
        }
        .lexo-light-theme .sim-status-card > span {
          background: rgba(245,158,11,.14) !important;
          border-color: rgba(232,131,0,.28) !important;
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .sim-status-card h3 {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .sim-status-card p,
        .lexo-light-theme .sim-week-card .text-zinc-500 {
          color: #475569 !important;
        }
        .lexo-light-theme .sim-week-card {
          background: linear-gradient(135deg, #ffffff, #fff7e6) !important;
          border-color: rgba(232,131,0,.34) !important;
          box-shadow: 0 18px 42px rgba(232,131,0,.14) !important;
        }
        .lexo-light-theme .sim-week-card .text-lime-400 {
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .sim-counter-card {
          background: #f8fafc !important;
          border-color: rgba(18,33,58,.12) !important;
        }
        .lexo-light-theme .sim-counter-card .text-white {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .sim-counter-card .text-zinc-500,
        .lexo-light-theme .sim-counter-card .text-zinc-600 {
          color: #64748b !important;
        }
        .lexo-light-theme .hover-lift:hover {
          box-shadow: 0 18px 45px rgba(18,33,58,.12), 0 0 28px rgba(245,158,11,.18) !important;
        }
        
        .lexo-light-theme .theme-toggle-btn {
          background: #ffffff !important;
          border-color: rgba(232,131,0,.38) !important;
          color: var(--lexo-navy) !important;
          box-shadow: inset 0 0 0 1px rgba(18,33,58,.04), 0 10px 24px rgba(18,33,58,.1);
        }
        
        .lexo-light-theme .theme-toggle-thumb {
          transform: translateX(0);
        }
        
        
        
        .lexo-light-theme .theme-toggle-sun {
          color: #090f15 !important;
        }
        .lexo-light-theme .theme-toggle-moon {
          color: #64748b !important;
        }
        
        
        .lexo-light-theme .language-option {
          color: #f8fafc !important;
        }
        
        .lexo-light-theme .language-option:hover {
          background: #facc15 !important;
          color: #090f15 !important;
        }
        
        .lexo-light-theme .language-option-active {
          background: #facc15 !important;
          color: #090f15 !important;
        }
        
        .lexo-light-theme .language-trigger {
          background: rgba(255,255,255,.86) !important;
          border-color: rgba(18,33,58,.14) !important;
          color: var(--lexo-navy) !important;
          box-shadow: 0 10px 24px rgba(18,33,58,.08) !important;
        }
        .lexo-light-theme .language-menu {
          background: rgba(255,255,255,.96) !important;
          border-color: rgba(18,33,58,.14) !important;
          box-shadow: 0 18px 45px rgba(18,33,58,.14) !important;
        }
        .lexo-light-theme .language-option {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .language-option:hover {
          background: rgba(255,190,24,.2) !important;
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .language-option-active {
          background: linear-gradient(135deg, #ffbe18, #e88300) !important;
          color: var(--lexo-navy) !important;
        }
        
        
        
        
        .lexo-light-theme .main-nav-item {
          color: #475569 !important;
        }
        .lexo-light-theme .main-nav-pill {
          background: rgba(255,255,255,.86) !important;
          border-color: rgba(18,33,58,.12) !important;
          box-shadow: 0 10px 28px rgba(18,33,58,.08) !important;
        }
        .lexo-light-theme .main-nav-item:hover {
          color: var(--lexo-navy) !important;
          background: rgba(255,190,24,.16) !important;
        }
        .lexo-light-theme .main-nav-item-active {
          color: #090f15 !important;
        }
        
        
        .lexo-light-theme .header-cta-btn {
          background: rgba(255,255,255,.9) !important;
          color: var(--lexo-orange-deep) !important;
          border-color: rgba(232,131,0,.3) !important;
          box-shadow: 0 10px 24px rgba(18,33,58,.08) !important;
        }
        .lexo-light-theme .header-cta-btn:hover {
          background: linear-gradient(135deg, rgba(255,190,24,.18), rgba(232,131,0,.12)) !important;
          color: var(--lexo-navy) !important;
          border-color: rgba(232,131,0,.42) !important;
        }
        
        
        
        
        
        
        
        
        .lexo-light-theme .story-footer {
          background: rgba(255,255,255,.92) !important;
          backdrop-filter: blur(18px) !important;
          border-color: var(--lexo-border) !important;
          box-shadow: 0 -18px 42px rgba(18,33,58,.08) !important;
        }
        .lexo-light-theme .story-footer-current {
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .story-footer-count,
        .lexo-light-theme .story-footer-separator {
          color: #64748b !important;
        }
        .lexo-light-theme .story-footer-track {
          background: #dbe4ee !important;
        }
        .lexo-light-theme .story-footer-prev {
          background: #ffffff !important;
          border-color: #cbd5e1 !important;
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .story-footer-next {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .project-modal-backdrop {
          background: rgba(18,33,58,.28) !important;
          backdrop-filter: blur(10px) !important;
        }
        .lexo-light-theme .project-modal-panel {
          background: #ffffff !important;
          border-color: rgba(18,33,58,.12) !important;
          box-shadow: 0 34px 80px rgba(18,33,58,.22) !important;
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .project-modal-header,
        .lexo-light-theme .project-modal-footer {
          background: #f8fafc !important;
          border-color: var(--lexo-border) !important;
        }
        .lexo-light-theme .project-modal-body {
          background: #ffffff !important;
        }
        .lexo-light-theme .project-modal-panel h3,
        .lexo-light-theme .project-modal-panel .text-white,
        .lexo-light-theme .project-modal-panel strong {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .project-modal-panel .text-lime-400,
        .lexo-light-theme .project-modal-panel .text-amber-300 {
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .project-modal-panel .text-zinc-400,
        .lexo-light-theme .project-modal-panel .text-zinc-500,
        .lexo-light-theme .project-modal-panel p {
          color: #475569 !important;
        }
        .lexo-light-theme .project-modal-metric {
          background: #f8fafc !important;
          border-color: var(--lexo-border) !important;
        }
        .lexo-light-theme .project-modal-metric span:first-child {
          color: #64748b !important;
        }
        .lexo-light-theme .project-modal-metric span:last-child {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .project-modal-icon-btn,
        .lexo-light-theme .project-modal-close-btn {
          background: #eef3f9 !important;
          border: 1px solid var(--lexo-border) !important;
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .project-modal-icon-btn:hover,
        .lexo-light-theme .project-modal-close-btn:hover {
          background: linear-gradient(135deg, rgba(255,190,24,.18), rgba(232,131,0,.12)) !important;
          border-color: rgba(232,131,0,.34) !important;
        }
        .lexo-light-theme .project-modal-panel .bg-zinc-950,
        .lexo-light-theme .project-modal-panel .bg-zinc-950\/60,
        .lexo-light-theme .project-modal-panel .bg-zinc-950\/70,
        .lexo-light-theme .project-modal-panel .bg-zinc-950\/75,
        .lexo-light-theme .project-modal-panel .bg-zinc-950\/80,
        .lexo-light-theme .project-modal-panel .bg-zinc-900,
        .lexo-light-theme .project-modal-panel .bg-zinc-800 {
          background: #f8fafc !important;
          border-color: var(--lexo-border) !important;
        }
        .lexo-light-theme .project-modal-panel button.bg-zinc-950,
        .lexo-light-theme .project-modal-panel button.bg-zinc-800 {
          background: #ffffff !important;
          color: var(--lexo-navy) !important;
          border-color: var(--lexo-border) !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-tab-active {
          background: linear-gradient(135deg, #ffbe18, var(--lexo-orange)) !important;
          border-color: rgba(232,131,0,.46) !important;
          color: var(--lexo-navy) !important;
          box-shadow: 0 10px 22px rgba(232,131,0,.16) !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-tab-muted {
          background: #f8fafc !important;
          border-color: rgba(18,33,58,.12) !important;
          color: #64748b !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-tab-muted:hover {
          background: #ffffff !important;
          border-color: rgba(232,131,0,.34) !important;
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-frame {
          background: #090f15 !important;
          border-color: rgba(18,33,58,.18) !important;
          box-shadow: 0 18px 42px rgba(18,33,58,.16) !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-photo-shade,
        .lexo-light-theme .project-modal-panel .project-media-video-shade {
          background: linear-gradient(to top, rgba(2,6,23,.72), rgba(2,6,23,.1), rgba(2,6,23,.18)) !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-ref,
        .lexo-light-theme .project-modal-panel .project-media-expand,
        .lexo-light-theme .project-modal-panel .project-media-counter,
        .lexo-light-theme .project-modal-panel .project-media-video-title {
          background: rgba(15,23,42,.78) !important;
          border-color: rgba(255,255,255,.18) !important;
          color: #ffffff !important;
          backdrop-filter: blur(10px);
        }
        .lexo-light-theme .project-modal-panel .project-media-nav {
          background: rgba(15,23,42,.78) !important;
          border-color: rgba(255,255,255,.22) !important;
          color: #ffffff !important;
          box-shadow: 0 12px 28px rgba(2,6,23,.24) !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-nav:hover {
          background: rgba(18,33,58,.9) !important;
          border-color: rgba(255,190,24,.72) !important;
          color: #ffbe18 !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-live-label,
        .lexo-light-theme .project-modal-panel .project-media-player-overlay,
        .lexo-light-theme .project-modal-panel .project-media-player-overlay span {
          color: #ffffff !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-player-overlay {
          background: linear-gradient(to top, rgba(2,6,23,.88), rgba(2,6,23,0)) !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-lightbox-panel,
        .lexo-light-theme .project-modal-panel .project-media-lightbox-content {
          background: #020617 !important;
          color: #ffffff !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-lightbox-close {
          background: rgba(15,23,42,.86) !important;
          border-color: rgba(255,255,255,.35) !important;
          color: #ffffff !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-lightbox-close svg,
        .lexo-light-theme .project-modal-panel .project-media-lightbox-close * {
          color: #ffffff !important;
          stroke: #ffffff !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-lightbox-nav,
        .lexo-light-theme .project-modal-panel .project-media-lightbox-counter {
          background: rgba(15,23,42,.82) !important;
          border-color: rgba(255,255,255,.36) !important;
          color: #ffffff !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-lightbox-nav svg,
        .lexo-light-theme .project-modal-panel .project-media-lightbox-nav * {
          color: #ffffff !important;
          stroke: #ffffff !important;
        }
        .lexo-light-theme .project-modal-panel .project-media-lightbox-nav:hover {
          border-color: rgba(255,190,24,.82) !important;
          color: #ffffff !important;
        }
        .lexo-light-theme .b2b-modal-backdrop {
          background: rgba(248, 250, 252, .72) !important;
          backdrop-filter: blur(14px) saturate(1.12) !important;
        }
        .lexo-light-theme .b2b-modal-panel {
          filter: drop-shadow(0 28px 70px rgba(18,33,58,.2));
        }
        .lexo-light-theme .b2b-modal-close {
          background: #ffffff !important;
          border-color: rgba(18,33,58,.14) !important;
          color: var(--lexo-navy) !important;
          box-shadow: 0 14px 32px rgba(18,33,58,.14) !important;
        }
        .lexo-light-theme .b2b-modal-close:hover {
          background: #fff7e6 !important;
          border-color: rgba(232,131,0,.36) !important;
          color: var(--lexo-orange-deep) !important;
        }
        #root .b2b-modal-close,
        #root .b2b-modal-close:hover,
        #root .b2b-modal-close:active,
        #root .b2b-modal-close svg,
        #root .b2b-modal-close:hover svg,
        #root .b2b-modal-close:active svg {
          transform: none !important;
          transition: none !important;
          animation: none !important;
        }
        .lexo-light-theme .b2b-form-card.surface-yellow-clean {
          background:
            linear-gradient(180deg, rgba(255,190,24,.1), rgba(255,255,255,0) 38%),
            #ffffff !important;
          border-color: rgba(232,131,0,.22) !important;
          color: var(--lexo-navy) !important;
          box-shadow: 0 22px 56px rgba(18,33,58,.14) !important;
        }
        .lexo-light-theme .b2b-form-pattern {
          opacity: .16 !important;
          background-image: linear-gradient(135deg, rgba(232,131,0,.16) 0 1px, transparent 1px 18px) !important;
        }
        .lexo-light-theme .b2b-form-kicker {
          background: #fff7e6 !important;
          border-color: rgba(232,131,0,.22) !important;
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .b2b-form-card h3 {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .b2b-form-card p {
          color: #475569 !important;
        }
        .lexo-light-theme .b2b-form-input {
          background: #f8fafc !important;
          border-color: rgba(18,33,58,.13) !important;
          color: var(--lexo-navy) !important;
          box-shadow: inset 0 1px 0 rgba(255,255,255,.78) !important;
        }
        .lexo-light-theme .b2b-form-input::placeholder {
          color: #64748b !important;
        }
        .lexo-light-theme .b2b-form-input:focus {
          background: #ffffff !important;
          border-color: rgba(232,131,0,.48) !important;
          box-shadow: 0 0 0 3px rgba(255,190,24,.22) !important;
        }
        .lexo-light-theme .b2b-form-submit {
          background: linear-gradient(135deg, #090f15, #151d24) !important;
          color: #ffffff !important;
          border: 1px solid rgba(18,33,58,.2) !important;
          box-shadow: 0 14px 30px rgba(18,33,58,.18) !important;
        }
        .lexo-light-theme .b2b-form-submit:hover {
          background: linear-gradient(135deg, #05090c, #090f15) !important;
          color: #ffffff !important;
          box-shadow: 0 16px 34px rgba(18,33,58,.24) !important;
        }
        .lexo-light-theme.light-blocks-shell .slide-panel .b2b-form-submit,
        .lexo-light-theme.light-blocks-shell .slide-panel .career-form-submit {
          background: linear-gradient(135deg, #090f15, #151d24) !important;
          color: #ffffff !important;
          border: 1px solid rgba(18,33,58,.2) !important;
          box-shadow: 0 14px 30px rgba(18,33,58,.18) !important;
        }
        .lexo-light-theme.light-blocks-shell .slide-panel .b2b-form-submit:hover,
        .lexo-light-theme.light-blocks-shell .slide-panel .career-form-submit:hover {
          background: linear-gradient(135deg, #05090c, #090f15) !important;
          color: #ffffff !important;
          box-shadow: 0 16px 34px rgba(18,33,58,.24) !important;
        }
        #root .b2b-modal-backdrop,
        #root .lexo-light-theme .b2b-modal-backdrop {
          z-index:200 !important;
          background:rgba(8,19,34,.52) !important;
          backdrop-filter:blur(8px) !important;
        }
        #root .b2b-modal-panel {
          width:min(94vw,78rem) !important;
          max-width:78rem !important;
          height:min(50rem,calc(100dvh - 2rem));
          max-height:calc(100dvh - 2rem);
          filter:drop-shadow(0 28px 72px rgba(8,19,34,.24));
        }
        #root .b2b-modal-close {
          top:.8rem !important;
          right:.8rem !important;
          width:2.65rem !important;
          height:2.65rem !important;
          background:#fff !important;
          border:1px solid #dce2e7 !important;
          color:#081322 !important;
          box-shadow:0 8px 22px rgba(8,19,34,.10) !important;
        }
        #root .b2b-modal-close:hover {
          background:#ffd400 !important;
          border-color:#ffd400 !important;
          color:#081322 !important;
        }

        .offer-modal-layout {
          width:100%;
          height:100%;
          display:grid;
          grid-template-columns:minmax(0,50%) minmax(0,50%);
          overflow:hidden;
          border:1px solid rgba(8,19,34,.08);
          border-radius:1rem;
          background:#fff;
          color:#081322;
          font-family:Arial,Helvetica,sans-serif;
        }
        .offer-modal-mobile-brandbar,
        .offer-modal-mobile-next { display:none; }

        /* Left presentation panel: clean rectangular split, no gradients or polygon masks. */
        .offer-modal-aside {
          min-width:0;
          min-height:0;
          position:relative;
          display:grid;
          grid-template-columns:minmax(0,64%) minmax(0,36%);
          overflow:hidden;
          background:#f7f8f6;
          color:#081322;
          border-right:1px solid #e2e7eb;
        }
        .offer-modal-aside-photo {
          grid-column:2;
          grid-row:1;
          width:100%;
          height:100%;
          min-height:0;
          object-fit:cover;
          object-position:54% center;
          display:block;
          border:0;
        }
        .offer-modal-aside-content {
          grid-column:1;
          grid-row:1;
          position:relative;
          min-width:0;
          min-height:0;
          display:flex;
          flex-direction:column;
          padding:2.7rem 2.15rem 1.7rem 2.55rem;
          background:#f7f8f6;
        }
        .offer-modal-aside-brand {
          display:flex;
          align-items:center;
          gap:.7rem;
          width:fit-content;
          margin:0 0 2.5rem;
          color:#081322;
        }
        .offer-modal-aside-brand img {
          width:2.6rem;
          height:2.6rem;
          object-fit:contain;
          flex:none;
        }
        .offer-modal-aside-brand b {
          color:#081322 !important;
          font-size:1.8rem;
          line-height:1;
          font-weight:800;
          letter-spacing:-.04em;
        }
        .offer-modal-aside-copy {
          display:flex;
          flex-direction:column;
          min-height:0;
        }
        .offer-modal-kicker {
          display:flex;
          align-items:center;
          gap:.75rem;
          color:#9b7600;
          font-size:.64rem;
          line-height:1;
          font-weight:800;
          letter-spacing:.18em;
          text-transform:uppercase;
        }
        .offer-modal-kicker::before {
          content:"";
          width:1.8rem;
          height:1px;
          flex:none;
          background:#ffd400;
        }
        #root .offer-modal-aside-copy h2 {
          margin:1.15rem 0 .75rem;
          color:#081322 !important;
          font-size:clamp(2rem,2.45vw,2.9rem) !important;
          line-height:1.02 !important;
          letter-spacing:-.05em;
          font-weight:650 !important;
        }
        #root .offer-modal-aside-copy h2 > span,
        #root .offer-modal-aside-copy h2 > small { display:block; }
        #root .offer-modal-aside-copy h2 > small {
          margin-top:.45rem;
          color:#081322 !important;
          font-size:.58em;
          line-height:1.15;
          letter-spacing:-.025em;
          font-weight:650;
        }
        #root .offer-modal-aside-copy > p {
          max-width:23rem;
          margin:0;
          color:#5d6a78 !important;
          font-size:.78rem !important;
          line-height:1.55 !important;
        }
        .offer-modal-benefits {
          display:grid;
          gap:0;
          margin-top:1.65rem;
        }
        .offer-modal-benefits > div {
          display:grid;
          grid-template-columns:2.35rem minmax(0,1fr);
          gap:.85rem;
          align-items:center;
          padding:.75rem 0;
          border-bottom:1px solid #dde3e7;
        }
        .offer-modal-benefits > div:last-child { border-bottom:0; }
        .offer-modal-benefits svg {
          width:2.25rem;
          height:2.25rem;
          padding:.47rem;
          border-radius:50%;
          background:#fff3c2;
          color:#c89400;
        }
        .offer-modal-benefits span { min-width:0; }
        .offer-modal-benefits b {
          display:block;
          color:#081322 !important;
          font-size:.73rem;
          line-height:1.2;
          font-weight:700;
        }
        .offer-modal-benefits small {
          display:block;
          margin-top:.22rem;
          color:#687686;
          font-size:.62rem;
          line-height:1.35;
        }
        .offer-modal-aside-footer {
          margin-top:auto;
          padding-top:1rem;
          border-top:1px solid #d9e0e5;
          color:#536171;
          font-size:.58rem;
          line-height:1;
          font-weight:750;
          letter-spacing:.2em;
        }

        /* Right form panel. */
        .offer-modal-form-shell {
          min-width:0;
          min-height:0;
          overflow-y:auto;
          padding:3.05rem 2.5rem 1.6rem;
          background:#fbfbfa;
          scrollbar-width:thin;
          scrollbar-color:#d7dde2 transparent;
        }
        .offer-modal-form-heading { margin:0 0 1.45rem; padding-right:2.75rem; }
        #root .offer-modal-form-heading h2 {
          margin:0 0 .45rem;
          color:#081322 !important;
          font-size:clamp(1.65rem,2.25vw,2.35rem) !important;
          line-height:1.08 !important;
          letter-spacing:-.04em;
          font-weight:650 !important;
        }
        #root .offer-modal-form-heading p {
          max-width:35rem;
          margin:0;
          color:#647181 !important;
          font-size:.78rem !important;
          line-height:1.5 !important;
        }
        .offer-modal-form { display:grid; gap:.78rem; }
        .offer-modal-row { display:grid; grid-template-columns:.88fr 1.12fr; gap:.78rem; }
        .offer-modal-field {
          min-width:0;
          min-height:3.7rem;
          position:relative;
          display:flex;
          align-items:center;
          border:1px solid #d9e0e6;
          border-radius:.7rem;
          background:#fff;
          transition:border-color .18s ease,box-shadow .18s ease;
        }
        .offer-modal-field:focus-within {
          border-color:#c9a000;
          box-shadow:0 0 0 3px rgba(255,212,0,.10);
        }
        .offer-modal-field > svg:not(.offer-modal-select-arrow) {
          position:absolute;
          left:1rem;
          width:1.2rem;
          height:1.2rem;
          color:#718091;
          pointer-events:none;
        }
        #root .lexo-shell .offer-modal-field .b2b-form-input {
          width:100%;
          height:100%;
          min-height:3.62rem;
          padding:.78rem 1rem .78rem 3rem;
          appearance:none;
          outline:0;
          border:0 !important;
          border-radius:.7rem;
          background:transparent !important;
          color:#172330 !important;
          box-shadow:none !important;
          font-family:inherit;
          font-size:.76rem;
          font-weight:600;
        }
        #root .lexo-shell .offer-modal-field .b2b-form-input::placeholder { color:#7c8795 !important; opacity:1; }
        .offer-modal-select-arrow { position:absolute; right:.85rem; width:1rem; height:1rem; color:#081322; pointer-events:none; }
        .offer-modal-field select { padding-right:2.5rem !important; cursor:pointer; }
        .offer-modal-message { min-height:8.25rem; align-items:flex-start; }
        .offer-modal-message > svg { top:1.05rem; }
        .offer-modal-message-note { position:absolute; z-index:1; top:.65rem; left:3rem; right:1rem; color:#9b7600; font-size:.61rem; line-height:1.25; font-weight:750; pointer-events:none; }
        #root .lexo-shell .offer-modal-message textarea.b2b-form-input { min-height:8.15rem; padding-top:1rem; padding-bottom:1.65rem; resize:none; line-height:1.5; }
        #root .lexo-shell .offer-modal-message:has(.offer-modal-message-note) textarea.b2b-form-input { padding-top:2rem; }
        .offer-modal-message > small { position:absolute; right:.9rem; bottom:.62rem; color:#7b8794; font-size:.62rem; }
        .offer-modal-file {
          min-height:4.25rem;
          position:relative;
          display:grid;
          grid-template-columns:1.45rem minmax(0,1fr) auto;
          gap:.75rem;
          align-items:center;
          padding:.72rem .9rem;
          border:1px solid #d9e0e6;
          border-radius:.7rem;
          background:#fff;
          cursor:pointer;
        }
        .offer-modal-file > svg { width:1.35rem; height:1.35rem; color:#465665; }
        .offer-modal-file span { min-width:0; }
        .offer-modal-file b { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#536171 !important; font-size:.7rem; font-weight:700; }
        .offer-modal-file small { display:block; margin-top:.2rem; color:#7a8591; font-size:.6rem; }
        .offer-modal-file strong { padding:.55rem .78rem; border:1px solid #9ca8b4; border-radius:.45rem; color:#18232d !important; font-size:.59rem; line-height:1; font-weight:800; white-space:nowrap; }
        .offer-modal-file input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
        .offer-modal-consent { display:grid; grid-template-columns:1.05rem 1fr; gap:.68rem; align-items:start; padding:.12rem 0; color:#65717e; cursor:pointer; }
        .offer-modal-consent input { width:1rem; height:1rem; margin:0; accent-color:#ffd400; }
        .offer-modal-consent span { font-size:.62rem; line-height:1.45; }
        .offer-modal-consent u { color:#17232e; font-weight:700; }
        .offer-modal-submit {
          min-height:3.2rem;
          padding:0 1.2rem;
          display:flex;
          align-items:center;
          justify-content:center;
          gap:1rem;
          border:0;
          border-radius:.62rem;
          background:#ffd400;
          color:#081322;
          box-shadow:none;
          font-size:.76rem;
          font-weight:850;
          letter-spacing:.02em;
          text-transform:uppercase;
        }
        .offer-modal-submit svg { width:1.2rem; height:1.2rem; }
        .offer-modal-submit:hover { background:#f3c800; }
        .offer-modal-security { display:flex; align-items:center; justify-content:center; gap:.45rem; color:#798491; font-size:.61rem; }
        .offer-modal-security svg { width:.84rem; height:.84rem; }
        .offer-modal-error { margin:0 !important; padding:.65rem .8rem; border:1px solid #f1b5b5; border-radius:.5rem; background:#fff1f1; color:#8d2525 !important; font-size:.65rem !important; font-weight:700; }
        .offer-modal-success { height:100%; min-height:18rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1.15rem; padding:2.5rem; border:0; border-radius:.65rem; background:#fff; color:#17210b; text-align:center; }
        .offer-modal-success > span { width:4.25rem; height:4.25rem; display:grid; place-items:center; border-radius:50%; background:#fff3c2; color:#8b6900; font-size:2rem; font-weight:900; box-shadow:0 10px 25px rgba(98,130,0,.10); }
        .offer-modal-success > strong { max-width:25rem; color:#18210e !important; font-size:1.15rem; line-height:1.45; font-weight:800; text-wrap:balance; }
        .offer-modal-success::after { content:""; width:4.5rem; height:3px; background:#ffd400; }

        @media(max-width:980px){
          #root .b2b-modal-panel { width:min(96vw,48rem) !important; max-width:48rem !important; height:min(54rem,calc(100dvh - 1.5rem)); max-height:calc(100dvh - 1.5rem); }
          .offer-modal-layout { grid-template-columns:1fr; }
          .offer-modal-aside { grid-template-columns:minmax(0,62%) minmax(0,38%); min-height:28rem; border-right:0; border-bottom:1px solid #e2e7eb; }
          .offer-modal-aside-content { padding:2rem 1.7rem 1.45rem 2rem; }
          .offer-modal-aside-brand { margin-bottom:1.7rem; }
          .offer-modal-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1rem; margin-top:1.15rem; }
          .offer-modal-benefits > div { padding:.58rem 0; }
          .offer-modal-form-shell { padding:2.5rem 2rem 1.5rem; }
        }

        @media(max-width:720px){
          #root .b2b-modal-backdrop { padding:0 !important; align-items:stretch !important; background:#fff !important; backdrop-filter:none !important; }
          #root .b2b-modal-panel { width:100% !important; max-width:none !important; height:100dvh; max-height:100dvh; filter:none; }
          #root .b2b-modal-close { position:fixed !important; z-index:260 !important; top:1rem !important; right:1rem !important; width:2.5rem !important; height:2.5rem !important; box-shadow:none !important; }
          #root .offer-modal-mobile-step-intro + .b2b-modal-close,
          #root .b2b-modal-panel:has(.offer-modal-mobile-step-intro) > .b2b-modal-close { display:none !important; }
          .offer-modal-layout { display:block; overflow:hidden; border:0; border-radius:0; }
          .offer-modal-aside,
          .offer-modal-form-shell { width:100%; height:100%; }
          .offer-modal-mobile-step-intro .offer-modal-form-shell,
          .offer-modal-mobile-step-form .offer-modal-aside { display:none; }
          .offer-modal-aside { display:block; min-height:100dvh; overflow-y:auto; background:#f7f8f6; }
          .offer-modal-mobile-brandbar { min-height:5.1rem; display:flex; align-items:center; gap:.8rem; padding:.75rem 1.1rem; background:#fff; color:#081322; border-bottom:1px solid #e2e7eb; }
          .offer-modal-mobile-brandbar > button { width:2rem; height:2rem; display:flex; align-items:center; justify-content:center; flex:0 0 auto; color:#263341; }
          .offer-modal-mobile-brandbar > button svg { width:1.35rem; height:1.35rem; }
          .offer-modal-mobile-brandbar > div { display:flex; align-items:center; gap:.65rem; }
          .offer-modal-mobile-brandbar img { width:2rem; height:2rem; object-fit:contain; }
          .offer-modal-mobile-brandbar b { display:block; font-size:1.25rem; line-height:1; font-weight:800; letter-spacing:-.03em; }
          .offer-modal-aside-photo { width:100%; height:18rem; object-position:center 35%; }
          .offer-modal-aside-content { display:block; padding:1.65rem 1.35rem calc(1.5rem + env(safe-area-inset-bottom)); background:#f7f8f6; }
          .offer-modal-aside-brand { display:none; }
          #root .offer-modal-aside-copy h2 { margin:1rem 0 .7rem; font-size:2rem !important; }
          #root .offer-modal-aside-copy > p { font-size:.84rem !important; }
          .offer-modal-benefits { grid-template-columns:1fr; margin-top:1.2rem; }
          .offer-modal-benefits > div { grid-template-columns:2.35rem 1fr; padding:.72rem 0; }
          .offer-modal-aside-footer { margin-top:1.25rem; }
          .offer-modal-mobile-next { width:100%; min-height:3.35rem; margin-top:1.3rem; padding:0 1.15rem; display:flex; align-items:center; justify-content:center; gap:1rem; border:0; border-radius:.5rem; background:#ffd400; color:#081322; font-size:.78rem; font-weight:800; text-transform:uppercase; }
          .offer-modal-mobile-next svg { width:1.15rem; height:1.15rem; }
          .offer-modal-form-shell { padding:4.7rem 1.15rem calc(1.2rem + env(safe-area-inset-bottom)); background:#fbfbfa; }
          .offer-modal-form-heading { margin-bottom:1.2rem; padding-right:2.2rem; }
          #root .offer-modal-form-heading h2 { font-size:1.85rem !important; }
          #root .offer-modal-form-heading p { font-size:.75rem !important; }
          .offer-modal-form { gap:.72rem; }
          .offer-modal-row { grid-template-columns:1fr; }
          .offer-modal-message { min-height:7.5rem; }
          #root .lexo-shell .offer-modal-message textarea.b2b-form-input { min-height:7.4rem; }
        }

        /* === 2026-09-23 B2B modal — LEXO editorial geometry === */
        #root .b2b-modal-backdrop,
        #root .lexo-light-theme .b2b-modal-backdrop {
          background:rgba(8,19,34,.42) !important;
          backdrop-filter:blur(5px) !important;
        }
        #root .b2b-modal-panel {
          width:min(94vw,76rem) !important;
          max-width:76rem !important;
          height:min(46rem,calc(100dvh - 2rem));
          max-height:calc(100dvh - 2rem);
          filter:drop-shadow(0 26px 64px rgba(8,19,34,.20));
        }
        #root .offer-modal-layout {
          grid-template-columns:minmax(0,39%) minmax(0,61%) !important;
          border:1px solid #dce2e8 !important;
          border-radius:4px !important;
          background:#fff !important;
        }
        #root .offer-modal-aside {
          display:grid !important;
          grid-template-columns:1fr !important;
          grid-template-rows:minmax(0,34%) minmax(0,66%) !important;
          background:#fff !important;
          border-right:1px solid #dce2e8 !important;
          overflow:hidden !important;
        }
        #root .offer-modal-aside-photo {
          grid-column:1 !important;
          grid-row:1 !important;
          width:100% !important;
          height:100% !important;
          min-height:0 !important;
          object-fit:cover !important;
          object-position:center 36% !important;
          border:0 !important;
          border-radius:0 !important;
        }
        #root .offer-modal-aside-content {
          grid-column:1 !important;
          grid-row:2 !important;
          padding:1.55rem 2rem 1.45rem !important;
          background:#fff !important;
          border:0 !important;
        }
        #root .offer-modal-aside-brand {
          margin:0 0 1.1rem !important;
          gap:.6rem !important;
        }
        #root .offer-modal-aside-brand img {
          width:2rem !important;
          height:2rem !important;
        }
        #root .offer-modal-aside-brand b {
          font-size:1.5rem !important;
          font-weight:800 !important;
        }
        #root .offer-modal-kicker {
          gap:.65rem !important;
          font-size:.58rem !important;
          letter-spacing:.18em !important;
          color:#758294 !important;
        }
        #root .offer-modal-kicker::before {
          width:1.8rem !important;
          background:#ffd400 !important;
        }
        #root .offer-modal-aside-copy h2 {
          margin:.8rem 0 .55rem !important;
          font-size:clamp(1.85rem,2.1vw,2.45rem) !important;
          line-height:1.025 !important;
          font-weight:500 !important;
          letter-spacing:-.045em !important;
        }
        #root .offer-modal-aside-copy h2 > small {
          margin-top:.38rem !important;
          font-size:.56em !important;
          font-weight:600 !important;
        }
        #root .offer-modal-aside-copy > p {
          max-width:24rem !important;
          font-size:.72rem !important;
          line-height:1.5 !important;
        }
        #root .offer-modal-benefits {
          grid-template-columns:repeat(2,minmax(0,1fr)) !important;
          gap:0 1rem !important;
          margin-top:1rem !important;
          border-top:1px solid #e2e7eb;
        }
        #root .offer-modal-benefits > div {
          grid-template-columns:1.45rem minmax(0,1fr) !important;
          gap:.55rem !important;
          padding:.62rem 0 !important;
          border-bottom:1px solid #e2e7eb !important;
        }
        #root .offer-modal-benefits svg {
          width:1.3rem !important;
          height:1.3rem !important;
          padding:0 !important;
          border-radius:0 !important;
          background:transparent !important;
          color:#c49300 !important;
          stroke-width:1.7;
        }
        #root .offer-modal-benefits b {
          font-size:.66rem !important;
          font-weight:650 !important;
        }
        #root .offer-modal-benefits small {
          margin-top:.14rem !important;
          font-size:.56rem !important;
          line-height:1.3 !important;
        }
        #root .offer-modal-aside-footer {
          padding-top:.75rem !important;
          border-top:0 !important;
          font-size:.54rem !important;
          color:#718092 !important;
        }

        #root .offer-modal-form-shell {
          padding:2.35rem 2.4rem 1.5rem !important;
          background:#fff !important;
        }
        #root .offer-modal-form-heading {
          margin:0 0 1.25rem !important;
          padding-right:2.8rem !important;
        }
        #root .offer-modal-form-heading h2 {
          font-size:clamp(1.7rem,2.15vw,2.25rem) !important;
          line-height:1.06 !important;
          font-weight:500 !important;
          letter-spacing:-.04em !important;
        }
        #root .offer-modal-form-heading p {
          font-size:.74rem !important;
          line-height:1.48 !important;
        }
        #root .offer-modal-form { gap:.68rem !important; }
        #root .offer-modal-row { gap:.68rem !important; }
        #root .offer-modal-field {
          min-height:3.35rem !important;
          border:1px solid #d7dee5 !important;
          border-radius:0 !important;
          background:#fff !important;
          box-shadow:none !important;
        }
        #root .offer-modal-field:focus-within {
          border-color:#c89c00 !important;
          box-shadow:inset 0 -2px 0 #ffd400 !important;
        }
        #root .lexo-shell .offer-modal-field .b2b-form-input {
          min-height:3.25rem !important;
          border-radius:0 !important;
          padding:.72rem .9rem .72rem 2.85rem !important;
          font-size:.74rem !important;
        }
        #root .offer-modal-message {
          min-height:7.35rem !important;
        }
        #root .lexo-shell .offer-modal-message textarea.b2b-form-input {
          min-height:7.25rem !important;
        }
        #root .offer-modal-file {
          min-height:3.9rem !important;
          border:1px solid #d7dee5 !important;
          border-radius:0 !important;
          background:#fff !important;
        }
        #root .offer-modal-file strong {
          border-radius:0 !important;
          border-color:#9faab5 !important;
          background:#fff !important;
        }
        #root .offer-modal-submit {
          min-height:3.1rem !important;
          border-radius:0 !important;
          background:#ffd400 !important;
          box-shadow:none !important;
          text-transform:none !important;
          font-size:.78rem !important;
          font-weight:650 !important;
        }
        #root .offer-modal-submit:hover { background:#f3c800 !important; }
        #root .offer-modal-error,
        #root .offer-modal-success {
          border-radius:0 !important;
        }
        #root .offer-modal-success > span {
          border-radius:0 !important;
          box-shadow:none !important;
        }
        #root .b2b-modal-close {
          top:.7rem !important;
          right:.7rem !important;
          width:2.5rem !important;
          height:2.5rem !important;
          border-radius:2px !important;
          background:#fff !important;
          border:1px solid #d7dee5 !important;
          box-shadow:none !important;
        }
        #root .b2b-modal-close:hover {
          background:#ffd400 !important;
          border-color:#ffd400 !important;
        }

        @media(max-width:980px){
          #root .b2b-modal-panel {
            width:min(96vw,48rem) !important;
            max-width:48rem !important;
            height:min(54rem,calc(100dvh - 1.5rem));
          }
          #root .offer-modal-layout { grid-template-columns:1fr !important; }
          #root .offer-modal-aside {
            grid-template-rows:14rem auto !important;
            min-height:0 !important;
            border-right:0 !important;
            border-bottom:1px solid #dce2e8 !important;
          }
          #root .offer-modal-aside-content { padding:1.6rem 1.7rem 1.45rem !important; }
          #root .offer-modal-form-shell { padding:2rem 1.8rem 1.45rem !important; }
        }

        @media(max-width:720px){
          #root .offer-modal-layout { border-radius:0 !important; }
          #root .offer-modal-aside { display:block !important; }
          #root .offer-modal-aside-photo {
            display:block !important;
            width:100% !important;
            height:15rem !important;
            object-position:center 32% !important;
          }
          #root .offer-modal-aside-content { padding:1.45rem 1.25rem calc(1.4rem + env(safe-area-inset-bottom)) !important; }
          #root .offer-modal-mobile-next { border-radius:0 !important; }
          #root .offer-modal-form-shell { padding:4.7rem 1.15rem calc(1.2rem + env(safe-area-inset-bottom)) !important; }
        }
        /* === end B2B modal editorial geometry === */


        /* === 2026-09-23 B2B modal — LEXO editorial contrast === */
        #root .b2b-modal-panel {
          width:min(94vw,78rem) !important;
          max-width:78rem !important;
          height:min(45rem,calc(100dvh - 2.5rem)) !important;
          max-height:calc(100dvh - 2.5rem) !important;
          filter:drop-shadow(0 28px 72px rgba(8,19,34,.22)) !important;
        }
        #root .offer-modal-layout {
          grid-template-columns:minmax(0,42%) minmax(0,58%) !important;
          border:1px solid #dce2e8 !important;
          border-radius:2px !important;
          overflow:hidden !important;
          background:#fff !important;
        }
        #root .offer-modal-aside {
          position:relative !important;
          display:block !important;
          min-height:0 !important;
          overflow:hidden !important;
          border-right:1px solid #dce2e8 !important;
          background:#101c27 !important;
        }
        #root .offer-modal-aside-photo {
          position:absolute !important;
          inset:0 !important;
          display:block !important;
          width:100% !important;
          height:100% !important;
          object-fit:cover !important;
          object-position:58% center !important;
          border:0 !important;
          border-radius:0 !important;
          filter:none !important;
          transform:none !important;
        }
        #root .offer-modal-aside-content {
          position:absolute !important;
          z-index:2 !important;
          left:0 !important;
          bottom:0 !important;
          width:86% !important;
          max-height:78% !important;
          display:flex !important;
          flex-direction:column !important;
          padding:1.7rem 1.9rem 1.35rem !important;
          background:#fff !important;
          border-top:4px solid #ffd400 !important;
          border-right:1px solid #dce2e8 !important;
          box-shadow:none !important;
          overflow:auto !important;
        }
        #root .offer-modal-aside-brand {
          margin:0 0 1.15rem !important;
          gap:.55rem !important;
        }
        #root .offer-modal-aside-brand img {
          width:1.85rem !important;
          height:1.85rem !important;
        }
        #root .offer-modal-aside-brand b {
          font-size:1.42rem !important;
          line-height:1 !important;
          letter-spacing:-.04em !important;
        }
        #root .offer-modal-kicker {
          margin:0 0 .7rem !important;
          color:#6d7a89 !important;
          font-size:.56rem !important;
          line-height:1.35 !important;
          font-weight:700 !important;
          letter-spacing:.19em !important;
        }
        #root .offer-modal-kicker::before {
          width:2rem !important;
          height:1px !important;
          background:#ffd400 !important;
        }
        #root .offer-modal-aside-copy h2 {
          margin:0 0 .7rem !important;
          max-width:8.6em !important;
          color:#081322 !important;
          font-size:clamp(2.15rem,2.85vw,3.2rem) !important;
          line-height:.98 !important;
          font-weight:500 !important;
          letter-spacing:-.055em !important;
        }
        #root .offer-modal-aside-copy h2 > small {
          margin-top:.42rem !important;
          color:#d9a800 !important;
          font-size:.49em !important;
          line-height:1.12 !important;
          font-weight:600 !important;
          letter-spacing:-.025em !important;
        }
        #root .offer-modal-aside-copy > p {
          max-width:28rem !important;
          margin:0 !important;
          color:#586777 !important;
          font-size:.7rem !important;
          line-height:1.52 !important;
        }
        #root .offer-modal-benefits {
          counter-reset:offerBenefit;
          display:grid !important;
          grid-template-columns:repeat(2,minmax(0,1fr)) !important;
          gap:0 1.15rem !important;
          margin:1rem 0 0 !important;
          border-top:1px solid #dfe5ea !important;
        }
        #root .offer-modal-benefits > div {
          counter-increment:offerBenefit;
          position:relative !important;
          display:grid !important;
          grid-template-columns:1.6rem minmax(0,1fr) !important;
          gap:.48rem !important;
          padding:.62rem 0 .58rem !important;
          border-bottom:1px solid #dfe5ea !important;
          min-width:0 !important;
        }
        #root .offer-modal-benefits > div::before {
          content:"0" counter(offerBenefit);
          color:#c49300;
          font-size:.54rem;
          line-height:1.4;
          font-weight:700;
          letter-spacing:.08em;
          padding-top:.04rem;
        }
        #root .offer-modal-benefits svg { display:none !important; }
        #root .offer-modal-benefits b {
          display:block !important;
          color:#081322 !important;
          font-size:.64rem !important;
          line-height:1.25 !important;
          font-weight:650 !important;
        }
        #root .offer-modal-benefits small {
          display:block !important;
          margin-top:.16rem !important;
          color:#748191 !important;
          font-size:.54rem !important;
          line-height:1.3 !important;
        }
        #root .offer-modal-aside-footer {
          display:flex !important;
          align-items:center !important;
          justify-content:flex-end !important;
          gap:.7rem !important;
          margin-top:.8rem !important;
          padding-top:0 !important;
          border:0 !important;
          color:#778493 !important;
          font-size:.52rem !important;
          letter-spacing:.16em !important;
        }
        #root .offer-modal-aside-footer::before {
          content:"";
          width:2.2rem;
          height:1px;
          background:#ffd400;
        }

        #root .offer-modal-form-shell {
          position:relative !important;
          padding:2.55rem 2.65rem 1.55rem !important;
          background:#fff !important;
          overflow:auto !important;
        }
        #root .offer-modal-form-heading {
          position:relative !important;
          margin:0 0 1.45rem !important;
          padding:1rem 3rem 0 0 !important;
        }
        #root .offer-modal-form-heading::before {
          content:"";
          position:absolute;
          left:0;
          top:0;
          width:3.2rem;
          height:3px;
          background:#ffd400;
        }
        #root .offer-modal-form-heading::after {
          content:"01 / PROJEKT";
          position:absolute;
          top:.1rem;
          right:0;
          color:#8793a0;
          font-size:.5rem;
          line-height:1.3;
          font-weight:700;
          letter-spacing:.14em;
        }
        #root .offer-modal-form-heading h2 {
          max-width:12em !important;
          margin:0 0 .5rem !important;
          color:#081322 !important;
          font-size:clamp(2rem,2.55vw,2.65rem) !important;
          line-height:1.02 !important;
          font-weight:500 !important;
          letter-spacing:-.05em !important;
        }
        #root .offer-modal-form-heading p {
          max-width:35rem !important;
          margin:0 !important;
          color:#637182 !important;
          font-size:.72rem !important;
          line-height:1.5 !important;
        }
        #root .offer-modal-form { gap:.72rem !important; }
        #root .offer-modal-row { gap:.72rem !important; }
        #root .offer-modal-field,
        #root .offer-modal-file {
          position:relative !important;
          border:1px solid #d7dee5 !important;
          border-radius:0 !important;
          background:#fff !important;
          box-shadow:none !important;
          transition:border-color .18s ease,box-shadow .18s ease !important;
        }
        #root .offer-modal-field::after,
        #root .offer-modal-file::after {
          content:"";
          position:absolute;
          left:-1px;
          bottom:-1px;
          width:0;
          height:2px;
          background:#ffd400;
          transition:width .22s cubic-bezier(.22,.75,.2,1);
          pointer-events:none;
        }
        #root .offer-modal-field:focus-within,
        #root .offer-modal-file:focus-within {
          border-color:#aeb9c4 !important;
          box-shadow:none !important;
        }
        #root .offer-modal-field:focus-within::after,
        #root .offer-modal-file:focus-within::after { width:100%; }
        #root .offer-modal-field > svg:not(.offer-modal-select-arrow),
        #root .offer-modal-file > svg {
          color:#627181 !important;
          stroke-width:1.55 !important;
        }
        #root .offer-modal-file strong {
          border:0 !important;
          border-left:1px solid #d7dee5 !important;
          border-radius:0 !important;
          background:#fff !important;
          color:#081322 !important;
          min-height:100% !important;
          display:flex !important;
          align-items:center !important;
        }
        #root .offer-modal-submit {
          position:relative !important;
          overflow:hidden !important;
          min-height:3.15rem !important;
          border:0 !important;
          border-radius:0 !important;
          background:#ffd400 !important;
          color:#081322 !important;
          box-shadow:none !important;
          font-size:.78rem !important;
          font-weight:650 !important;
          letter-spacing:.01em !important;
        }
        #root .offer-modal-submit::before {
          content:"";
          position:absolute;
          left:0;
          top:0;
          width:4px;
          height:100%;
          background:#081322;
          transform:scaleY(0);
          transform-origin:bottom;
          transition:transform .22s cubic-bezier(.22,.75,.2,1);
        }
        #root .offer-modal-submit:hover::before { transform:scaleY(1); }
        #root .offer-modal-security {
          margin-top:.05rem !important;
          color:#7d8996 !important;
          font-size:.58rem !important;
        }
        #root .b2b-modal-close {
          top:.85rem !important;
          right:.85rem !important;
          width:2.45rem !important;
          height:2.45rem !important;
          border:1px solid #d7dee5 !important;
          border-radius:0 !important;
          background:#fff !important;
          box-shadow:none !important;
        }
        #root .b2b-modal-close:hover {
          border-color:#081322 !important;
          background:#fff !important;
        }

        @media(max-width:980px){
          #root .b2b-modal-panel {
            width:min(96vw,49rem) !important;
            max-width:49rem !important;
            height:min(56rem,calc(100dvh - 1.5rem)) !important;
          }
          #root .offer-modal-layout { grid-template-columns:1fr !important; }
          #root .offer-modal-aside {
            min-height:28rem !important;
            border-right:0 !important;
            border-bottom:1px solid #dce2e8 !important;
          }
          #root .offer-modal-aside-content {
            width:min(76%,36rem) !important;
            max-height:none !important;
            padding:1.45rem 1.55rem 1.25rem !important;
          }
          #root .offer-modal-form-shell { padding:2.2rem 2rem 1.45rem !important; }
        }

        @media(max-width:720px){
          #root .offer-modal-aside {
            display:block !important;
            min-height:100dvh !important;
            background:#fff !important;
          }
          #root .offer-modal-aside-photo {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:16rem !important;
            object-position:center 32% !important;
          }
          #root .offer-modal-aside-content {
            position:relative !important;
            left:auto !important;
            bottom:auto !important;
            width:100% !important;
            max-height:none !important;
            padding:1.45rem 1.25rem calc(1.45rem + env(safe-area-inset-bottom)) !important;
            border-right:0 !important;
            border-top:3px solid #ffd400 !important;
            overflow:visible !important;
          }
          #root .offer-modal-benefits { grid-template-columns:1fr !important; }
          #root .offer-modal-form-shell { padding:4.7rem 1.15rem calc(1.2rem + env(safe-area-inset-bottom)) !important; }
          #root .offer-modal-form-heading { padding-top:.9rem !important; }
          #root .offer-modal-form-heading::after { display:none !important; }
        }
        /* === end B2B modal editorial contrast === */

        /* === 2026-09-23 B2B modal — final LEXO hero balance === */
        #root .b2b-modal-panel {
          width:min(94vw,76rem) !important;
          max-width:76rem !important;
          height:min(45rem,calc(100dvh - 2rem)) !important;
          max-height:calc(100dvh - 2rem) !important;
        }
        #root .offer-modal-layout {
          grid-template-columns:minmax(0,41%) minmax(0,59%) !important;
          border-radius:3px !important;
          overflow:hidden !important;
          background:#fff !important;
        }
        #root .offer-modal-aside {
          position:relative !important;
          display:block !important;
          min-width:0 !important;
          min-height:0 !important;
          overflow:hidden !important;
          background:#dfe7ec !important;
          border-right:1px solid #dce2e8 !important;
        }
        #root .offer-modal-aside-photo {
          position:absolute !important;
          inset:0 !important;
          display:block !important;
          width:100% !important;
          height:100% !important;
          object-fit:cover !important;
          object-position:47% center !important;
          border:0 !important;
          border-radius:0 !important;
          filter:none !important;
          transform:none !important;
        }
        #root .offer-modal-aside::after {
          content:"";
          position:absolute;
          inset:0;
          pointer-events:none;
          background:rgba(8,19,34,.05);
        }
        #root .offer-modal-aside-content {
          position:absolute !important;
          z-index:2 !important;
          left:0 !important;
          bottom:0 !important;
          width:min(82%,25rem) !important;
          max-height:none !important;
          display:flex !important;
          flex-direction:column !important;
          padding:1.45rem 1.55rem 1.3rem 1.75rem !important;
          background:#fff !important;
          border:0 !important;
          border-top:3px solid #ffd400 !important;
          overflow:visible !important;
          box-shadow:none !important;
        }
        #root .offer-modal-aside-content::before {
          content:"";
          position:absolute;
          left:0;
          top:1.35rem;
          bottom:1.35rem;
          width:2px;
          background:#ffd400;
        }
        #root .offer-modal-aside-brand {
          margin:0 0 .85rem !important;
          gap:.5rem !important;
        }
        #root .offer-modal-aside-brand img {
          width:1.75rem !important;
          height:1.75rem !important;
        }
        #root .offer-modal-aside-brand b {
          font-size:1.3rem !important;
          letter-spacing:-.04em !important;
        }
        #root .offer-modal-kicker {
          margin:0 !important;
          gap:.55rem !important;
          color:#718092 !important;
          font-size:.52rem !important;
          letter-spacing:.19em !important;
        }
        #root .offer-modal-kicker::before {
          width:1.45rem !important;
          background:#ffd400 !important;
        }
        #root .offer-modal-aside-copy h2 {
          margin:.68rem 0 .48rem !important;
          font-size:clamp(1.72rem,2.15vw,2.35rem) !important;
          line-height:1.01 !important;
          letter-spacing:-.05em !important;
          font-weight:500 !important;
        }
        #root .offer-modal-aside-copy h2 > small {
          margin-top:.34rem !important;
          color:#d3a200 !important;
          font-size:.54em !important;
          line-height:1.12 !important;
          font-weight:600 !important;
        }
        #root .offer-modal-aside-copy > p {
          max-width:22rem !important;
          margin:0 !important;
          color:#586777 !important;
          font-size:.67rem !important;
          line-height:1.48 !important;
        }
        #root .offer-modal-benefits {
          display:grid !important;
          grid-template-columns:repeat(2,minmax(0,1fr)) !important;
          gap:0 1rem !important;
          margin:.8rem 0 0 !important;
          border-top:1px solid #dfe5ea !important;
          counter-reset:offerProof !important;
        }
        #root .offer-modal-benefits > div {
          counter-increment:offerProof !important;
          position:relative !important;
          display:grid !important;
          grid-template-columns:1.25rem minmax(0,1fr) !important;
          gap:.42rem !important;
          align-items:start !important;
          padding:.55rem 0 0 !important;
          border:0 !important;
          min-width:0 !important;
        }
        #root .offer-modal-benefits > div::before {
          content:"0" counter(offerProof) !important;
          color:#c49300 !important;
          font-size:.49rem !important;
          line-height:1.3 !important;
          font-weight:700 !important;
          letter-spacing:.08em !important;
        }
        #root .offer-modal-benefits > div > span { min-width:0 !important; }
        #root .offer-modal-benefits b {
          font-size:.59rem !important;
          line-height:1.25 !important;
          font-weight:650 !important;
        }
        #root .offer-modal-benefits small {
          margin-top:.12rem !important;
          font-size:.5rem !important;
          line-height:1.3 !important;
        }
        #root .offer-modal-aside-footer { display:none !important; }

        #root .offer-modal-form-shell {
          padding:2.6rem 2.7rem 1.6rem !important;
          background:#fff !important;
        }
        #root .offer-modal-form-heading {
          margin:0 0 1.35rem !important;
          padding:1.05rem 3rem 0 0 !important;
        }
        #root .offer-modal-form-heading::before {
          width:2.9rem !important;
          height:2px !important;
          background:#ffd400 !important;
        }
        #root .offer-modal-form-heading::after {
          content:"ZAPYTANIE / 01" !important;
          color:#8793a0 !important;
          font-size:.48rem !important;
          letter-spacing:.16em !important;
        }
        #root .offer-modal-form-heading h2 {
          max-width:13em !important;
          font-size:clamp(1.9rem,2.45vw,2.5rem) !important;
          line-height:1.03 !important;
          font-weight:500 !important;
          letter-spacing:-.05em !important;
        }
        #root .offer-modal-form-heading p {
          max-width:35rem !important;
          font-size:.7rem !important;
          line-height:1.48 !important;
        }
        #root .offer-modal-form { gap:.68rem !important; }
        #root .offer-modal-row { gap:.68rem !important; }
        #root .offer-modal-field,
        #root .offer-modal-file {
          min-height:3.45rem !important;
          border:1px solid #d7dee5 !important;
          border-radius:0 !important;
          background:#fff !important;
          box-shadow:none !important;
        }
        #root .lexo-shell .offer-modal-field .b2b-form-input {
          min-height:3.35rem !important;
          border-radius:0 !important;
          font-size:.73rem !important;
        }
        #root .offer-modal-message { min-height:7.15rem !important; }
        #root .lexo-shell .offer-modal-message textarea.b2b-form-input { min-height:7.05rem !important; }
        #root .offer-modal-file { min-height:3.85rem !important; }
        #root .offer-modal-submit {
          min-height:3.12rem !important;
          border-radius:0 !important;
          background:#ffd400 !important;
          box-shadow:none !important;
        }
        #root .offer-modal-submit:hover { background:#f3c800 !important; }
        #root .b2b-modal-close {
          border-radius:0 !important;
          box-shadow:none !important;
        }

        @media(max-width:980px){
          #root .b2b-modal-panel {
            width:min(96vw,49rem) !important;
            max-width:49rem !important;
            height:min(56rem,calc(100dvh - 1.5rem)) !important;
          }
          #root .offer-modal-layout { grid-template-columns:1fr !important; }
          #root .offer-modal-aside { min-height:28rem !important; border-right:0 !important; border-bottom:1px solid #dce2e8 !important; }
          #root .offer-modal-aside-content { width:min(78%,27rem) !important; }
          #root .offer-modal-form-shell { padding:2.2rem 2rem 1.45rem !important; }
        }
        @media(max-width:720px){
          #root .offer-modal-aside { min-height:100dvh !important; background:#fff !important; }
          #root .offer-modal-aside-photo {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:17rem !important;
            object-position:center 34% !important;
          }
          #root .offer-modal-aside::after { display:none !important; }
          #root .offer-modal-aside-content {
            position:relative !important;
            left:auto !important;
            bottom:auto !important;
            width:100% !important;
            padding:1.45rem 1.25rem calc(1.45rem + env(safe-area-inset-bottom)) !important;
            border-top:3px solid #ffd400 !important;
          }
          #root .offer-modal-aside-content::before { display:none !important; }
          #root .offer-modal-benefits { grid-template-columns:1fr !important; gap:.4rem !important; }
          #root .offer-modal-form-shell { padding:4.7rem 1.15rem calc(1.2rem + env(safe-area-inset-bottom)) !important; }
        }
        /* === end B2B modal final LEXO hero balance === */
        /* === 2026-09-23 B2B modal photo correction === */
        #root .offer-modal-aside-photo {
          object-position:34% center !important;
        }
        #root .offer-modal-aside::after {
          display:none !important;
        }
        @media(max-width:720px){
          #root .offer-modal-aside-photo { object-position:30% center !important; }
        }
        /* === end B2B modal photo correction === */

        /* === 2026-09-23 B2B modal — editorial industrial redesign === */
        #root .b2b-modal-backdrop,
        #root .lexo-light-theme .b2b-modal-backdrop {
          background:rgba(8,19,34,.42) !important;
          backdrop-filter:blur(5px) !important;
        }
        #root .b2b-modal-panel {
          width:min(94vw,74rem) !important;
          max-width:74rem !important;
          height:min(43rem,calc(100dvh - 2rem)) !important;
          max-height:calc(100dvh - 2rem) !important;
          filter:drop-shadow(0 22px 54px rgba(8,19,34,.20)) !important;
        }
        #root .offer-modal-layout {
          grid-template-columns:minmax(0,35%) minmax(0,65%) !important;
          background:#fff !important;
          border:1px solid rgba(8,19,34,.12) !important;
          border-radius:0 !important;
          overflow:hidden !important;
        }

        /* Left side: typography first, image as a supporting strip. */
        #root .offer-modal-aside {
          display:grid !important;
          grid-template-columns:1fr !important;
          grid-template-rows:minmax(0,1fr) 12.5rem !important;
          min-height:0 !important;
          background:#fff !important;
          border-right:1px solid #e2e7eb !important;
          overflow:hidden !important;
        }
        #root .offer-modal-aside-content {
          position:relative !important;
          inset:auto !important;
          grid-row:1 !important;
          width:100% !important;
          max-height:none !important;
          display:flex !important;
          flex-direction:column !important;
          padding:2.25rem 2.35rem 1.6rem !important;
          background:#fff !important;
          border:0 !important;
          box-shadow:none !important;
          overflow:visible !important;
        }
        #root .offer-modal-aside-content::before { display:none !important; }
        #root .offer-modal-aside-photo {
          position:relative !important;
          inset:auto !important;
          grid-row:2 !important;
          display:block !important;
          width:100% !important;
          height:100% !important;
          min-height:0 !important;
          object-fit:cover !important;
          object-position:center 52% !important;
          border:0 !important;
          border-radius:0 !important;
          filter:none !important;
          transform:none !important;
        }
        #root .offer-modal-aside::after { display:none !important; }
        #root .offer-modal-aside-brand {
          margin:0 0 2.3rem !important;
          gap:.58rem !important;
        }
        #root .offer-modal-aside-brand img {
          width:2.05rem !important;
          height:2.05rem !important;
        }
        #root .offer-modal-aside-brand b {
          font-size:1.45rem !important;
          font-weight:700 !important;
          letter-spacing:-.045em !important;
        }
        #root .offer-modal-aside-copy { margin-top:auto !important; }
        #root .offer-modal-kicker {
          display:flex !important;
          align-items:center !important;
          gap:.65rem !important;
          margin:0 0 .9rem !important;
          color:#728092 !important;
          font-size:.54rem !important;
          line-height:1.35 !important;
          font-weight:700 !important;
          letter-spacing:.21em !important;
        }
        #root .offer-modal-kicker::before {
          content:"" !important;
          width:2rem !important;
          height:1px !important;
          background:#ffd400 !important;
          flex:none !important;
        }
        #root .offer-modal-aside-copy h2 {
          margin:0 0 .9rem !important;
          color:#081322 !important;
          font-size:clamp(2.15rem,3vw,3.05rem) !important;
          line-height:.98 !important;
          font-weight:500 !important;
          letter-spacing:-.055em !important;
        }
        #root .offer-modal-aside-copy h2 > span { display:block !important; }
        #root .offer-modal-aside-copy h2 > small {
          display:block !important;
          margin-top:.55rem !important;
          color:#d2a100 !important;
          font-size:.48em !important;
          line-height:1.15 !important;
          font-weight:600 !important;
          letter-spacing:-.025em !important;
        }
        #root .offer-modal-aside-copy > p {
          max-width:30rem !important;
          margin:0 !important;
          color:#5f6d7d !important;
          font-size:.76rem !important;
          line-height:1.55 !important;
        }
        #root .offer-modal-benefits {
          display:grid !important;
          grid-template-columns:1fr !important;
          gap:0 !important;
          margin:1.5rem 0 0 !important;
          padding-top:.35rem !important;
          border-top:1px solid #dde3e8 !important;
          counter-reset:offerProof !important;
        }
        #root .offer-modal-benefits > div {
          counter-increment:offerProof !important;
          display:grid !important;
          grid-template-columns:2rem minmax(0,1fr) !important;
          gap:.55rem !important;
          padding:.72rem 0 !important;
          border:0 !important;
          border-bottom:1px solid #edf0f3 !important;
          background:transparent !important;
        }
        #root .offer-modal-benefits > div::before {
          content:"0" counter(offerProof) !important;
          color:#c59600 !important;
          font-size:.55rem !important;
          line-height:1.35 !important;
          font-weight:700 !important;
          letter-spacing:.08em !important;
        }
        #root .offer-modal-benefits b {
          display:block !important;
          color:#081322 !important;
          font-size:.69rem !important;
          line-height:1.3 !important;
          font-weight:650 !important;
        }
        #root .offer-modal-benefits small {
          display:block !important;
          margin-top:.12rem !important;
          color:#738092 !important;
          font-size:.56rem !important;
          line-height:1.42 !important;
        }
        #root .offer-modal-aside-footer { display:none !important; }

        /* Right side: form as a clean technical worksheet, not a stack of cards. */
        #root .offer-modal-form-shell {
          min-height:0 !important;
          padding:2.4rem 2.65rem 1.6rem !important;
          background:#fbfcfd !important;
          overflow:auto !important;
        }
        #root .offer-modal-form-heading {
          position:relative !important;
          margin:0 0 1.75rem !important;
          padding:1.25rem 3.2rem 0 0 !important;
        }
        #root .offer-modal-form-heading::before {
          content:"" !important;
          position:absolute !important;
          top:0 !important;
          left:0 !important;
          width:2.75rem !important;
          height:2px !important;
          background:#ffd400 !important;
        }
        #root .offer-modal-form-heading::after {
          content:"01 / PROJEKT" !important;
          position:absolute !important;
          top:.05rem !important;
          right:0 !important;
          color:#8793a0 !important;
          font-size:.48rem !important;
          line-height:1.3 !important;
          letter-spacing:.16em !important;
          font-weight:700 !important;
        }
        #root .offer-modal-form-heading h2 {
          margin:0 0 .45rem !important;
          color:#081322 !important;
          font-size:clamp(2rem,2.65vw,2.75rem) !important;
          line-height:1.02 !important;
          font-weight:500 !important;
          letter-spacing:-.05em !important;
        }
        #root .offer-modal-form-heading p {
          max-width:35rem !important;
          margin:0 !important;
          color:#617083 !important;
          font-size:.75rem !important;
          line-height:1.5 !important;
        }
        #root .offer-modal-form {
          display:grid !important;
          grid-template-columns:repeat(2,minmax(0,1fr)) !important;
          gap:1rem 1.1rem !important;
          align-content:start !important;
        }
        #root .offer-modal-field-wide,
        #root .offer-modal-row,
        #root .offer-modal-message,
        #root .offer-modal-file,
        #root .offer-modal-consent,
        #root .offer-modal-error {
          grid-column:1 / -1 !important;
        }
        #root .offer-modal-row {
          display:grid !important;
          grid-template-columns:repeat(2,minmax(0,1fr)) !important;
          gap:1.1rem !important;
        }
        #root .offer-modal-field {
          position:relative !important;
          display:grid !important;
          align-content:start !important;
          gap:.42rem !important;
          min-height:0 !important;
          padding:0 !important;
          border:0 !important;
          border-radius:0 !important;
          background:transparent !important;
          box-shadow:none !important;
        }
        #root .offer-modal-field > svg:not(.offer-modal-select-arrow) { display:none !important; }
        #root .offer-modal-field-label {
          display:flex !important;
          align-items:center !important;
          gap:.45rem !important;
          color:#667587 !important;
          font-size:.58rem !important;
          line-height:1.3 !important;
          font-weight:700 !important;
          letter-spacing:.035em !important;
        }
        #root .offer-modal-field-label svg {
          width:.9rem !important;
          height:.9rem !important;
          flex:none !important;
          color:#8190a0 !important;
          stroke-width:1.7 !important;
        }
        #root .offer-modal-field-label b { font:inherit !important; color:inherit !important; }
        #root .lexo-shell .offer-modal-field .b2b-form-input {
          width:100% !important;
          min-height:2.75rem !important;
          padding:.7rem .75rem .62rem !important;
          border:0 !important;
          border-bottom:1px solid #cfd7df !important;
          border-radius:0 !important;
          background:#f2f5f7 !important;
          color:#081322 !important;
          box-shadow:none !important;
          font-size:.76rem !important;
          line-height:1.35 !important;
          outline:0 !important;
          transition:border-color .18s ease,background-color .18s ease !important;
        }
        #root .lexo-shell .offer-modal-field .b2b-form-input:focus {
          border-bottom-color:#c79a00 !important;
          background:#fff !important;
          box-shadow:none !important;
          transform:none !important;
        }
        #root .offer-modal-select-arrow {
          right:.75rem !important;
          bottom:.92rem !important;
          width:.85rem !important;
          height:.85rem !important;
          color:#5f6d7d !important;
        }
        #root .offer-modal-message {
          min-height:0 !important;
        }
        #root .lexo-shell .offer-modal-message textarea.b2b-form-input {
          min-height:6rem !important;
          resize:none !important;
          padding-top:.8rem !important;
        }
        #root .offer-modal-message > small {
          right:.1rem !important;
          bottom:.35rem !important;
          font-size:.52rem !important;
          color:#8290a0 !important;
        }
        #root .offer-modal-message-note {
          position:static !important;
          margin:0 !important;
          color:#9b7600 !important;
          font-size:.54rem !important;
          line-height:1.4 !important;
        }
        #root .offer-modal-file {
          display:grid !important;
          grid-template-columns:auto minmax(0,1fr) auto !important;
          align-items:center !important;
          gap:.75rem !important;
          min-height:3.25rem !important;
          padding:.65rem .8rem !important;
          border:0 !important;
          border-bottom:1px solid #cfd7df !important;
          border-radius:0 !important;
          background:#f2f5f7 !important;
          box-shadow:none !important;
        }
        #root .offer-modal-file > svg {
          width:1rem !important;
          height:1rem !important;
          color:#7a8998 !important;
        }
        #root .offer-modal-file span b {
          font-size:.66rem !important;
          font-weight:650 !important;
        }
        #root .offer-modal-file span small {
          font-size:.52rem !important;
          color:#7d8996 !important;
        }
        #root .offer-modal-file > strong {
          align-self:center !important;
          padding:.45rem .75rem !important;
          border:1px solid #cfd7df !important;
          background:#fff !important;
          color:#081322 !important;
          font-size:.56rem !important;
          font-weight:700 !important;
          letter-spacing:.03em !important;
        }
        #root .offer-modal-consent {
          display:flex !important;
          align-items:flex-start !important;
          gap:.6rem !important;
          margin:.1rem 0 0 !important;
          color:#687687 !important;
          font-size:.57rem !important;
          line-height:1.45 !important;
        }
        #root .offer-modal-consent input {
          width:.9rem !important;
          height:.9rem !important;
          margin:.12rem 0 0 !important;
          accent-color:#ffd400 !important;
        }
        #root .offer-modal-security {
          grid-column:1 !important;
          align-self:center !important;
          justify-self:start !important;
          display:flex !important;
          align-items:center !important;
          gap:.45rem !important;
          color:#7b8897 !important;
          font-size:.56rem !important;
        }
        #root .offer-modal-security svg { width:.9rem !important;height:.9rem !important; }
        #root .offer-modal-submit {
          grid-column:2 !important;
          width:100% !important;
          min-height:3rem !important;
          justify-self:stretch !important;
          display:flex !important;
          align-items:center !important;
          justify-content:space-between !important;
          padding:.8rem 1rem !important;
          border:0 !important;
          border-radius:0 !important;
          background:#ffd400 !important;
          color:#081322 !important;
          box-shadow:none !important;
          font-size:.68rem !important;
          font-weight:650 !important;
        }
        #root .offer-modal-submit:hover { background:#f3c800 !important; }
        #root .offer-modal-submit svg { width:1rem !important;height:1rem !important; }
        #root .b2b-modal-close {
          top:.75rem !important;
          right:.75rem !important;
          width:2.35rem !important;
          height:2.35rem !important;
          border-radius:0 !important;
          border:1px solid #d8dfe5 !important;
          background:#fff !important;
          box-shadow:none !important;
        }

        @media(max-width:980px){
          #root .b2b-modal-panel {
            width:min(96vw,48rem) !important;
            max-width:48rem !important;
            height:min(56rem,calc(100dvh - 1.5rem)) !important;
          }
          #root .offer-modal-layout { grid-template-columns:1fr !important; }
          #root .offer-modal-aside {
            grid-template-rows:auto 11rem !important;
            border-right:0 !important;
            border-bottom:1px solid #e2e7eb !important;
          }
          #root .offer-modal-aside-content { padding:1.7rem 1.8rem 1.35rem !important; }
          #root .offer-modal-aside-brand { margin-bottom:1.5rem !important; }
          #root .offer-modal-benefits { grid-template-columns:repeat(2,minmax(0,1fr)) !important; column-gap:1rem !important; }
          #root .offer-modal-benefits > div { border-bottom:0 !important; }
          #root .offer-modal-form-shell { padding:2rem 1.8rem 1.4rem !important; }
        }
        @media(max-width:720px){
          #root .offer-modal-aside { min-height:100dvh !important; display:block !important; }
          #root .offer-modal-aside-photo { height:13.5rem !important; object-position:center 48% !important; }
          #root .offer-modal-aside-content { padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom)) !important; }
          #root .offer-modal-benefits { grid-template-columns:1fr !important; }
          #root .offer-modal-form-shell { padding:4.7rem 1.15rem calc(1.2rem + env(safe-area-inset-bottom)) !important; }
          #root .offer-modal-form { grid-template-columns:1fr !important; }
          #root .offer-modal-row { grid-template-columns:1fr !important; }
          #root .offer-modal-field-wide,
          #root .offer-modal-row,
          #root .offer-modal-message,
          #root .offer-modal-file,
          #root .offer-modal-consent,
          #root .offer-modal-error,
          #root .offer-modal-security,
          #root .offer-modal-submit { grid-column:1 !important; }
        }


        /* === 2026-09-23 B2B modal — refinement / cleanup === */
        #root .b2b-modal-panel {
          width:min(93vw,73rem) !important;
          max-width:73rem !important;
          height:min(42.5rem,calc(100dvh - 2.5rem)) !important;
          max-height:calc(100dvh - 2.5rem) !important;
          filter:drop-shadow(0 20px 48px rgba(8,19,34,.18)) !important;
        }
        #root .offer-modal-layout {
          grid-template-columns:minmax(0,34%) minmax(0,66%) !important;
          border-color:#dfe4e9 !important;
        }

        /* Left column: slightly quieter, better hierarchy. */
        #root .offer-modal-aside {
          grid-template-rows:minmax(0,1fr) 10.75rem !important;
        }
        #root .offer-modal-aside-content {
          padding:2rem 2.1rem 1.45rem !important;
        }
        #root .offer-modal-aside-brand {
          margin-bottom:1.8rem !important;
        }
        #root .offer-modal-aside-copy h2 {
          max-width:9em !important;
          font-size:clamp(2rem,2.7vw,2.75rem) !important;
          margin-bottom:.7rem !important;
        }
        #root .offer-modal-aside-copy > p {
          font-size:.72rem !important;
          line-height:1.52 !important;
        }
        #root .offer-modal-benefits {
          margin-top:1.15rem !important;
          padding-top:.2rem !important;
        }
        #root .offer-modal-benefits > div {
          grid-template-columns:1.45rem minmax(0,1fr) !important;
          gap:.6rem !important;
          padding:.62rem 0 !important;
        }
        #root .offer-modal-benefits > div::before {
          display:none !important;
          content:none !important;
        }
        #root .offer-modal-benefits i {
          display:block !important;
          padding-top:.05rem;
          color:#c49300 !important;
          font-style:normal !important;
          font-size:.5rem !important;
          line-height:1.35 !important;
          font-weight:700 !important;
          letter-spacing:.08em !important;
        }
        #root .offer-modal-aside-photo {
          object-position:center 58% !important;
          filter:saturate(.96) contrast(.99) !important;
        }

        /* Form header: one kicker only, no duplicated pseudo label. */
        #root .offer-modal-form-shell {
          padding:2.05rem 2.4rem 1.35rem !important;
          overflow:hidden !important;
        }
        #root .offer-modal-form-heading {
          margin:0 0 1.2rem !important;
          padding:0 2.7rem 0 0 !important;
        }
        #root .offer-modal-form-heading::before,
        #root .offer-modal-form-heading::after {
          display:none !important;
          content:none !important;
        }
        #root .offer-modal-form-kicker {
          display:flex !important;
          align-items:center !important;
          gap:.65rem !important;
          margin:0 0 .68rem !important;
          color:#728092 !important;
          font-size:.49rem !important;
          line-height:1.3 !important;
          font-weight:700 !important;
          letter-spacing:.18em !important;
        }
        #root .offer-modal-form-kicker::before {
          content:"" !important;
          width:1.8rem !important;
          height:1px !important;
          flex:none !important;
          margin:0 !important;
          background:#ffd400 !important;
        }
        #root .offer-modal-form-heading h2 {
          max-width:none !important;
          margin:0 0 .35rem !important;
          font-size:clamp(1.8rem,2.35vw,2.35rem) !important;
          line-height:1.03 !important;
        }
        #root .offer-modal-form-heading p {
          max-width:36rem !important;
          font-size:.69rem !important;
          line-height:1.45 !important;
        }

        /* Tighter technical form rhythm. */
        #root .offer-modal-form {
          gap:.72rem .9rem !important;
        }
        #root .offer-modal-row {
          gap:.9rem !important;
        }
        #root .offer-modal-field-label {
          gap:.38rem !important;
          font-size:.55rem !important;
          letter-spacing:.025em !important;
        }
        #root .offer-modal-field-label svg {
          width:.82rem !important;
          height:.82rem !important;
        }
        #root .lexo-shell .offer-modal-field .b2b-form-input {
          min-height:2.6rem !important;
          padding:.62rem .7rem .56rem !important;
          background:#f5f7f8 !important;
          font-size:.72rem !important;
        }
        #root .lexo-shell .offer-modal-field .b2b-form-input:focus {
          background:#fff !important;
        }
        #root .offer-modal-select-arrow {
          bottom:.82rem !important;
        }
        #root .lexo-shell .offer-modal-message textarea.b2b-form-input {
          min-height:5.35rem !important;
        }
        #root .offer-modal-file {
          min-height:2.9rem !important;
          padding:.52rem .68rem !important;
          background:#f5f7f8 !important;
        }
        #root .offer-modal-file > strong {
          padding:.42rem .66rem !important;
          border:0 !important;
          border-left:1px solid #cfd7df !important;
          background:transparent !important;
        }
        #root .offer-modal-consent {
          margin:0 !important;
          font-size:.55rem !important;
        }

        /* Footer: security left, CTA right — one deliberate baseline. */
        #root .offer-modal-actions {
          grid-column:1 / -1 !important;
          display:grid !important;
          grid-template-columns:minmax(0,1fr) minmax(13rem,15rem) !important;
          align-items:center !important;
          gap:1rem !important;
          margin-top:.05rem !important;
          padding-top:.78rem !important;
          border-top:1px solid #e2e7eb !important;
        }
        #root .offer-modal-actions .offer-modal-security {
          grid-column:auto !important;
          justify-self:start !important;
          margin:0 !important;
          font-size:.54rem !important;
        }
        #root .offer-modal-actions .offer-modal-submit {
          grid-column:auto !important;
          width:100% !important;
          min-height:2.75rem !important;
          padding:.72rem .9rem !important;
          font-size:.67rem !important;
        }
        #root .offer-modal-error {
          grid-column:1 / -1 !important;
          margin-top:0 !important;
        }
        #root .b2b-modal-close {
          top:.65rem !important;
          right:.65rem !important;
          width:2.2rem !important;
          height:2.2rem !important;
        }

        @media(max-width:980px){
          #root .b2b-modal-panel {
            width:min(96vw,48rem) !important;
            max-width:48rem !important;
            height:min(55rem,calc(100dvh - 1.5rem)) !important;
          }
          #root .offer-modal-form-shell { overflow-y:auto !important; }
          #root .offer-modal-actions {
            grid-template-columns:minmax(0,1fr) minmax(12rem,14rem) !important;
          }
        }
        @media(max-width:720px){
          #root .offer-modal-form-shell { overflow-y:auto !important; }
          #root .offer-modal-contact-row { grid-template-columns:1fr !important; }
          #root .offer-modal-actions {
            grid-template-columns:1fr !important;
            gap:.7rem !important;
          }
          #root .offer-modal-actions .offer-modal-submit { order:1; }
          #root .offer-modal-actions .offer-modal-security {
            order:2;
            justify-self:center !important;
          }
        }
        /* === end B2B modal refinement / cleanup === */

        /* === 2026-09-24 B2B modal — match approved reference === */
        #root .b2b-modal-backdrop,
        #root .lexo-light-theme .b2b-modal-backdrop {
          padding:clamp(18px,3vw,34px) !important;
          background:rgba(238,242,246,.90) !important;
          backdrop-filter:blur(8px) !important;
        }
        #root .b2b-modal-panel {
          width:min(95vw,84rem) !important;
          max-width:84rem !important;
          height:min(92dvh,59rem) !important;
          max-height:92dvh !important;
          filter:drop-shadow(0 24px 58px rgba(8,19,34,.15)) !important;
        }
        #root .offer-modal-layout {
          height:100% !important;
          grid-template-columns:minmax(0,34%) minmax(0,66%) !important;
          border:1px solid #dfe4e9 !important;
          border-radius:6px !important;
          overflow:hidden !important;
          background:#fff !important;
        }
        #root .offer-modal-aside {
          grid-template-rows:minmax(0,1fr) 15.5rem !important;
          border-right:1px solid #e1e6ea !important;
          background:#fff !important;
        }
        #root .offer-modal-aside-content { padding:2.55rem 2.75rem 2rem !important; overflow:hidden !important; }
        #root .offer-modal-aside-brand { margin:0 0 3rem !important; gap:.75rem !important; }
        #root .offer-modal-aside-brand img { width:2.35rem !important; height:2.35rem !important; }
        #root .offer-modal-aside-brand b { font-size:1.85rem !important; line-height:1 !important; font-weight:750 !important; letter-spacing:-.045em !important; }
        #root .offer-modal-aside-copy { margin-top:0 !important; }
        #root .offer-modal-kicker { margin:0 0 1.15rem !important; gap:.8rem !important; font-size:.62rem !important; letter-spacing:.22em !important; color:#718092 !important; }
        #root .offer-modal-kicker::before { width:2.45rem !important; background:#ffd400 !important; }
        #root .offer-modal-aside-copy h2 { max-width:none !important; margin:0 0 1.15rem !important; font-size:clamp(2.45rem,3.25vw,3.5rem) !important; line-height:.98 !important; font-weight:600 !important; }
        #root .offer-modal-aside-copy h2 > small { margin-top:.65rem !important; color:#d5a300 !important; font-size:.55em !important; line-height:1.12 !important; font-weight:650 !important; }
        #root .offer-modal-aside-copy > p { max-width:28rem !important; font-size:.91rem !important; line-height:1.55 !important; color:#5f6d7d !important; }
        #root .offer-modal-benefits { grid-template-columns:1fr !important; gap:0 !important; margin:1.75rem 0 0 !important; padding:.45rem 0 0 !important; border-top:1px solid #dce2e7 !important; }
        #root .offer-modal-benefits > div { display:grid !important; grid-template-columns:3rem minmax(0,1fr) !important; align-items:center !important; gap:1rem !important; padding:.82rem 0 !important; border-bottom:0 !important; }
        #root .offer-modal-benefits > div::before,
        #root .offer-modal-benefits i { display:none !important; content:none !important; }
        #root .offer-modal-benefits svg { display:block !important; width:3rem !important; height:3rem !important; padding:.68rem !important; border-radius:50% !important; background:#fff6d8 !important; color:#e2aa00 !important; stroke-width:1.7 !important; }
        #root .offer-modal-benefits b { font-size:.82rem !important; line-height:1.25 !important; font-weight:700 !important; }
        #root .offer-modal-benefits small { margin-top:.2rem !important; font-size:.72rem !important; line-height:1.38 !important; color:#718093 !important; }
        #root .offer-modal-aside-photo { object-position:center 58% !important; filter:saturate(.98) contrast(1.01) !important; }

        #root .offer-modal-form-shell { padding:3rem 2.8rem 2.2rem !important; background:#fff !important; overflow-y:auto !important; }
        #root .offer-modal-form-heading { margin:0 0 1.75rem !important; padding:0 3rem 0 0 !important; }
        #root .offer-modal-form-kicker { margin:0 0 .9rem !important; gap:.75rem !important; font-size:.58rem !important; letter-spacing:.19em !important; }
        #root .offer-modal-form-kicker::before { width:2.5rem !important; }
        #root .offer-modal-form-heading h2 { margin:0 0 .5rem !important; font-size:clamp(2.35rem,3vw,3.15rem) !important; line-height:1 !important; font-weight:600 !important; }
        #root .offer-modal-form-heading p { max-width:42rem !important; font-size:.9rem !important; line-height:1.48 !important; }
        #root .offer-modal-form { gap:1rem 1.2rem !important; }
        #root .offer-modal-row { gap:1.2rem !important; }
        #root .offer-modal-field-label { gap:.52rem !important; font-size:.72rem !important; line-height:1.25 !important; font-weight:650 !important; letter-spacing:0 !important; }
        #root .offer-modal-field-label svg { width:1.1rem !important; height:1.1rem !important; color:#6d7b8d !important; stroke-width:1.7 !important; }
        #root .lexo-shell .offer-modal-field .b2b-form-input { min-height:3.2rem !important; padding:.85rem .95rem !important; border:1px solid #d6dde4 !important; background:#fff !important; color:#223142 !important; font-size:.84rem !important; }
        #root .lexo-shell .offer-modal-field .b2b-form-input::placeholder { color:#a4afbb !important; opacity:1 !important; }
        #root .offer-modal-select-arrow { bottom:1.02rem !important; width:1rem !important; height:1rem !important; }
        #root .lexo-shell .offer-modal-message textarea.b2b-form-input { min-height:7.3rem !important; padding-bottom:1.65rem !important; }
        #root .offer-modal-message > small { right:.85rem !important; bottom:.62rem !important; font-size:.64rem !important; }
        #root .offer-modal-file { min-height:4.2rem !important; padding:.72rem .8rem !important; border:1px solid #d6dde4 !important; background:#fff !important; }
        #root .offer-modal-file > svg { width:1.35rem !important; height:1.35rem !important; color:#687789 !important; }
        #root .offer-modal-file > span b { font-size:.76rem !important; }
        #root .offer-modal-file > span small { margin-top:.18rem !important; font-size:.68rem !important; }
        #root .offer-modal-file > strong { min-width:10rem !important; padding:.85rem 1rem !important; border:1px solid #d6dde4 !important; background:#fff !important; font-size:.72rem !important; text-align:center !important; }
        #root .offer-modal-consent { margin:.1rem 0 0 !important; gap:.7rem !important; font-size:.68rem !important; line-height:1.42 !important; }
        #root .offer-modal-consent input { width:1.25rem !important; height:1.25rem !important; flex:none !important; }
        #root .offer-modal-actions { grid-template-columns:minmax(0,1fr) minmax(17rem,18rem) !important; gap:1.25rem !important; margin-top:.25rem !important; padding-top:.9rem !important; border-top:0 !important; }
        #root .offer-modal-actions .offer-modal-security { font-size:.68rem !important; color:#718093 !important; }
        #root .offer-modal-actions .offer-modal-security svg { width:1.25rem !important; height:1.25rem !important; color:#687789 !important; }
        #root .offer-modal-actions .offer-modal-submit { min-height:4rem !important; padding:1rem 1.35rem !important; background:#ffd400 !important; font-size:.95rem !important; font-weight:750 !important; }
        #root .offer-modal-actions .offer-modal-submit svg { width:1.15rem !important; height:1.15rem !important; }
        #root .b2b-modal-close { top:1rem !important; right:1rem !important; width:2.7rem !important; height:2.7rem !important; border-radius:4px !important; border-color:#d3dae1 !important; background:#fff !important; box-shadow:none !important; }

        @media(max-width:1180px) and (min-width:981px) {
          #root .b2b-modal-panel { width:min(96vw,72rem) !important; height:min(94dvh,49rem) !important; }
          #root .offer-modal-aside { grid-template-rows:minmax(0,1fr) 12rem !important; }
          #root .offer-modal-aside-content { padding:2rem 2rem 1.4rem !important; }
          #root .offer-modal-aside-brand { margin-bottom:1.8rem !important; }
          #root .offer-modal-aside-copy h2 { font-size:clamp(2rem,3vw,2.7rem) !important; }
          #root .offer-modal-aside-copy > p { font-size:.75rem !important; }
          #root .offer-modal-benefits { margin-top:1rem !important; }
          #root .offer-modal-benefits > div { grid-template-columns:2.25rem minmax(0,1fr) !important; gap:.65rem !important; padding:.5rem 0 !important; }
          #root .offer-modal-benefits svg { width:2.25rem !important; height:2.25rem !important; padding:.48rem !important; }
          #root .offer-modal-benefits b { font-size:.66rem !important; }
          #root .offer-modal-benefits small { font-size:.57rem !important; }
          #root .offer-modal-form-shell { padding:2rem 2rem 1.45rem !important; }
          #root .offer-modal-form-heading { margin-bottom:1.1rem !important; }
          #root .offer-modal-form-heading h2 { font-size:clamp(1.85rem,3vw,2.4rem) !important; }
          #root .offer-modal-form-heading p { font-size:.7rem !important; }
          #root .offer-modal-form { gap:.7rem .9rem !important; }
          #root .offer-modal-field-label { font-size:.58rem !important; }
          #root .lexo-shell .offer-modal-field .b2b-form-input { min-height:2.55rem !important; padding:.6rem .7rem !important; font-size:.7rem !important; }
          #root .lexo-shell .offer-modal-message textarea.b2b-form-input { min-height:5rem !important; }
          #root .offer-modal-file { min-height:2.9rem !important; padding:.5rem .65rem !important; }
          #root .offer-modal-file > strong { min-width:7rem !important; padding:.55rem .65rem !important; font-size:.58rem !important; }
          #root .offer-modal-consent,
          #root .offer-modal-actions .offer-modal-security { font-size:.56rem !important; }
          #root .offer-modal-actions { grid-template-columns:minmax(0,1fr) minmax(13rem,14rem) !important; padding-top:.5rem !important; }
          #root .offer-modal-actions .offer-modal-submit { min-height:2.8rem !important; font-size:.7rem !important; }
        }
        /* === end B2B modal approved reference === */

        /* === end B2B modal editorial industrial redesign === */




        
        .lexo-light-theme .office-map-card {
          background: #ffffff !important;
          border-color: rgba(232,131,0,.34) !important;
          box-shadow: 0 18px 42px rgba(18,33,58,.12) !important;
        }
        .lexo-light-theme .office-map-backdrop {
          background: #eef3f9 !important;
        }
        .lexo-light-theme .office-map-frame {
          filter: none !important;
          background: #eef3f9 !important;
        }
        .lexo-light-theme .office-map-label {
          background: rgba(255,255,255,.92) !important;
          border-color: rgba(232,131,0,.34) !important;
          box-shadow: 0 14px 34px rgba(18,33,58,.16) !important;
        }
        .lexo-light-theme .office-map-label span:first-child {
          color: var(--lexo-orange-deep) !important;
        }
        .lexo-light-theme .office-map-label span:last-child {
          color: var(--lexo-navy) !important;
        }
        .lexo-light-theme .office-map-ring {
          --tw-ring-color: rgba(232,131,0,.28) !important;
          box-shadow: inset 0 0 0 1px rgba(232,131,0,.18) !important;
        }
        
        .lexo-light-theme .europe-map-card {
          --europe-map-bg: #dbeafe;
          --europe-map-country: #f8fafc;
          --europe-map-country-stroke: rgba(18,33,58,.28);
          --europe-map-market: rgba(255,190,24,.34);
          --europe-map-project: rgba(245,158,11,.46);
          --europe-map-highlight: #e88300;
          --europe-map-market-stroke: rgba(184,101,0,.82);
          --europe-map-active-stroke: #12213a;
          --europe-map-ref-bg: rgba(255,255,255,.9);
          --europe-map-ref-text: var(--lexo-navy);
        }
        .lexo-light-theme .europe-map-viewport {
          background: linear-gradient(180deg, #dbeafe 0%, #edf6ff 100%) !important;
          background-color: #dbeafe !important;
          border-color: rgba(18,33,58,.16) !important;
        }
        .lexo-light-theme.light-blocks-shell .slide-panel .europe-map-viewport {
          background: linear-gradient(180deg, #dbeafe 0%, #edf6ff 100%) !important;
          background-color: #dbeafe !important;
          border-color: rgba(18,33,58,.16) !important;
        }
        .lexo-light-theme .europe-map-svg {
          background: #dbeafe !important;
        }
        .lexo-light-theme .europe-map-ref {
          border: 1px solid rgba(232,131,0,.24);
        }

        /* Shared navigation chrome: every slide follows the home-page header and footer. */
        #root .lexo-shell > header {
          background:rgba(255,255,255,.97) !important;
          border-color:#e5e7eb !important;
          padding:1rem 2rem !important;
          color:#090f15 !important;
          font-family:Arial,Helvetica,sans-serif !important;
        }
        #root .lexo-shell > header .max-w-7xl {
          width:100% !important;
          max-width:96rem !important;
          margin-left:auto !important;
          margin-right:auto !important;
        }
        #root .lexo-shell > header .text-white { color:#090f15 !important; }
        #root .lexo-shell > header .text-lime-400 { color:#606874 !important; }
        #root .lexo-shell .main-nav-pill {
          display:flex !important;
          align-items:center !important;
          gap:clamp(.8rem,1.7vw,2rem) !important;
          padding:0 !important;
          background:transparent !important;
          border:0 !important;
          border-radius:0 !important;
          box-shadow:none !important;
        }
        #root .lexo-shell .main-nav-item,
        #root .lexo-shell .main-nav-item:hover {
          padding:.7rem .25rem !important;
          background:transparent !important;
          color:#090f15 !important;
          border-radius:0 !important;
          font-size:.76rem !important;
          font-weight:700 !important;
          font-family:Arial,Helvetica,sans-serif !important;
          box-shadow:none !important;
          outline:none !important;
          transform:none !important;
        }
        #root .lexo-shell .main-nav-item-active {
          color:#090f15 !important;
          background:transparent !important;
          border:0 !important;
          border-bottom:2px solid #f5cf00 !important;
          box-shadow:none !important;
        }
        #root .lexo-shell .theme-toggle-btn { display:none !important; }
        #root .lexo-shell .language-trigger {
          min-width:6.1rem !important;
          height:2.9rem !important;
          padding:0 .8rem !important;
          justify-content:center !important;
          gap:.65rem !important;
          background:#fff !important;
          color:#090f15 !important;
          border-color:#dfe3e7 !important;
          border-radius:.55rem !important;
          box-shadow:0 4px 14px rgba(15,23,42,.04) !important;
        }
        #root .lexo-shell .language-flag,
        #root .lexo-shell .language-option-flag {
          display:inline-block !important;
          width:1.25rem !important;
          height:.85rem !important;
          flex:none !important;
          border-radius:.12rem !important;
          border:1px solid rgba(15,23,42,.15) !important;
          background-size:100% 100% !important;
          background-repeat:no-repeat !important;
          box-shadow:0 1px 2px rgba(15,23,42,.1) !important;
        }
        #root .lexo-shell .language-flag-pl,
        #root .lexo-shell .language-option-flag-pl {
          background:linear-gradient(to bottom,#fff 0 49%,#dc143c 50% 100%) !important;
        }
        #root .lexo-shell .language-flag-de,
        #root .lexo-shell .language-option-flag-de {
          background:linear-gradient(to bottom,#111 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666% 100%) !important;
        }
        #root .lexo-shell .language-flag-es,
        #root .lexo-shell .language-option-flag-es {
          background:linear-gradient(to bottom,#aa151b 0 25%,#f1bf00 25% 75%,#aa151b 75% 100%) !important;
        }
        #root .lexo-shell .language-flag-en,
        #root .lexo-shell .language-option-flag-en {
          background:
            linear-gradient(33deg,transparent 43%,#fff 43% 48%,#c8102e 48% 52%,#fff 52% 57%,transparent 57%),
            linear-gradient(-33deg,transparent 43%,#fff 43% 48%,#c8102e 48% 52%,#fff 52% 57%,transparent 57%),
            linear-gradient(to right,transparent 37%,#fff 37% 43%,#c8102e 43% 57%,#fff 57% 63%,transparent 63%),
            linear-gradient(to bottom,transparent 34%,#fff 34% 41%,#c8102e 41% 59%,#fff 59% 66%,transparent 66%),
            #012169 !important;
        }
        #root .lexo-shell .language-trigger > span.uppercase { font-size:.78rem !important; font-weight:800 !important; }
        #root .lexo-shell .language-chevron { color:#202830 !important; stroke-width:2.2 !important; }
        #root .lexo-shell .header-cta-btn,
        #root .lexo-shell .header-cta-btn:hover {
          min-height:clamp(2.45rem,5.5vh,2.9rem) !important;
          padding:clamp(.65rem,1.5vh,.8rem) clamp(.8rem,1.25vw,1.2rem) !important;
          background:#eff000 !important;
          color:#090f15 !important;
          border:0 !important;
          border-radius:.2rem !important;
          box-shadow:none !important;
          transform:none !important;
          font-size:clamp(.66rem,.72vw,.8rem) !important;
          font-weight:900 !important;
          white-space:nowrap !important;
        }
        #root .lexo-shell > header .header-brand {
          min-width:max-content !important;
          flex:0 0 auto !important;
        }
        #root .lexo-shell > header .header-brand-tagline,
        #root .lexo-shell > header .header-cta-btn {
          white-space:nowrap !important;
        }
        #root .lexo-shell > header .header-cta-btn {
          flex:0 0 auto !important;
          line-height:1.1 !important;
        }
        @media (max-width:1279px) {
          #root .lexo-shell > header {
            padding:.8rem 1.25rem !important;
          }
          #root .lexo-shell > header .max-w-7xl {
            gap:1.25rem !important;
          }
          #root .lexo-shell .main-nav-pill {
            display:none !important;
          }
          #root .lexo-shell > header .mobile-menu-toggle {
            width:2.75rem !important;
            height:2.75rem !important;
            display:flex !important;
            flex:0 0 2.75rem !important;
            border-radius:50% !important;
          }
          #root .lexo-shell > header .mobile-menu-overlay {
            display:block !important;
          }
          #root .lexo-shell > header .header-language-picker {
            flex:0 0 auto !important;
          }
          #root .lexo-shell > header .language-trigger {
            min-width:5.45rem !important;
            height:2.75rem !important;
            padding:0 .7rem !important;
          }
          #root .lexo-shell > header .header-cta-btn {
            min-height:2.75rem !important;
            padding:.65rem 1rem !important;
            font-size:.68rem !important;
            gap:.65rem !important;
          }
        }
        @media (max-width:820px) {
          #root .lexo-shell > header .header-cta-btn {
            display:none !important;
          }
        }
        #root .lexo-shell > .story-footer {
          position:relative !important;
          inset:auto !important;
          top:auto !important;
          right:auto !important;
          bottom:auto !important;
          left:auto !important;
          flex:0 0 auto !important;
          width:100% !important;
          padding:.8rem var(--lexo-page-gutter) !important;
          background:#fff !important;
          border-color:#e5e7eb !important;
          color:#090f15 !important;
          box-shadow:none !important;
          backdrop-filter:none !important;
        }
        #root .lexo-shell > .story-footer .story-footer-inner {
          width:100% !important;
          max-width:none !important;
          margin-left:auto !important;
          margin-right:auto !important;
          display:grid !important;
          grid-template-columns:minmax(7rem,auto) minmax(14rem,34rem) minmax(7rem,auto) !important;
          align-items:center !important;
          justify-content:space-between !important;
          gap:clamp(1.2rem,3.5vw,4.5rem) !important;
        }
        #root .lexo-shell .story-footer-index {
          display:flex !important;
          align-items:center !important;
          gap:.7rem !important;
          min-width:7rem !important;
        }
        #root .lexo-shell .story-footer-current,
        #root .lexo-shell .story-footer-count,
        #root .lexo-shell .story-footer-separator {
          color:#090f15 !important;
          font-size:.9rem !important;
        }
        #root .lexo-shell .story-footer-current { font-weight:900 !important; }
        #root .lexo-shell .story-footer-count { color:#59636d !important; font-weight:800 !important; }
        #root .lexo-shell .story-footer-pagination {
          width:100% !important;
          display:grid !important;
          grid-template-columns:repeat(6,minmax(0,1fr)) !important;
          gap:.3rem !important;
          align-items:center !important;
        }
        #root .lexo-shell .story-footer-segment {
          position:relative !important;
          display:block !important;
          width:100% !important;
          height:4px !important;
          padding:0 !important;
          border:0 !important;
          border-radius:0 !important;
          background:#dfe4e8 !important;
          cursor:pointer !important;
          transition:background-color .22s ease,transform .22s ease !important;
        }
        #root .lexo-shell .story-footer-segment.is-complete {
          background:#f4d348 !important;
        }
        #root .lexo-shell .story-footer-segment.is-current {
          background:#eff000 !important;
          transform:scaleY(1.5) !important;
        }
        #root .lexo-shell .story-footer-segment:hover {
          background:#eff000 !important;
        }
        #root .lexo-shell .story-footer-actions {
          display:flex !important;
          align-items:center !important;
          justify-content:flex-end !important;
          gap:.55rem !important;
        }
        #root .lexo-shell .story-footer-next,
        #root .lexo-shell .story-footer-prev {
          width:3.15rem !important;
          min-width:3.15rem !important;
          height:2.8rem !important;
          padding:0 !important;
          justify-content:center !important;
          flex-direction:row !important;
          border-radius:.35rem !important;
          box-shadow:none !important;
        }
        #root .lexo-shell .story-footer-next,
        #root .lexo-shell .story-footer-next:hover { background:#f4d300 !important; color:#090f15 !important; }
        #root .lexo-shell .story-footer-prev,
        #root .lexo-shell .story-footer-prev:hover { background:#fff !important; color:#090f15 !important; border-color:#d1d5db !important; }
        #root .lexo-shell .story-footer-button-label { display:none !important; }
        #root .lexo-shell .story-footer-next svg,
        #root .lexo-shell .story-footer-prev svg { width:1.2rem !important; height:1.2rem !important; transform:none !important; }
        @media (min-width:768px) and (max-width:1279px) {
          #root .lexo-shell > header:has(.mobile-menu-overlay) {
            z-index:500 !important;
            overflow:visible !important;
            -webkit-backdrop-filter:none !important;
            backdrop-filter:none !important;
            transform:none !important;
            isolation:auto !important;
          }
          #root .lexo-shell > header .mobile-menu-overlay {
            position:fixed !important;
            z-index:501 !important;
            inset:5rem 0 0 !important;
            width:100vw !important;
            max-width:none !important;
            height:auto !important;
            max-height:calc(100dvh - 5rem) !important;
            margin:0 !important;
            padding:1rem 1.25rem 2rem !important;
            overflow-x:hidden !important;
            overflow-y:auto !important;
            background:rgba(247,249,251,.98) !important;
          }
          #root .lexo-shell > header .mobile-menu-panel {
            width:min(38rem,calc(100vw - 2.5rem)) !important;
            margin-left:auto !important;
            padding:1rem 1.25rem 1.25rem !important;
            border:1px solid #e0e5e9 !important;
            border-radius:.75rem !important;
            background:#fff !important;
            box-shadow:0 16px 38px rgba(9,15,21,.1) !important;
          }
          #root .lexo-shell .mobile-menu-panel > .flex:first-child {
            display:none !important;
          }
          #root .lexo-shell .mobile-menu-list {
            display:grid !important;
            gap:0 !important;
          }
          #root .lexo-shell .mobile-menu-button,
          #root .lexo-shell .mobile-menu-button-active {
            position:relative !important;
            width:100% !important;
            min-height:3.9rem !important;
            padding:.8rem .65rem !important;
            display:flex !important;
            align-items:center !important;
            justify-content:space-between !important;
            border:0 !important;
            border-bottom:1px solid #e4e8eb !important;
            border-radius:0 !important;
            background:#fff !important;
            color:#090f15 !important;
            box-shadow:none !important;
          }
          #root .lexo-shell .mobile-menu-button-active {
            padding-left:1rem !important;
            color:#090f15 !important;
          }
          #root .lexo-shell .mobile-menu-button-active::before {
            content:"" !important;
            position:absolute !important;
            left:0 !important;
            top:.7rem !important;
            bottom:.7rem !important;
            width:2px !important;
            background:#f0c400 !important;
          }
          #root .lexo-shell .mobile-menu-item-main {
            display:flex !important;
            align-items:center !important;
            gap:.85rem !important;
          }
          #root .lexo-shell .mobile-menu-item-icon {
            width:1.35rem !important;
            height:1.35rem !important;
            flex:0 0 1.35rem !important;
            color:#111820 !important;
            stroke-width:1.8 !important;
          }
          #root .lexo-shell .mobile-menu-label {
            font-size:.9rem !important;
            line-height:1.15 !important;
            font-weight:800 !important;
          }
          #root .lexo-shell .mobile-menu-arrow {
            width:1.1rem !important;
            height:1.1rem !important;
            color:#111820 !important;
            opacity:.75 !important;
          }
          #root .lexo-shell .mobile-menu-language-picker {
            position:relative !important;
            margin-top:1rem !important;
          }
          #root .lexo-shell .mobile-menu-language-trigger {
            width:7rem !important;
            min-height:3rem !important;
            padding:0 .8rem !important;
            display:flex !important;
            align-items:center !important;
            justify-content:space-between !important;
            gap:.6rem !important;
            border:1px solid #d9dee3 !important;
            border-radius:.4rem !important;
            background:#fff !important;
            color:#090f15 !important;
            font-size:.85rem !important;
            font-weight:800 !important;
          }
          #root .lexo-shell .mobile-menu-language-trigger .language-flag {
            display:block !important;
            width:1.35rem !important;
            height:1.35rem !important;
          }
          #root .lexo-shell .mobile-menu-cta {
            min-height:3.25rem !important;
            margin-top:1rem !important;
            padding:.75rem 1rem !important;
            border:0 !important;
            border-radius:.25rem !important;
            background:#f2ed00 !important;
            color:#090f15 !important;
            box-shadow:none !important;
            font-size:.82rem !important;
          }
          #root .lexo-shell .mobile-menu-cta,
          #root .lexo-shell .mobile-menu-cta * {
            color:#090f15 !important;
          }
          #root .lexo-shell .mobile-menu-benefits {
            display:none !important;
          }
        }
        @media (max-width:767px) {
          #root .lexo-shell > .story-footer .story-footer-inner {
            grid-template-columns:auto minmax(7rem,1fr) auto !important;
            gap:.8rem !important;
          }
          #root .lexo-shell .story-footer-index { min-width:0 !important; gap:.4rem !important; }
          #root .lexo-shell .story-footer-current,
          #root .lexo-shell .story-footer-count,
          #root .lexo-shell .story-footer-separator { font-size:.78rem !important; }
          #root .lexo-shell .story-footer-next,
          #root .lexo-shell .story-footer-prev {
            width:2.65rem !important;
            min-width:2.65rem !important;
            height:2.55rem !important;
          }
        }

        /* Reference-style projects page */
        .lexo-shell:has(.projects-reference) { height:100dvh !important; min-height:0 !important; overflow:hidden !important; background:#f7f9fb !important; }
        .presentation-main:has(.projects-reference) { flex:1 1 auto !important; min-height:0 !important; height:auto !important; padding:0 !important; overflow:hidden !important; }
        .presentation-viewport:has(.projects-reference),
        .presentation-frame:has(.projects-reference) { width:100% !important; height:100% !important; max-width:none !important; max-height:none !important; padding:0 !important; }
        .presentation-frame:has(.projects-reference) { position:relative !important; inset:auto !important; transform:none !important; }
        .project-showcase-backdrop { position:fixed; inset:0; z-index:200; padding:clamp(.65rem,2vw,1.5rem); display:flex; align-items:center; justify-content:center; background:rgba(9,15,21,.72); backdrop-filter:blur(12px); }
        .project-showcase-panel { width:min(96vw,94rem); height:min(92vh,56rem); display:grid; grid-template-columns:minmax(22rem,29.5%) minmax(0,1fr); overflow:hidden; border:1px solid #d9dfe4; border-radius:6px; background:#fff; box-shadow:0 30px 90px rgba(9,15,21,.32); font-family:Arial,Helvetica,sans-serif; }
        .project-showcase-sidebar { min-width:0; padding:2.45rem 2.6rem 2rem; display:flex; flex-direction:column; overflow-y:auto; scrollbar-width:none; color:#081322; background:#fff; border-right:1px solid #e2e7eb; }
        .project-showcase-sidebar::-webkit-scrollbar { display:none; }
        .project-showcase-eyebrow,.project-showcase-title,.project-showcase-status,.project-showcase-description,.project-showcase-metrics,.project-showcase-sidebar blockquote,.project-showcase-previous { flex:none; }
        .project-showcase-eyebrow { padding-bottom:1.15rem; border-bottom:1px solid #dfe4e8; color:#c18f00; font-size:.68rem; line-height:1; font-weight:800; letter-spacing:.11em; }
        .project-showcase-eyebrow::after { content:""; display:block; width:3.2rem; height:2px; margin-top:1rem; background:#ffd000; }
        .project-showcase-title { margin-top:1.75rem; display:grid; grid-template-columns:2.35rem minmax(0,1fr); align-items:start; gap:.85rem; }
        .project-showcase-title > svg { width:2rem; height:2rem; margin-top:.18rem; color:#dfa900; stroke-width:1.75; }
        .project-showcase-title h2 { margin:0; color:#081322 !important; font-size:clamp(2.15rem,2.7vw,3.35rem) !important; line-height:1.01 !important; font-weight:500 !important; letter-spacing:-.055em; text-wrap:balance; }
        .project-showcase-status { width:max-content; margin:1.25rem 0 1.35rem; padding:.38rem .72rem; display:inline-flex; align-items:center; justify-content:center; gap:.42rem; border:1px solid rgba(232,131,0,.24); border-radius:.42rem; color:#a16207; background:rgba(255,248,223,.82); font-size:.6rem; line-height:1.05; font-weight:900; letter-spacing:.14em; text-transform:uppercase; box-shadow:inset 0 0 0 1px rgba(255,255,255,.34); }
        .project-showcase-status svg { width:.8rem; height:.8rem; }
        #root .lexo-light-theme .project-showcase-description { max-height:7.4rem; margin:0; display:block; overflow:hidden; color:#5f6d7c !important; font-size:.86rem !important; line-height:1.55 !important; }
        .project-showcase-metrics { margin-top:1.55rem; padding:1.15rem 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #dfe4e8; border-bottom:1px solid #dfe4e8; }
        .project-showcase-metrics > div { min-width:0; min-height:4.45rem; padding:.7rem .9rem; display:grid; grid-template-columns:1.6rem minmax(0,1fr); align-items:start; gap:.65rem; border-right:1px solid #dfe4e8; border-bottom:1px solid #e7ebee; }
        .project-showcase-metrics > div:nth-child(2n) { border-right:0; }
        .project-showcase-metrics > div:nth-last-child(-n/**/+2) { border-bottom:0; }
        .project-showcase-metrics svg { width:1.5rem; height:1.5rem; color:#e8b900; }
        .project-showcase-metrics span { min-width:0; display:block; }
        .project-showcase-metrics small { display:block; color:#8a96a3; font-size:.54rem; line-height:1.15; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
        .project-showcase-metrics b { display:block; margin-top:.32rem; overflow-wrap:normal; word-break:normal; color:#081322 !important; font-size:.8rem; line-height:1.18; font-weight:800; }
        .project-showcase-sidebar blockquote { margin:1.3rem 0 0; padding:.15rem 0 .15rem 2.05rem; position:relative; color:#697787; }
        .project-showcase-sidebar blockquote > b { position:absolute; left:0; top:-.15rem; color:#d6a900 !important; font-size:2.1rem; line-height:1; }
        #root .lexo-light-theme .project-showcase-sidebar blockquote p { margin:0; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; color:#697787 !important; font-size:.76rem !important; line-height:1.5 !important; font-style:italic; }
        .project-showcase-previous { display:none; }
        .project-showcase-previous:hover { border-color:#e8b900; color:#081322; }
        .project-showcase-previous svg { width:1rem; height:1rem; }
        .project-showcase-main { min-width:0; min-height:0; position:relative; display:grid; grid-template-rows:minmax(0,1fr) 4.6rem; background:#fff; }
        .project-showcase-close { position:absolute; z-index:12; top:1rem; right:1rem; width:3rem; height:3rem; display:flex; align-items:center; justify-content:center; border:1px solid rgba(9,15,21,.12); border-radius:50%; background:rgba(255,255,255,.94); color:#090f15; box-shadow:0 8px 24px rgba(9,15,21,.12); }
        .project-showcase-close:hover { background:#ffd000; }
        .project-showcase-close svg { width:1.25rem; height:1.25rem; }
        .project-showcase-gallery { min-height:0; display:grid; grid-template-rows:minmax(16rem,48%) auto minmax(6.5rem,18%) minmax(6.5rem,1fr); overflow:hidden; background:#fff; }
        .project-showcase-hero { min-width:0; min-height:0; position:relative; overflow:hidden; background:#111b25; }
        .project-showcase-hero > img,.project-showcase-hero > video { width:100%; height:100%; display:block; object-fit:cover; }
        .project-showcase-mobile-back,.project-showcase-mobile-media-tabs,.project-showcase-expand,.project-showcase-highlight-arrow { display:none; }
        .project-showcase-hero-shade { position:absolute; inset:auto 0 0; height:34%; pointer-events:none; background:linear-gradient(to top,rgba(9,15,21,.55),transparent); }
        .project-showcase-empty { width:100%; height:100%; display:flex; align-items:center; justify-content:center; color:#94a0aa; font-size:.8rem; font-weight:700; }
        .project-showcase-media-nav { position:absolute; z-index:5; top:50%; width:3.1rem; height:3.1rem; display:flex; align-items:center; justify-content:center; border-radius:50%; color:#fff; background:rgba(9,19,29,.88); transform:translateY(-50%); }
        .project-showcase-media-nav:hover { color:#ffd000; }
        .project-showcase-media-nav.is-prev { left:1.5rem; }
        .project-showcase-media-nav.is-next { right:1.5rem; }
        .project-showcase-media-nav svg { width:1.35rem; height:1.35rem; }
        .project-showcase-counter { position:absolute; z-index:5; left:2rem; bottom:1.2rem; display:flex; align-items:baseline; gap:.35rem; color:#fff; }
        .project-showcase-counter b { color:#fff !important; font-size:1.35rem; font-weight:900; }
        .project-showcase-counter span { color:#dce2e7; font-size:.72rem; font-weight:700; }
        .project-showcase-tabs { min-height:3.8rem; padding:0 2rem; display:flex; align-items:end; gap:2.25rem; border-bottom:1px solid #dfe4e8; }
        .project-showcase-tabs button { height:100%; padding-top:.55rem; position:relative; color:#8c97a1; font-size:.92rem; font-weight:600; }
        .project-showcase-tabs button small { margin-left:.3rem; font-size:.55rem; }
        .project-showcase-tabs button.is-active { color:#090f15; font-weight:850; }
        .project-showcase-tabs button.is-active::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:2px; background:#ffd000; }
        .project-showcase-tabs button:disabled { opacity:.35; cursor:not-allowed; }
        .project-showcase-thumbs-shell { min-width:0; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; background:#fff; }
        .project-showcase-thumbs-shell.has-overflow { grid-template-columns:2.35rem minmax(0,1fr) 2.35rem; padding:0 .65rem; column-gap:.35rem; }
        .project-showcase-thumbs { min-width:0; padding:1rem 2rem; display:flex; align-items:center; gap:.55rem; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; overscroll-behavior-x:contain; scroll-behavior:smooth; }
        .project-showcase-thumbs-shell.has-overflow .project-showcase-thumbs { padding-inline:.25rem; }
        .project-showcase-thumbs::-webkit-scrollbar { display:none; }
        .project-showcase-thumbs-nav { width:2.35rem; height:2.9rem; display:grid; place-items:center; padding:0; border:1px solid #d7dee5; border-radius:2px; background:#fff; color:#081322; cursor:pointer; transition:background-color .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease; }
        .project-showcase-thumbs-nav:hover:not(:disabled) { border-color:#ffd400; background:#ffd400; }
        .project-showcase-thumbs-nav:disabled { opacity:.28; cursor:default; }
        .project-showcase-thumbs-nav svg { width:1rem; height:1rem; }
        .project-showcase-thumbs > button { flex:0 0 7.25rem; width:7.25rem; min-width:7.25rem; height:5.4rem; position:relative; overflow:hidden; border:2px solid transparent; border-radius:.35rem; background:#e9edf0; }
        .project-showcase-thumbs > button.is-active { border-color:#ffd000; }
        .project-showcase-thumbs img,.project-showcase-thumbs video { width:100%; height:100%; display:block; object-fit:cover; }
        .project-showcase-thumbs > button > span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; background:rgba(9,15,21,.35); font-size:1.4rem; }
        .project-showcase-highlights { margin:0 2rem 1.35rem; padding:1.2rem 1.1rem; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border-radius:.35rem; background:#f6f8fa; }
        .project-showcase-highlights article { min-width:0; padding:0 1rem; display:grid; grid-template-columns:2rem minmax(0,1fr); gap:.7rem; border-right:1px solid #d7dde2; }
        .project-showcase-highlights article:last-child { border:0; }
        .project-showcase-highlights svg { width:1.75rem; height:1.75rem; color:#e8b900; }
        .project-showcase-highlights h4 { margin:0 0 .38rem; color:#090f15; font-size:.76rem; line-height:1.22; font-weight:850; }
        .project-showcase-highlights p { margin:0; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; color:#66717b !important; font-size:.67rem !important; line-height:1.46 !important; }
        .project-showcase-footer { min-width:0; padding:0 2rem; display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:.7rem; border-top:1px solid #dfe4e8; background:#fff; }
        .project-showcase-footer button { min-height:48px; padding:12px 16px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid #d7dee5; border-radius:0; color:#081322; background:#fff; font-size:13px; line-height:1.35; font-weight:600; letter-spacing:0; text-transform:none; cursor:pointer; transition:transform .2s ease,background-color .2s ease,border-color .2s ease; }
        .project-showcase-footer button:hover { border-color:#bfc8d1; background:#f8fafb; transform:translateY(-1px); }
        .project-showcase-footer svg { width:18px; height:18px; flex:none; }
        .project-showcase-button-arrow { display:inline-flex; align-items:center; justify-content:center; min-width:22px; font-size:20px; line-height:1; font-weight:400; letter-spacing:0; transition:transform .2s cubic-bezier(.2,0,0,1); }
        .project-showcase-footer-previous:hover .project-showcase-button-arrow { transform:translateX(-3px); }
        .project-showcase-footer-next:hover .project-showcase-button-arrow { transform:translateX(3px); }
        .project-showcase-footer-previous { justify-self:start; min-width:220px; }
        .project-showcase-footer-close { justify-self:end; min-width:120px; justify-content:center !important; }
        .project-showcase-footer-next { justify-self:end; min-width:220px; border-color:#ffd400 !important; background:#ffd400 !important; }
        .project-showcase-footer-next:hover { background:#f3c800 !important; border-color:#f3c800 !important; }
        .project-showcase-lightbox { position:fixed; inset:0; z-index:130; padding:2rem; display:flex; align-items:center; justify-content:center; background:rgba(3,8,12,.94); }
        .project-showcase-lightbox > button { position:absolute; z-index:3; top:1rem; right:1rem; width:3rem; height:3rem; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; color:#fff; background:#09131d; }
        .project-showcase-lightbox > button svg { width:1.3rem; height:1.3rem; }
        .project-showcase-lightbox > div { width:min(90vw,84rem); height:min(86vh,52rem); position:relative; display:flex; align-items:center; justify-content:center; }
        .project-showcase-lightbox img { max-width:100%; max-height:100%; object-fit:contain; }
        .project-showcase-lightbox .is-prev,.project-showcase-lightbox .is-next { position:absolute; top:50%; width:3rem; height:3rem; display:flex; align-items:center; justify-content:center; border-radius:50%; color:#fff; background:rgba(9,19,29,.88); transform:translateY(-50%); }
        .project-showcase-lightbox .is-prev { left:1rem; }
        .project-showcase-lightbox .is-next { right:1rem; }
        .project-showcase-lightbox svg { width:1.3rem; height:1.3rem; }
        @media (max-width:980px) {
          .project-showcase-backdrop { align-items:flex-start; overflow:auto; }
          .project-showcase-panel { height:auto; min-height:94vh; grid-template-columns:1fr; overflow:visible; }
          .project-showcase-sidebar { max-height:none; padding:1.5rem; }
          .project-showcase-main { min-height:46rem; }
          .project-showcase-gallery { grid-template-rows:22rem auto 9rem auto; }
          .project-showcase-highlights { grid-template-columns:1fr; gap:.9rem; }
          .project-showcase-highlights article { border:0; }
          .project-showcase-previous { margin-top:1rem; }
        }
        @media (min-width:981px) and (max-height:760px) {
          .project-showcase-backdrop { padding:.5rem; }
          .project-showcase-panel { height:calc(100dvh - 1rem); max-height:46rem; border-radius:6px; }
          .project-showcase-sidebar { padding:1.55rem 1.8rem 1.15rem; }
          .project-showcase-title { margin-top:1rem; }
          .project-showcase-title h2 { font-size:1.75rem !important; }
          .project-showcase-status { margin:.8rem 0 .65rem; }
          #root .lexo-light-theme .project-showcase-description { max-height:4.4rem; font-size:.72rem !important; line-height:1.42 !important; }
          .project-showcase-metrics { margin-top:.8rem; padding:.55rem 0; }
          .project-showcase-metrics > div { min-height:3.4rem; padding:.4rem .6rem; }
          .project-showcase-sidebar blockquote { margin:.65rem 0; }
          #root .lexo-light-theme .project-showcase-sidebar blockquote p { -webkit-line-clamp:3; font-size:.65rem !important; }
          .project-showcase-previous { display:none; }
          .project-showcase-main { grid-template-rows:minmax(0,1fr) 3.65rem; }
          .project-showcase-gallery { grid-template-rows:minmax(10rem,52%) 3.15rem minmax(4.4rem,16%) minmax(4.2rem,1fr); }
          .project-showcase-close { top:.65rem; right:.65rem; width:2.5rem; height:2.5rem; }
          .project-showcase-tabs { min-height:3.15rem; padding:0 1.25rem; gap:1.5rem; }
          .project-showcase-tabs button { padding-top:.35rem; font-size:.76rem; }
          .project-showcase-thumbs { padding:.55rem 1.25rem; gap:.5rem; }
          .project-showcase-thumbs > button { flex-basis:6rem; width:6rem; min-width:6rem; height:4.5rem; }
          .project-showcase-highlights { margin:0 1.25rem .55rem; padding:.65rem .7rem; }
          .project-showcase-highlights article { padding:0 .65rem; grid-template-columns:1.5rem minmax(0,1fr); gap:.45rem; }
          .project-showcase-highlights svg { width:1.4rem; height:1.4rem; }
          .project-showcase-highlights h4 { margin-bottom:.2rem; font-size:.66rem; }
          .project-showcase-highlights p { -webkit-line-clamp:2; font-size:.57rem !important; line-height:1.3 !important; }
          .project-showcase-footer { padding:0 1.25rem; }
          .project-showcase-footer button { min-height:2.5rem; }
        }
        @media (max-width:640px) {
          .project-showcase-backdrop { padding:.35rem; }
          .project-showcase-panel { border-radius:6px; }
          .project-showcase-title h2 { font-size:1.8rem !important; }
          .project-showcase-gallery { grid-template-rows:17rem auto 7.5rem auto; }
          .project-showcase-tabs,.project-showcase-thumbs,.project-showcase-footer { padding-left:1rem; padding-right:1rem; }
          .project-showcase-highlights { margin-left:1rem; margin-right:1rem; }
          .project-showcase-footer { min-height:8rem; flex-wrap:wrap; }
          .project-showcase-footer button { flex:1; padding:0 .75rem; }
        }
        @media (max-width:767px) {
          .project-showcase-backdrop {
            inset:5.0625rem 0 0;
            z-index:200;
            padding:0;
            display:block;
            overflow-y:auto;
            overscroll-behavior:contain;
            background:#fff;
            backdrop-filter:none;
          }
          .project-showcase-panel {
            width:100%;
            min-height:calc(100dvh - 5.0625rem);
            height:auto;
            display:flex;
            flex-direction:column;
            overflow:visible;
            border:0;
            border-radius:0;
            box-shadow:none;
            background:#fff;
          }
          .project-showcase-main,.project-showcase-gallery { display:contents; }
          .project-showcase-hero {
            order:1;
            width:100%;
            height:19rem;
            min-height:19rem;
            flex:none;
          }
          .project-showcase-hero > img,.project-showcase-hero > video { object-position:center; }
          .project-showcase-mobile-back {
            position:absolute;
            z-index:7;
            top:1rem;
            left:1rem;
            min-height:2.2rem;
            padding:0 .7rem;
            display:flex;
            align-items:center;
            gap:.25rem;
            border-radius:.2rem;
            color:#ffd000;
            background:rgba(5,15,24,.8);
            font-size:.67rem;
            font-weight:850;
            box-shadow:0 5px 18px rgba(0,0,0,.18);
          }
          .project-showcase-mobile-back svg { width:1rem; height:1rem; }
          .project-showcase-expand {
            position:absolute;
            z-index:7;
            right:1rem;
            bottom:1rem;
            width:2.8rem;
            height:2.8rem;
            display:flex;
            align-items:center;
            justify-content:center;
            border-radius:50%;
            color:#fff;
            background:#07131e;
            font-size:1.45rem;
            line-height:1;
            box-shadow:0 8px 22px rgba(0,0,0,.28);
          }
          .project-showcase-media-nav {
            top:50%;
            width:2.35rem;
            height:2.35rem;
            display:flex;
            background:rgba(7,19,30,.82);
          }
          .project-showcase-media-nav.is-prev { left:.75rem; }
          .project-showcase-media-nav.is-next { right:.75rem; }
          .project-showcase-media-nav svg { width:1rem; height:1rem; }
          .project-showcase-mobile-media-tabs {
            position:absolute;
            z-index:8;
            top:1rem;
            right:1rem;
            display:flex;
            align-items:center;
            gap:.25rem;
            padding:.22rem;
            border-radius:.3rem;
            background:rgba(7,19,30,.82);
            box-shadow:0 5px 18px rgba(0,0,0,.18);
          }
          .project-showcase-mobile-media-tabs button {
            min-height:1.8rem;
            padding:0 .55rem;
            border-radius:.2rem;
            color:#dce2e7;
            font-size:.6rem;
            line-height:1;
            font-weight:800;
          }
          .project-showcase-mobile-media-tabs button.is-active {
            color:#09131d;
            background:#ffd000;
          }
          .project-showcase-mobile-media-tabs small {
            margin-left:.15rem;
            font-size:.5rem;
          }
          .project-showcase-counter { left:1.4rem; bottom:1.1rem; }
          .project-showcase-counter b { font-size:1.55rem; }
          .project-showcase-counter span { font-size:.68rem; }
          .project-showcase-sidebar {
            order:2;
            max-height:none;
            padding:2rem 1.45rem 1.8rem;
            display:flex;
            overflow:visible;
            background:#07131e;
          }
          .project-showcase-eyebrow {
            padding:0;
            border:0;
            color:#ffd000;
            font-size:.68rem;
            letter-spacing:.055em;
          }
          .project-showcase-eyebrow::after { width:3rem; margin-top:.85rem; }
          .project-showcase-title {
            margin-top:1.7rem;
            grid-template-columns:2.25rem minmax(0,1fr);
            gap:.75rem;
          }
          .project-showcase-title > svg { width:2.15rem; height:2.15rem; }
          .project-showcase-title h2 {
            font-size:2rem !important;
            line-height:1.02 !important;
            letter-spacing:-.04em !important;
          }
          .project-showcase-status {
            margin:1rem 0 .9rem;
            padding:.42rem .72rem;
            font-size:.62rem;
          }
          #root .lexo-light-theme .project-showcase-description {
            max-height:none;
            overflow:visible;
            color:#d9dfe4 !important;
            font-size:.82rem !important;
            line-height:1.55 !important;
          }
          .project-showcase-metrics { margin-top:1.2rem; padding:.7rem 0; }
          .project-showcase-metrics > div {
            min-height:4.65rem;
            padding:.85rem .55rem;
            grid-template-columns:1.6rem minmax(0,1fr);
            gap:.55rem;
          }
          .project-showcase-metrics svg { width:1.45rem; height:1.45rem; }
          .project-showcase-metrics small { font-size:.53rem; letter-spacing:.025em; }
          .project-showcase-metrics b { margin-top:.32rem; font-size:.78rem; }
          .project-showcase-sidebar blockquote {
            margin:1.25rem 0 0;
            padding:.1rem 0 .1rem 2rem;
          }
          #root .lexo-light-theme .project-showcase-sidebar blockquote p {
            display:block;
            overflow:visible;
            color:#cbd2d8 !important;
            font-size:.72rem !important;
            line-height:1.55 !important;
          }
          .project-showcase-previous { display:none; }
          .project-showcase-close { display:none; }
          .project-showcase-tabs { display:none; }
          .project-showcase-thumbs-shell { display:none !important; }
          .project-showcase-thumbs {
            display:none;
          }
          .project-showcase-highlights {
            order:5;
            margin:0;
            padding:.45rem 1.2rem 1.35rem;
            display:grid;
            grid-template-columns:1fr;
            gap:0;
            border-radius:0;
            background:#fff;
          }
          .project-showcase-highlights article {
            min-height:6.2rem;
            padding:1.1rem .9rem;
            display:grid;
            grid-template-columns:2.15rem minmax(0,1fr) 1rem;
            align-items:start;
            gap:.75rem;
            border:1px solid #e1e6ea;
            border-bottom:0;
            background:#fff;
          }
          .project-showcase-highlights article:first-child { border-radius:.35rem .35rem 0 0; }
          .project-showcase-highlights article:last-child { border:1px solid #e1e6ea; border-radius:0 0 .35rem .35rem; }
          .project-showcase-highlights svg { width:1.75rem; height:1.75rem; color:#ffc400; }
          .project-showcase-highlights h4 { margin-bottom:.32rem; font-size:.79rem; }
          .project-showcase-highlights p {
            -webkit-line-clamp:3;
            color:#69747e !important;
            font-size:.69rem !important;
            line-height:1.45 !important;
          }
          .project-showcase-highlights .project-showcase-highlight-arrow {
            align-self:center;
            width:1rem;
            height:1rem;
            display:block;
            color:#07131e;
          }
          .project-showcase-footer {
            order:6;
            min-height:0;
            padding:0 1.2rem 1.45rem;
            display:flex;
            flex-direction:column;
            align-items:stretch;
            gap:.65rem;
            border:0;
            background:#fff;
          }
          .project-showcase-footer button {
            width:100%;
            min-height:3.45rem;
            flex:none;
            padding:0 1rem;
            border-radius:.25rem;
            font-size:.68rem;
            letter-spacing:.01em;
          }
          .project-showcase-footer-close { display:none !important; }
          .project-showcase-footer .project-showcase-footer-previous {
            display:flex;
            border-color:#ccd3d9;
            background:#fff;
          }
          .project-showcase-footer .project-showcase-footer-next {
            border-color:#ffd000;
            background:#ffd000;
          }
        }
        .presentation-main:has(.projects-reference) { padding-left:0 !important; padding-right:0 !important; }
        .presentation-viewport:has(.projects-reference),
        .presentation-frame:has(.projects-reference) { width:100% !important; max-width:none !important; }
        
        
        
        
        
        
        
        
        
        
        
        
        
        .lexo-light-theme.light-blocks-shell .slide-panel .projects-reference-map-graphic .europe-map-card { background:transparent !important; background-color:transparent !important; }
        
        
        .lexo-light-theme.light-blocks-shell .slide-panel .projects-reference-map-graphic .europe-map-viewport,
        .lexo-light-theme.light-blocks-shell .slide-panel .projects-reference-map-graphic .europe-map-svg { background:transparent !important; background-color:transparent !important; }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        .projects-reference-cards > article.is-active { border-color:#aee000; box-shadow:inset 0 0 0 1px #aee000; }
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        

        @media (max-width:1023px) {
          .lexo-shell:has(.projects-reference) { height:auto !important; overflow:auto !important; }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }

        @media (min-width:768px) and (max-width:1023px) {
          #root .lexo-shell:has(.projects-reference) {
            min-height:100dvh !important;
            padding-bottom:calc(4.7rem + env(safe-area-inset-bottom)) !important;
          }
  
  
  
  
  
  
  
  
  
  
  
  
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }

        @media (max-width:1023px) {
          #root .lexo-shell > header { padding:.8rem 1rem !important; }
          #root .lexo-shell > .story-footer { padding:.7rem 1rem !important; }
        }

        /* Mobile home page: vertical editorial layout and full-screen navigation */
        @media (max-width:1023px) {
          #root .lexo-shell:has(.hero-reference) {
            width:100% !important;
            height:auto !important;
            min-height:100dvh !important;
            overflow:visible !important;
            padding-bottom:0 !important;
            background:#fff !important;
          }
          #root .lexo-shell:has(.hero-reference) > header {
            position:sticky !important;
            top:0 !important;
            z-index:70 !important;
            padding:1rem 1.25rem !important;
            background:rgba(255,255,255,.98) !important;
            border-color:#edf0f2 !important;
            box-shadow:none !important;
          }
          #root .lexo-shell:has(.hero-reference) > header > .max-w-7xl {
            position:relative !important;
            width:auto !important;
            flex:1 1 auto !important;
            max-width:none !important;
            min-height:3rem !important;
          }
          #root .lexo-shell:has(.hero-reference) > header .cursor-pointer {
            gap:.7rem !important;
          }
          #root .lexo-shell:has(.hero-reference) > header .cursor-pointer img {
            width:2.7rem !important;
            height:2.7rem !important;
            display:block !important;
            flex:0 0 2.7rem !important;
            opacity:1 !important;
            visibility:visible !important;
          }
          #root .lexo-shell:has(.hero-reference) > header .cursor-pointer span.text-lg {
            font-size:1.23rem !important;
            line-height:1 !important;
            letter-spacing:.08em !important;
          }
          #root .lexo-shell:has(.hero-reference) > header .cursor-pointer span.block {
            max-width:11rem !important;
            margin-top:.12rem !important;
            color:#4b5563 !important;
            font-size:.58rem !important;
            line-height:1.15 !important;
            letter-spacing:.01em !important;
          }
          #root .lexo-shell:has(.hero-reference) .theme-toggle-btn,
          #root .lexo-shell:has(.hero-reference) .header-language-picker,
          #root .lexo-shell:has(.hero-reference) .header-cta-btn,
          #root .lexo-shell:has(.hero-reference) .main-nav-pill {
            display:none !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-toggle {
            position:absolute !important;
            top:50% !important;
            right:0 !important;
            display:flex !important;
            width:3rem !important;
            height:3rem !important;
            border:0 !important;
            border-radius:.35rem !important;
            background:#f2ed00 !important;
            color:#090f15 !important;
            box-shadow:none !important;
            transform:translateY(-50%) !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-toggle svg {
            width:1.45rem !important;
            height:1.45rem !important;
            stroke-width:2 !important;
          }
          #root .lexo-shell:has(.hero-reference) header.mobile-menu-is-open {
            z-index:500 !important;
            overflow:visible !important;
            -webkit-backdrop-filter:none !important;
            backdrop-filter:none !important;
            transform:none !important;
            isolation:auto !important;
          }
          #root .lexo-shell:has(.hero-reference) header.mobile-menu-is-open ~ .story-footer {
            display:none !important;
          }
          #root .lexo-shell:has(.hero-reference) header.mobile-menu-is-open .mobile-menu-overlay {
            position:fixed !important;
            z-index:501 !important;
            inset:5rem 0 0 !important;
            width:100vw !important;
            max-width:none !important;
            height:auto !important;
            max-height:calc(100dvh - 5rem) !important;
            margin:0 !important;
            padding:1rem 1.25rem 2rem !important;
            overflow-x:hidden !important;
            overflow-y:auto !important;
            background:rgba(247,249,251,.98) !important;
            box-shadow:none !important;
          }
          #root .lexo-shell:has(.hero-reference) header.mobile-menu-is-open .mobile-menu-panel {
            width:min(38rem,calc(100vw - 2.5rem)) !important;
            min-height:0 !important;
            margin-left:auto !important;
            padding:1.05rem 1.4rem 1.4rem !important;
            border:1px solid #e0e5e9 !important;
            border-radius:.75rem !important;
            background:#fff !important;
            box-shadow:0 16px 38px rgba(9,15,21,.1) !important;
          }
          #root .lexo-shell:has(.hero-reference) header.mobile-menu-is-open .mobile-menu-panel > .flex:first-child {
            display:none !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-list {
            display:block !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-button,
          #root .lexo-shell:has(.hero-reference) .mobile-menu-button-active {
            position:relative;
            min-height:5.15rem !important;
            padding:1rem .2rem 1rem .15rem !important;
            border:0 !important;
            border-bottom:1px solid #e5e7eb !important;
            border-radius:0 !important;
            background:#fff !important;
            color:#090f15 !important;
            box-shadow:none !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-button-active {
            padding-left:1.15rem !important;
            color:#efb900 !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-button-active::before {
            content:"";
            position:absolute;
            left:0;
            top:1.25rem;
            bottom:1.25rem;
            width:2px;
            background:#f0c400;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-label {
            font-size:1rem !important;
            font-weight:800 !important;
            letter-spacing:0 !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-arrow {
            width:1.3rem !important;
            height:1.3rem !important;
            opacity:1 !important;
            color:#090f15 !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-language-picker {
            position:relative;
            margin-top:1.45rem;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-language-trigger {
            width:7.2rem;
            height:3.25rem;
            padding:0 .85rem;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:.65rem;
            border:1px solid #d9dee3;
            border-radius:.45rem;
            background:#fff;
            color:#090f15;
            font-size:.88rem;
            font-weight:800;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-language-trigger .language-flag {
            display:block !important;
            width:1.45rem;
            height:1.45rem;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-language-options {
            position:absolute;
            z-index:3;
            left:0;
            top:calc(100% + .4rem);
            width:min(18rem,100%);
            padding:.35rem;
            display:grid;
            gap:.2rem;
            border:1px solid #d9dee3;
            background:#fff;
            box-shadow:0 12px 28px rgba(15,23,42,.12);
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-language-options button {
            min-height:2.75rem;
            padding:.55rem .7rem;
            display:flex;
            align-items:center;
            gap:.65rem;
            color:#090f15;
            font-size:.8rem;
            font-weight:700;
            text-align:left;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-language-options button.is-active {
            background:#f2ed00;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-language-options [class*="language-option-flag"] {
            display:block !important;
            width:1.25rem;
            height:1.25rem;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-cta {
            min-height:3.45rem !important;
            margin-top:1.3rem !important;
            padding:.8rem 1.15rem !important;
            display:flex !important;
            align-items:center !important;
            justify-content:center !important;
            gap:1rem !important;
            border:0 !important;
            border-radius:.28rem !important;
            background:#f2ed00 !important;
            color:#090f15 !important;
            box-shadow:none !important;
            text-transform:none !important;
            letter-spacing:0 !important;
            font-size:.88rem !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-cta svg {
            margin-left:auto;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-cta,
          #root .lexo-shell:has(.hero-reference) .mobile-menu-cta * {
            color:#090f15 !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-benefits {
            display:grid;
            gap:1rem;
            padding:1.8rem .2rem 1.4rem;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-benefits > div {
            display:flex;
            align-items:center;
            gap:.95rem;
            color:#111820;
            font-size:.83rem;
            line-height:1.35;
            font-weight:600;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-benefits svg,
          #root .lexo-shell:has(.hero-reference) .mobile-menu-benefits .hero-clock {
            width:2rem;
            height:2rem;
            flex:0 0 2rem;
            font-size:2rem;
            color:#090f15;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-photo {
            display:block;
            width:calc(100% + 2.8rem);
            height:30rem;
            margin-left:-1.4rem;
            object-fit:cover;
            object-position:50% 72%;
          }

          #root .presentation-main:has(.hero-reference) {
            display:block !important;
            height:auto !important;
            padding:0 !important;
            overflow:visible !important;
          }
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            width:100% !important;
            max-width:none !important;
            height:auto !important;
            overflow:visible !important;
          }
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            position:relative !important;
            inset:auto !important;
            transform:none !important;
          }
          
          
          
          #root .lexo-shell .hero-reference .hero-reference-copy h1 {
            max-width:100% !important;
            font-size:clamp(2.05rem,8.8vw,2.55rem) !important;
            line-height:1.08 !important;
            letter-spacing:-.035em !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          #root .lexo-shell:has(.hero-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            min-height:5.4rem !important;
            padding:1rem 1.4rem calc(1rem + env(safe-area-inset-bottom)) !important;
            box-shadow:none !important;
          }
          #root .lexo-shell:has(.hero-reference) .story-footer .max-w-7xl {
            width:100% !important;
            max-width:none !important;
          }
        }

        /* Shared mobile header plus the dedicated About page flow */
        @media (max-width:1023px) {
          #root .lexo-shell > header {
            position:sticky !important;
            top:0 !important;
            z-index:80 !important;
            padding:1rem 1.25rem !important;
            background:rgba(255,255,255,.98) !important;
            border-color:#edf0f2 !important;
            box-shadow:none !important;
          }
          #root .lexo-shell > header > .max-w-7xl {
            position:relative !important;
            width:auto !important;
            max-width:none !important;
            min-height:3rem !important;
          }
          #root .lexo-shell > header .cursor-pointer {
            gap:.7rem !important;
          }
          #root .lexo-shell > header .cursor-pointer img {
            display:block !important;
            width:2.7rem !important;
            height:2.7rem !important;
            flex:0 0 2.7rem !important;
            opacity:1 !important;
            visibility:visible !important;
          }
          #root .lexo-shell > header .cursor-pointer span.text-lg {
            color:#090f15 !important;
            font-size:1.23rem !important;
            line-height:1 !important;
            letter-spacing:.08em !important;
          }
          #root .lexo-shell > header .cursor-pointer span.block {
            max-width:11rem !important;
            margin-top:.12rem !important;
            color:#4b5563 !important;
            font-size:.58rem !important;
            line-height:1.15 !important;
            letter-spacing:.01em !important;
          }
          #root .lexo-shell > header .theme-toggle-btn,
          #root .lexo-shell > header .header-language-picker,
          #root .lexo-shell > header .header-cta-btn,
          #root .lexo-shell > header .main-nav-pill {
            display:none !important;
          }
          #root .lexo-shell > header .mobile-menu-toggle {
            position:absolute !important;
            top:50% !important;
            right:0 !important;
            display:flex !important;
            width:3rem !important;
            height:3rem !important;
            border:0 !important;
            border-radius:.35rem !important;
            background:#f2ed00 !important;
            color:#090f15 !important;
            box-shadow:none !important;
            transform:translateY(-50%) !important;
          }
          #root .lexo-shell > header .mobile-menu-toggle svg {
            width:1.45rem !important;
            height:1.45rem !important;
            stroke-width:2 !important;
          }
          #root .lexo-shell header:has(.mobile-menu-overlay) ~ .story-footer {
            display:none !important;
          }
          #root .lexo-shell .mobile-menu-overlay {
            position:fixed !important;
            z-index:79 !important;
            inset:5rem 0 0 !important;
            width:100% !important;
            max-width:none !important;
            height:auto !important;
            margin:0 !important;
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior:contain !important;
            -webkit-overflow-scrolling:touch;
            background:#fff !important;
            box-shadow:0 16px 28px rgba(9,15,21,.1) !important;
          }
          #root .lexo-shell:has(.hero-reference) .mobile-menu-overlay {
            position:fixed !important;
            inset:5rem 0 0 !important;
            height:auto !important;
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior:contain !important;
            -webkit-overflow-scrolling:touch;
          }
          #root .lexo-shell .mobile-menu-panel {
            width:100% !important;
            min-height:0 !important;
            padding:1.05rem 1.4rem 1.4rem !important;
            border:0 !important;
            border-radius:0 !important;
            background:#fff !important;
            box-shadow:none !important;
          }
          #root .lexo-shell .mobile-menu-panel > .flex:first-child {
            display:none !important;
          }
          #root .lexo-shell .mobile-menu-list {
            display:block !important;
          }
          #root .lexo-shell .mobile-menu-button,
          #root .lexo-shell .mobile-menu-button-active {
            position:relative !important;
            width:100% !important;
            min-height:5.15rem !important;
            padding:1rem .2rem 1rem .15rem !important;
            display:flex !important;
            align-items:center !important;
            justify-content:space-between !important;
            border:0 !important;
            border-bottom:1px solid #e5e7eb !important;
            border-radius:0 !important;
            background:#fff !important;
            color:#090f15 !important;
            box-shadow:none !important;
          }
          #root .lexo-shell .mobile-menu-button-active {
            padding-left:1.15rem !important;
            color:#efb900 !important;
          }
          #root .lexo-shell .mobile-menu-button-active::before {
            content:"";
            position:absolute;
            left:0;
            top:1.25rem;
            bottom:1.25rem;
            width:2px;
            background:#f0c400;
          }
          #root .lexo-shell .mobile-menu-label {
            font-size:1rem !important;
            font-weight:800 !important;
            letter-spacing:0 !important;
          }
          #root .lexo-shell .mobile-menu-item-main {
            display:flex !important;
            align-items:center !important;
            gap:1rem !important;
          }
          #root .lexo-shell .mobile-menu-item-icon {
            width:1.45rem !important;
            height:1.45rem !important;
            flex:0 0 1.45rem !important;
            color:#090f15 !important;
            stroke-width:1.75 !important;
          }
          #root .lexo-shell .mobile-menu-button-active .mobile-menu-item-icon {
            color:#efb900 !important;
          }
          #root .lexo-shell .mobile-menu-arrow {
            width:1.3rem !important;
            height:1.3rem !important;
            color:#090f15 !important;
            opacity:1 !important;
          }
          #root .lexo-shell .mobile-menu-language-picker {
            position:relative !important;
            margin-top:1.45rem !important;
          }
          #root .lexo-shell .mobile-menu-language-trigger {
            width:7.2rem !important;
            height:3.25rem !important;
            padding:0 .85rem !important;
            display:flex !important;
            align-items:center !important;
            justify-content:space-between !important;
            gap:.65rem !important;
            border:1px solid #d9dee3 !important;
            border-radius:.45rem !important;
            background:#fff !important;
            color:#090f15 !important;
            font-size:.88rem !important;
            font-weight:800 !important;
          }
          #root .lexo-shell .mobile-menu-language-trigger .language-flag {
            display:block !important;
            width:1.45rem !important;
            height:1.45rem !important;
          }
          #root .lexo-shell .mobile-menu-language-options {
            position:absolute !important;
            z-index:3 !important;
            left:0 !important;
            top:calc(100% + .4rem) !important;
            width:min(18rem,100%) !important;
            padding:.35rem !important;
            display:grid !important;
            gap:.2rem !important;
            border:1px solid #d9dee3 !important;
            background:#fff !important;
            box-shadow:0 12px 28px rgba(15,23,42,.12) !important;
          }
          #root .lexo-shell .mobile-menu-language-options button {
            min-height:2.75rem !important;
            padding:.55rem .7rem !important;
            display:flex !important;
            align-items:center !important;
            gap:.65rem !important;
            color:#090f15 !important;
            font-size:.8rem !important;
            font-weight:700 !important;
            text-align:left !important;
          }
          #root .lexo-shell .mobile-menu-language-options button.is-active {
            background:#f2ed00 !important;
          }
          #root .lexo-shell .mobile-menu-language-options [class*="language-option-flag"] {
            display:block !important;
            width:1.25rem !important;
            height:1.25rem !important;
          }
          #root .lexo-shell .mobile-menu-cta {
            min-height:3.45rem !important;
            margin-top:1.3rem !important;
            padding:.8rem 1.15rem !important;
            display:flex !important;
            align-items:center !important;
            justify-content:center !important;
            gap:1rem !important;
            border:0 !important;
            border-radius:.28rem !important;
            background:#f2ed00 !important;
            color:#090f15 !important;
            box-shadow:none !important;
            text-transform:none !important;
            letter-spacing:0 !important;
            font-size:.88rem !important;
          }
          #root .lexo-shell .mobile-menu-cta svg {
            margin-left:auto !important;
          }
          #root .lexo-shell .mobile-menu-cta,
          #root .lexo-shell .mobile-menu-cta * {
            color:#090f15 !important;
          }
          #root .lexo-shell .mobile-menu-benefits {
            display:grid !important;
            gap:1rem !important;
            padding:1.8rem .2rem 1.4rem !important;
          }
          #root .lexo-shell .mobile-menu-benefits > div {
            display:flex !important;
            align-items:center !important;
            gap:.95rem !important;
            color:#111820 !important;
            font-size:.83rem !important;
            line-height:1.35 !important;
            font-weight:600 !important;
          }
          #root .lexo-shell .mobile-menu-benefits svg,
          #root .lexo-shell .mobile-menu-benefits .hero-clock {
            width:2rem !important;
            height:2rem !important;
            flex:0 0 2rem !important;
            color:#090f15 !important;
            font-size:2rem !important;
          }
          #root .lexo-shell .mobile-menu-photo {
            display:block !important;
            width:calc(100% + 2.8rem) !important;
            height:30rem !important;
            margin-left:-1.4rem !important;
            object-fit:cover !important;
            object-position:50% 72% !important;
          }

          #root .lexo-shell:has(.projects-reference) {
            width:100% !important;
            height:auto !important;
            min-height:100dvh !important;
            overflow:visible !important;
            padding-bottom:0 !important;
            background:#f7f9fb !important;
          }
          #root .lexo-shell:has(.projects-reference) .presentation-main,
          #root .lexo-shell:has(.projects-reference) .presentation-viewport,
          #root .lexo-shell:has(.projects-reference) .presentation-frame {
            height:auto !important;
            min-height:0 !important;
            overflow:visible !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          

          #root .lexo-shell:has(.about-reference) {
            width:100% !important;
            height:auto !important;
            min-height:100dvh !important;
            overflow:visible !important;
            padding-bottom:0 !important;
            background:#fff !important;
          }
          #root .lexo-shell:has(.about-reference) .presentation-main,
          #root .lexo-shell:has(.about-reference) .presentation-viewport,
          #root .lexo-shell:has(.about-reference) .presentation-frame {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            max-width:none !important;
            height:auto !important;
            max-height:none !important;
            min-height:0 !important;
            padding:0 !important;
            overflow:visible !important;
            transform:none !important;
          }
          
          
          
          
          #root .lexo-shell .about-reference .about-reference-copy h1 {
            max-width:22rem !important;
            margin:.7rem 0 0 !important;
            font-size:2.25rem !important;
            line-height:1.04 !important;
            letter-spacing:-.04em !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          #root .lexo-shell .about-reference-team .about-team-intro h2 {
            color:#fff !important;
            font-size:1.65rem !important;
            line-height:1.1 !important;
          }
          
          
          
          #root .lexo-shell .about-reference-team .about-person h3 {
            font-size:.96rem !important;
          }
          
          
          
          
          
          #root .lexo-shell .about-reference-testimonials > div h2 {
            margin-top:.4rem !important;
            font-size:1.55rem !important;
          }
          
          
          #root .lexo-shell:has(.about-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            min-height:5.4rem !important;
            padding:1rem 1.4rem calc(1rem + env(safe-area-inset-bottom)) !important;
            background:#fff !important;
            box-shadow:none !important;
          }
          #root .lexo-shell:has(.about-reference) > .story-footer .max-w-7xl {
            width:100% !important;
            max-width:none !important;
          }
          #root .lexo-shell:has(.about-reference) > .story-footer .max-w-7xl > div:nth-child(2) {
            flex:1 1 auto !important;
            width:auto !important;
            max-width:none !important;
            margin:0 .8rem !important;
          }
        }
        @media (min-width:768px) and (max-width:1279px) {
          #root .lexo-shell > header nav.main-nav-pill {
            display:none !important;
            visibility:hidden !important;
          }
          #root .lexo-shell > header .mobile-menu-toggle {
            display:flex !important;
            visibility:visible !important;
          }
        }
        @media (min-width:768px) and (max-width:1023px) {
          html:has(.project-calculator),
          body:has(.project-calculator),
          #root:has(.project-calculator),
          #root .lexo-shell:has(.project-calculator) {
            height:auto !important;
            min-height:0 !important;
            overflow:visible !important;
          }
          #root .lexo-shell:has(.project-calculator) {
            padding-bottom:0 !important;
          }
          #root .lexo-shell:has(.project-calculator) .presentation-main,
          #root .presentation-viewport:has(.project-calculator),
          #root .presentation-frame:has(.project-calculator) {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            padding-bottom:0 !important;
            overflow:visible !important;
            transform:none !important;
          }
          #root .lexo-shell:has(.project-calculator) > .story-footer {
            position:relative !important;
            inset:auto !important;
            margin-top:0 !important;
          }
        }
        @media (min-width:1024px) and (max-height:850px) {
          html:has(.project-calculator),
          body:has(.project-calculator),
          #root:has(.project-calculator),
          #root .lexo-shell:has(.project-calculator) {
            height:auto !important;
            min-height:0 !important;
            overflow:visible !important;
          }
          #root .lexo-shell:has(.project-calculator) {
            padding-bottom:0 !important;
          }
          #root .lexo-shell:has(.project-calculator) .presentation-main {
            flex:none !important;
          }
          #root .lexo-shell:has(.project-calculator) .presentation-main,
          #root .presentation-viewport:has(.project-calculator),
          #root .presentation-frame:has(.project-calculator),
          #root .project-calculator {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            padding-bottom:0 !important;
            overflow:visible !important;
            transform:none !important;
          }
          #root .project-calculator {
            align-content:start !important;
          }
          #root .lexo-shell:has(.project-calculator) > .story-footer {
            position:relative !important;
            inset:auto !important;
            margin-top:0 !important;
            box-shadow:none !important;
          }
        }
        @media (min-width:641px) and (max-width:1180px) {
          #root .lexo-shell:has(.career-reference),
          #root .lexo-shell:has(.career-reference) .presentation-main,
          #root .presentation-viewport:has(.career-reference),
          #root .presentation-frame:has(.career-reference) {
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
            overflow-x:clip !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }
        @media (min-width:641px) and (max-width:767px) {
          #root .lexo-shell:has(.career-reference),
          #root .lexo-shell:has(.career-reference) .presentation-main,
          #root .presentation-viewport:has(.career-reference),
          #root .presentation-frame:has(.career-reference),
          #root .career-reference {
            width:100% !important;
            max-width:100% !important;
            overflow-x:clip !important;
          }
          
          
          
          
          
          
          
          
        }
        @media (min-width:900px) and (max-width:1180px) {
          #root .lexo-shell:has(.contact-reference),
          #root .lexo-shell:has(.contact-reference) .presentation-main,
          #root .presentation-viewport:has(.contact-reference),
          #root .presentation-frame:has(.contact-reference) {
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
          }
          #root .lexo-shell:has(.contact-reference) {
            padding-bottom:0 !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-field {
            min-height:2.65rem !important;
          }
          #root .lexo-shell .contact-reference-form-card .contact-reference-offer-form .offer-modal-field .b2b-form-input {
            min-height:2.55rem !important;
          }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-message,
          #root .lexo-shell .contact-reference-form-card .contact-reference-offer-form .offer-modal-message textarea.b2b-form-input {
            min-height:5rem !important;
          }
          #root .contact-reference-form-card .contact-reference-offer-form .offer-modal-file {
            min-height:3rem !important;
          }
          
          
          
          
          
          #root .lexo-shell:has(.contact-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            margin-top:0 !important;
            margin-bottom:0 !important;
          }
        }
        @media (min-width:641px) and (max-width:980px) {
          html:has(.contact-reference),
          body:has(.contact-reference),
          #root:has(.contact-reference),
          #root .lexo-shell:has(.contact-reference),
          #root .lexo-shell:has(.contact-reference) .presentation-main,
          #root .presentation-viewport:has(.contact-reference),
          #root .presentation-frame:has(.contact-reference) {
            width:100% !important;
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
          }
          #root .lexo-shell:has(.contact-reference) {
            padding-bottom:0 !important;
            overflow-x:clip !important;
          }
          
          
          
          
          
          
        }
        @media (min-width:1024px) and (max-width:1440px) {
          #root .presentation-main:has(.hero-reference) {
            padding:0 !important;
            overflow:hidden !important;
          }
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            width:100% !important;
            max-width:none !important;
            height:100% !important;
            padding:0 !important;
            margin:0 !important;
          }
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            position:relative !important;
            inset:auto !important;
            transform:none !important;
          }
          
          #root .lexo-shell .hero-reference .hero-reference-copy h1 {
            max-width:100% !important;
            font-size:clamp(2.45rem,3.25vw,2.9rem) !important;
            line-height:1.08 !important;
          }
          
          
          
          
          
          
          
          
          
        }
        @media (min-width:1024px) {
          #root .presentation-main:has(.hero-reference),
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            width:100% !important;
            max-width:none !important;
            height:100% !important;
            padding:0 !important;
            margin:0 !important;
          }
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            position:relative !important;
            inset:auto !important;
            transform:none !important;
          }
          
          #root .lexo-shell .hero-reference .hero-reference-copy h1 {
            font-size:clamp(2.45rem,3.1vw,3.8rem) !important;
          }
          
          
          
        }
        
        
        @media (min-width:1024px) and (max-width:1180px) {
          #root .presentation-viewport:has(.hero-reference) {
            width:100% !important;
            max-width:none !important;
            padding:0 !important;
          }
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            width:100% !important;
            max-width:none !important;
          }
          
          
          #root .lexo-shell .hero-reference .hero-reference-copy h1 {
            font-size:clamp(2.2rem,3.8vw,2.45rem) !important;
          }
          
          
          
          
          
          
          
          
          
          
          
        }
        @media (max-width:1180px) {
          #root .lexo-shell {
            width:100% !important;
            max-width:100% !important;
            padding-bottom:0 !important;
            overflow-x:hidden !important;
          }
          #root .presentation-main,
          #root .presentation-viewport,
          #root .presentation-frame,
          #root .presentation-frame.hero-centered-frame {
            left:auto !important;
            right:auto !important;
            width:100% !important;
            max-width:100% !important;
            margin-left:0 !important;
            margin-right:0 !important;
            transform:none !important;
          }
          #root .lexo-shell > .story-footer,
          #root .lexo-shell:has(.hero-reference) > .story-footer,
          #root .lexo-shell:has(.about-reference) > .story-footer,
          #root .lexo-shell:has(.projects-reference) > .story-footer,
          #root .lexo-shell:has(.project-calculator) > .story-footer,
          #root .lexo-shell:has(.career-reference) > .story-footer,
          #root .lexo-shell:has(.contact-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            margin:0 !important;
            z-index:80 !important;
            box-shadow:none !important;
          }
          #root .lexo-shell .presentation-main {
            margin-bottom:0 !important;
          }
        }
        @media (min-width:768px) and (max-width:1180px) {
          #root .lexo-shell:has(.hero-reference) {
            padding-bottom:0 !important;
          }
          #root .lexo-shell:has(.hero-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            margin:0 !important;
          }
        }
        @media (min-width:768px) and (max-width:1023px) {
          #root .lexo-shell:has(.project-calculator) {
            padding-bottom:0 !important;
          }
          #root .lexo-shell:has(.project-calculator) > .story-footer {
            position:relative !important;
            inset:auto !important;
            margin:0 !important;
            box-shadow:none !important;
          }
        }
        @media (min-width:641px) and (max-width:980px) {
          #root .lexo-shell {
            padding-bottom:0 !important;
          }
          #root .lexo-shell > .story-footer,
          #root .lexo-shell:has(.hero-reference) > .story-footer,
          #root .lexo-shell:has(.about-reference) > .story-footer,
          #root .lexo-shell:has(.projects-reference) > .story-footer,
          #root .lexo-shell:has(.project-calculator) > .story-footer,
          #root .lexo-shell:has(.career-reference) > .story-footer,
          #root .lexo-shell:has(.contact-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            margin:0 !important;
            box-shadow:none !important;
          }
        }
        @media (min-width:1280px) {
          #root .lexo-shell > header .mobile-menu-toggle {
            display:none !important;
            visibility:hidden !important;
          }
        }
        @media (max-width:640px) {
          html,
          body,
          #root,
          #root .lexo-shell {
            width:100% !important;
            max-width:100% !important;
            overflow-x:hidden !important;
          }
          #root .lexo-shell {
            padding-bottom:0 !important;
          }
          #root .lexo-shell > .story-footer,
          #root .lexo-shell:has(.hero-reference) > .story-footer,
          #root .lexo-shell:has(.about-reference) > .story-footer,
          #root .lexo-shell:has(.projects-reference) > .story-footer,
          #root .lexo-shell:has(.project-calculator) > .story-footer,
          #root .lexo-shell:has(.career-reference) > .story-footer,
          #root .lexo-shell:has(.contact-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            margin:0 !important;
            box-shadow:none !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }
        @keyframes lexoMiniLoaderExit {
          0%, 48% { opacity:1; visibility:visible; }
          100% { opacity:0; visibility:hidden; }
        }
        @keyframes lexoLoaderHalo {
          0% { transform:scale(.72); opacity:0; }
          35% { opacity:.72; }
          100% { transform:scale(1.24); opacity:0; }
        }
        @keyframes lexoLoaderMark {
          0% { transform:scale(.88) rotate(-4deg); opacity:0; }
          38%, 78% { transform:scale(1) rotate(0); opacity:1; }
          100% { transform:scale(.98); opacity:.88; }
        }
        @keyframes lexoSceneReveal {
          from { opacity:0; transform:translateY(12px); }
          to { opacity:1; transform:translateY(0); }
        }
        @keyframes lexoProjectsMapBreathe {
          0%, 100% { transform:translateY(0) scale(.98); }
          50% { transform:translateY(-4px) scale(1); }
        }
        @keyframes lexoShieldDraw {
          0% { stroke-dashoffset:100; opacity:.12; }
          100% { stroke-dashoffset:0; opacity:1; }
        }
        .lexo-mini-loader {
          position:fixed;
          inset:0;
          z-index:9999;
          display:grid;
          place-items:center;
          background:#fff;
          animation:lexoMiniLoaderExit 1.35s cubic-bezier(.4,0,.2,1) both;
          pointer-events:none;
        }
        .lexo-mini-loader-inner {
          display:grid;
          justify-items:center;
          gap:.85rem;
        }
        .lexo-mini-loader-symbol {
          position:relative;
          width:7.25rem;
          height:7.25rem;
          display:grid;
          place-items:center;
        }
        .lexo-mini-loader-symbol::before,
        .lexo-mini-loader-symbol::after {
          content:"";
          position:absolute;
          inset:.55rem;
          border:2px solid #eef200;
          border-radius:50%;
          animation:lexoLoaderHalo .98s cubic-bezier(.2,.65,.35,1) infinite;
        }
        .lexo-mini-loader-symbol::after {
          animation-delay:.28s;
        }
        .lexo-mini-loader img {
          position:relative;
          z-index:1;
          width:6.35rem;
          height:auto;
          animation:lexoLoaderMark .9s cubic-bezier(.22,.72,.28,1) both;
        }
        .hero-reference,
        .about-reference,
        .projects-reference,
        .project-calculator,
        .career-reference,
        .contact-reference {
          animation:lexoSceneReveal .48s cubic-bezier(.2,.75,.25,1) both;
        }
        
        
        
        
        
        
        
        @media (hover:hover) and (pointer:fine) {
          
          
          
          
          
          
          button:hover > svg:last-child {
            transform:translateX(3px);
          }
          button > svg:last-child {
            transition:transform .2s ease;
          }
        }
        /* Fluid desktop/laptop layout: dimensions react continuously to both
           viewport width and height instead of targeting individual devices. */
        @media (min-width:1024px) {
          #root .lexo-shell:has(.hero-reference) {
            --hero-copy-width:clamp(52%, calc(68rem - 32vw), 55%);
          }
          #root .lexo-shell:has(.hero-reference) > header {
            flex:none !important;
            padding-top:clamp(.55rem,1.7vh,1rem) !important;
            padding-bottom:clamp(.55rem,1.7vh,1rem) !important;
          }
          #root .lexo-shell:has(.hero-reference) > header .max-w-7xl {
            width:min(100%,96rem) !important;
            gap:clamp(.65rem,1.5vw,1.5rem) !important;
          }
          #root .lexo-shell:has(.hero-reference) .main-nav-pill {
            gap:clamp(.4rem,1.25vw,1.7rem) !important;
          }
          #root .lexo-shell:has(.hero-reference) .main-nav-item {
            padding:.55rem .25rem !important;
            font-size:.76rem !important;
            line-height:1.2 !important;
            white-space:nowrap !important;
          }
          #root .lexo-shell:has(.hero-reference) .language-trigger {
            min-width:6.1rem !important;
            height:2.9rem !important;
          }
          #root .lexo-shell:has(.hero-reference) .header-cta-btn {
            min-height:2.9rem !important;
            padding:.78rem 1.15rem !important;
            font-size:.76rem !important;
            white-space:nowrap !important;
          }
          #root .presentation-main:has(.hero-reference),
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference),
          #root .hero-reference {
            min-height:0 !important;
          }
          
          
          
          #root .lexo-shell .hero-reference .hero-reference-copy h1 {
            max-width:100% !important;
            font-size:clamp(2.05rem,min(3.15vw,6.6vh),3.8rem) !important;
            line-height:1.05 !important;
            text-wrap:balance;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }
        
        /* Compact, fluid story navigation. It must never consume a large
           fraction of a short laptop or phone viewport. */
        #root .lexo-shell > .story-footer,
        #root .lexo-shell:has(.hero-reference) > .story-footer,
        #root .lexo-shell:has(.about-reference) > .story-footer,
        #root .lexo-shell:has(.projects-reference) > .story-footer,
        #root .lexo-shell:has(.project-calculator) > .story-footer,
        #root .lexo-shell:has(.career-reference) > .story-footer,
        #root .lexo-shell:has(.contact-reference) > .story-footer {
          min-height:clamp(2.5rem,5.8dvh,3.4rem) !important;
          height:auto !important;
          padding:
            clamp(.18rem,.65dvh,.42rem)
            clamp(.8rem,3vw,3rem)
            calc(clamp(.18rem,.65dvh,.42rem) + env(safe-area-inset-bottom)) !important;
        }
        #root .lexo-shell > .story-footer .story-footer-inner {
          min-height:0 !important;
          grid-template-columns:minmax(3.5rem,auto) minmax(7rem,34rem) minmax(4.8rem,auto) !important;
          gap:clamp(.45rem,2.2vw,2.5rem) !important;
        }
        #root .lexo-shell .story-footer-index {
          min-width:0 !important;
          gap:clamp(.25rem,.7vw,.7rem) !important;
        }
        #root .lexo-shell .story-footer-current,
        #root .lexo-shell .story-footer-count,
        #root .lexo-shell .story-footer-separator {
          font-size:clamp(.68rem,min(.82vw,1.7dvh),.9rem) !important;
        }
        #root .lexo-shell .story-footer-pagination {
          min-width:0 !important;
          gap:clamp(.15rem,.35vw,.3rem) !important;
        }
        #root .lexo-shell .story-footer-segment {
          height:clamp(3px,.55dvh,4px) !important;
        }
        #root .lexo-shell .story-footer-actions {
          gap:clamp(.3rem,.6vw,.55rem) !important;
        }
        #root .lexo-shell .story-footer-next,
        #root .lexo-shell .story-footer-prev {
          width:clamp(2rem,4.8dvh,2.55rem) !important;
          min-width:clamp(2rem,4.8dvh,2.55rem) !important;
          height:clamp(2rem,4.8dvh,2.45rem) !important;
        }
        @media (max-width:640px) {
          
          #root .lexo-shell > .story-footer .story-footer-inner {
            grid-template-columns:auto minmax(5rem,1fr) auto !important;
          }
        }
        /* Fluid information strips shared by the home and contact pages. */
        
        
        
        @media (max-width:1023px) {
          
          #root:has(.hero-reference),
          #root .lexo-shell:has(.hero-reference) {
            position:relative !important;
            width:100% !important;
            height:auto !important;
            min-height:100% !important;
            max-height:none !important;
            overflow-x:clip !important;
            overflow-y:visible !important;
            overscroll-behavior-y:auto !important;
            touch-action:pan-y !important;
          }
          
          #root .presentation-main:has(.hero-reference),
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference),
          #root .hero-reference,
          #root .hero-reference-main {
            position:relative !important;
            inset:auto !important;
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
            transform:none !important;
            touch-action:pan-y !important;
          }
        }
        @media (max-width:640px) {
          html,
          body {
            height:auto !important;
            min-height:100% !important;
            max-height:none !important;
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior-y:auto !important;
            touch-action:pan-y !important;
            -webkit-overflow-scrolling:touch;
          }
          #root,
          #root .lexo-shell:has(.hero-reference) {
            height:auto !important;
            min-height:100% !important;
            max-height:none !important;
            overflow-x:clip !important;
            overflow-y:visible !important;
            touch-action:pan-y !important;
          }
          #root .presentation-main:has(.hero-reference),
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference),
          #root .hero-reference,
          #root .hero-reference-main {
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
            touch-action:pan-y !important;
          }
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
          
        }
        /* Keep the document element as the only mobile scroll container. */
        @media (max-width:1023px) {
          
          
          #root:has(.hero-reference),
          #root .lexo-shell:has(.hero-reference),
          #root .presentation-main:has(.hero-reference),
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference),
          #root .hero-reference {
            height:auto !important;
            max-height:none !important;
            overflow-x:clip !important;
            overflow-y:visible !important;
            touch-action:pan-y !important;
          }
        }
        /* Final low-height override: all six pages flow vertically without collisions. */
        @media (min-width:1024px) and (max-height:700px) {
          html,
          body {
            height:auto !important;
            min-height:100% !important;
            max-height:none !important;
            overflow-x:hidden !important;
          }
          html { overflow-y:auto !important; }
          body { overflow-y:visible !important; }
          #root,
          #root .lexo-shell {
            height:auto !important;
            min-height:100vh !important;
            max-height:none !important;
            overflow-x:clip !important;
            overflow-y:visible !important;
          }
          #root .presentation-main,
          #root .presentation-viewport,
          #root .presentation-frame,
          #root .presentation-frame.hero-centered-frame {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
            transform:none !important;
          }
          #root .presentation-main {
            flex:none !important;
            display:block !important;
            padding:0 !important;
          }
          #root .hero-reference,
          #root .about-reference,
          #root .projects-reference,
          #root .project-calculator,
          #root .career-reference,
          #root .contact-reference {
            height:auto !important;
            max-height:none !important;
            overflow:visible !important;
          }
          
          
          
          
          
          
          
          #root .project-calculator { min-height:44rem !important; }
          
          
          
          
          
          
          #root .lexo-shell > .story-footer {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            margin:0 !important;
          }
        }
        /* Final footer contract: fixed to the viewport, with no trailing gap. */
        #root .lexo-shell,
        #root .lexo-shell:has(.hero-reference),
        #root .lexo-shell:has(.about-reference),
        #root .lexo-shell:has(.projects-reference),
        #root .lexo-shell:has(.project-calculator),
        #root .lexo-shell:has(.career-reference),
        #root .lexo-shell:has(.contact-reference) {
          --story-footer-height:clamp(2.5rem,5.8dvh,3.4rem);
          padding-bottom:0 !important;
        }
        #root .lexo-shell > .story-footer,
        #root .lexo-shell:has(.hero-reference) > .story-footer,
        #root .lexo-shell:has(.about-reference) > .story-footer,
        #root .lexo-shell:has(.projects-reference) > .story-footer,
        #root .lexo-shell:has(.project-calculator) > .story-footer,
        #root .lexo-shell:has(.career-reference) > .story-footer,
        #root .lexo-shell:has(.contact-reference) > .story-footer {
          position:fixed !important;
          z-index:120 !important;
          inset:auto 0 0 0 !important;
          width:100% !important;
          min-height:var(--story-footer-height) !important;
          margin:0 !important;
          box-sizing:border-box !important;
        }
        @media (max-width:640px) {
          #root .lexo-shell,
          #root .lexo-shell:has(.hero-reference),
          #root .lexo-shell:has(.about-reference),
          #root .lexo-shell:has(.projects-reference),
          #root .lexo-shell:has(.project-calculator),
          #root .lexo-shell:has(.career-reference),
          #root .lexo-shell:has(.contact-reference) {
            --story-footer-height:calc(clamp(2.8rem,6dvh,3.2rem) + env(safe-area-inset-bottom));
            padding-bottom:0 !important;
          }
        }
        
        @media (prefers-reduced-motion:reduce) {
          .lexo-mini-loader { display:none !important; }
          
          .hero-reference,
          .about-reference,
          .projects-reference,
          .project-calculator,
          .career-reference,
          .contact-reference {
            animation:none !important;
          }
          *, *::before, *::after {
            scroll-behavior:auto !important;
          }
        }
        @media (min-width:1024px) and (min-height:701px) {
          #root .presentation-frame {
            overflow:visible !important;
          }
          #root .hero-reference,
          #root .about-reference,
          #root .projects-reference,
          #root .project-calculator,
          #root .career-reference,
          #root .contact-reference {
            height:100% !important;
          }
        }
        #root .lexo-shell > .story-footer::before {
          display:none !important;
          content:none !important;
        }
        
        
        
        
        /*
         * Desktop presentation contract: header + page + story navigation
         * always occupy exactly one viewport and never overlap.
         */
        @media (min-width:1024px) {
          html,
          body,
          #root {
            width:100% !important;
            height:100dvh !important;
            min-height:0 !important;
            max-height:100dvh !important;
            overflow:hidden !important;
          }
          #root .lexo-shell,
          #root .lexo-shell:has(.hero-reference),
          #root .lexo-shell:has(.about-reference),
          #root .lexo-shell:has(.projects-reference),
          #root .lexo-shell:has(.project-calculator),
          #root .lexo-shell:has(.career-reference),
          #root .lexo-shell:has(.contact-reference) {
            width:100% !important;
            height:100dvh !important;
            min-height:0 !important;
            max-height:100dvh !important;
            padding-bottom:0 !important;
            display:grid !important;
            grid-template-rows:auto minmax(0,1fr) var(--story-footer-height) !important;
            grid-template-columns:minmax(0,1fr) !important;
            overflow:hidden !important;
          }
          #root .lexo-shell > header {
            grid-column:1 / -1 !important;
            flex:0 0 auto !important;
          }
          #root .presentation-main {
            grid-row:2 !important;
            grid-column:1 / -1 !important;
            width:100% !important;
            height:100% !important;
            min-height:0 !important;
            max-height:none !important;
            padding:0 !important;
            display:block !important;
            overflow:hidden !important;
          }
          #root .presentation-viewport,
          #root .presentation-frame {
            width:100% !important;
            height:100% !important;
            min-height:0 !important;
            max-width:none !important;
            max-height:none !important;
            margin:0 !important;
            padding:0 !important;
            overflow:hidden !important;
          }
          #root .presentation-viewport,
          #root .presentation-viewport:has(.hero-reference),
          #root .presentation-viewport:has(.about-reference),
          #root .presentation-viewport:has(.projects-reference),
          #root .presentation-viewport:has(.project-calculator),
          #root .presentation-viewport:has(.career-reference),
          #root .presentation-viewport:has(.contact-reference) {
            position:absolute !important;
            inset:0 !important;
            height:auto !important;
          }
          #root .presentation-frame,
          #root .presentation-frame.hero-centered-frame,
          #root .presentation-frame:has(.hero-reference),
          #root .presentation-frame:has(.about-reference),
          #root .presentation-frame:has(.projects-reference),
          #root .presentation-frame:has(.project-calculator),
          #root .presentation-frame:has(.career-reference),
          #root .presentation-frame:has(.contact-reference),
          #root .presentation-frame.hero-centered-frame:has(.hero-reference) {
            position:absolute !important;
            top:auto !important;
            bottom:0 !important;
            left:50% !important;
            width:100% !important;
            height:100% !important;
            min-height:0 !important;
            overflow:visible !important;
            transform:translateX(-50%) !important;
            transform-origin:bottom center !important;
          }
          #root .hero-reference,
          #root .about-reference,
          #root .projects-reference,
          #root .project-calculator,
          #root .career-reference,
          #root .contact-reference {
            width:100% !important;
            height:100% !important;
            min-height:0 !important;
            max-height:none !important;
            overflow:visible !important;
          }
          #root .lexo-shell > .story-footer,
          #root .lexo-shell:has(.hero-reference) > .story-footer,
          #root .lexo-shell:has(.about-reference) > .story-footer,
          #root .lexo-shell:has(.projects-reference) > .story-footer,
          #root .lexo-shell:has(.project-calculator) > .story-footer,
          #root .lexo-shell:has(.career-reference) > .story-footer,
          #root .lexo-shell:has(.contact-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            grid-row:3 !important;
            grid-column:1 / -1 !important;
            width:100% !important;
            min-height:var(--story-footer-height) !important;
            max-height:var(--story-footer-height) !important;
            margin:0 !important;
          }
          #root .lexo-shell > .story-footer::before {
            display:none !important;
          }

          /*
           * The calculator contains a complete configuration form, a Gantt
           * chart and a summary. On many desktop heights those blocks cannot be
           * compressed without either unreadable text or overlap. Keep the
           * shell/footer fixed to the viewport and scroll only the page area.
           */
          #root .lexo-shell:has(.project-calculator) > .presentation-main {
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior:contain;
            scrollbar-gutter:stable;
          }
          #root .presentation-viewport:has(.project-calculator),
          #root .presentation-frame:has(.project-calculator) {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:100% !important;
            overflow:visible !important;
            transform:none !important;
          }
          #root .project-calculator {
            width:100% !important;
            height:auto !important;
            min-height:52rem !important;
            overflow:visible !important;
          }

          /*
           * About has four content-rich sections. Give it the same safe
           * document flow as the calculator so copy never paints into the next
           * section on medium-height desktops.
           */
          #root .lexo-shell:has(.about-reference) > .presentation-main {
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior:contain;
            scrollbar-gutter:stable;
          }
          #root .presentation-viewport:has(.about-reference),
          #root .presentation-frame:has(.about-reference) {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:100% !important;
            overflow:visible !important;
            transform:none !important;
          }
          
        }
        @media (min-width:1024px) and (max-height:700px) {
          #root .lexo-shell:has(.projects-reference) > .presentation-main {
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior:contain;
            scrollbar-gutter:stable;
          }
          #root .presentation-viewport:has(.projects-reference),
          #root .presentation-frame:has(.projects-reference) {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:100% !important;
            overflow:visible !important;
            transform:none !important;
          }
          
          
          #root .lexo-shell:has(.career-reference) > .presentation-main,
          #root .lexo-shell:has(.contact-reference) > .presentation-main {
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior:contain;
            scrollbar-gutter:stable;
          }
          #root .presentation-viewport:has(.career-reference),
          #root .presentation-frame:has(.career-reference),
          #root .presentation-viewport:has(.contact-reference),
          #root .presentation-frame:has(.contact-reference) {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:100% !important;
            overflow:visible !important;
            transform:none !important;
          }
          
          
          
          
          
          
          /*
           * A calculator cannot remain legible when its full form and schedule
           * are compressed into a very short desktop viewport. Keep the header
           * and story navigation in place, but let the page itself scroll. This
           * preserves every section instead of clipping or scaling it away.
           */
          
        }
        
        @media (min-width:1024px) and (max-width:1100px) {
          #root .lexo-shell:has(.projects-reference) > .presentation-main {
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior:contain;
            scrollbar-gutter:stable;
          }
          #root .presentation-viewport:has(.projects-reference),
          #root .presentation-frame:has(.projects-reference) {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            height:auto !important;
            min-height:100% !important;
            overflow:visible !important;
            transform:none !important;
          }
          
        }
        /* One desktop header geometry on every slide. Keep this block last so
           page-specific presentation styles cannot resize the navigation. */
        @media (min-width:1280px) {
          #root .lexo-shell > header {
            padding-top:clamp(.55rem,1.7vh,1rem) !important;
            padding-bottom:clamp(.55rem,1.7vh,1rem) !important;
            padding-left:2rem !important;
            padding-right:2rem !important;
          }
          #root .lexo-shell > header .max-w-7xl {
            gap:clamp(.65rem,1.5vw,1.5rem) !important;
          }
          #root .lexo-shell .main-nav-pill {
            gap:clamp(.4rem,1.25vw,1.7rem) !important;
          }
          #root .lexo-shell .main-nav-item,
          #root .lexo-shell .main-nav-item:hover {
            padding:.55rem .25rem !important;
            font-size:.76rem !important;
            line-height:1.2 !important;
          }
          #root .lexo-shell .language-trigger {
            min-width:6.1rem !important;
            height:2.9rem !important;
          }
          #root .lexo-shell .header-cta-btn,
          #root .lexo-shell .header-cta-btn:hover {
            min-height:2.9rem !important;
            padding:.78rem 1.15rem !important;
            gap:.75rem !important;
            font-size:.76rem !important;
            line-height:1.1 !important;
          }

          /* Full-width information rails sit directly on the story footer. */
          #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats,
          #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar,
          #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline,
          #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
            height:4.25rem !important;
            min-height:4.25rem !important;
            max-height:4.25rem !important;
            margin-bottom:0 !important;
            box-sizing:border-box !important;
          }
          
          #root .lexo-shell > .story-footer {
            margin-top:0 !important;
          }
        }
        @media (min-width:1441px) {
          #root > .lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats,
          #root > .lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar,
          #root > .lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline,
          #root > .lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
            height:7rem !important;
            min-height:7rem !important;
            max-height:7rem !important;
          }
          
          #root .project-calculator .pc-summary-strip-inline {
            bottom:0 !important;
          }
        }
        @media (min-width:1024px) {
          /* Give the career/contact copy enough room for whole-word wrapping. */
          
          
          
          
          
          
          #root .lexo-shell .language-trigger {
            width:6.1rem !important;
            flex:0 0 6.1rem !important;
          }
          #root .lexo-shell .language-trigger > span.uppercase {
            white-space:nowrap !important;
          }
        }
        /* Consistent lead subtitles below every main page heading. */
        
        
        #root .hero-reference,
        #root .about-reference,
        #root .projects-reference,
        #root .project-calculator,
        #root .career-reference,
        #root .contact-reference {
          padding-bottom:0 !important;
          margin-bottom:0 !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference.projects-reference {
          height:auto !important;
          min-height:0 !important;
          padding-bottom:0 !important;
          margin-bottom:0 !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail {
          /* The parent grid already supplies the shared section spacing. */
          margin-top:0 !important;
          margin-bottom:0 !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar > span {
          grid-template-columns:clamp(1.75rem,2.1vw,2.25rem) minmax(0,1fr) !important;
          grid-template-rows:auto auto !important;
          column-gap:clamp(.65rem,.9vw,.9rem) !important;
          padding-inline:clamp(.75rem,1.1vw,1.2rem) !important;
          height:100% !important;
          align-content:center !important;
          padding-top:0 !important;
          padding-bottom:0 !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar {
          position:sticky !important;
          /* Let the fixed story footer overlap the rail's lower edge. This
             removes the reserved white band and keeps both rails contiguous. */
          bottom:0 !important;
          z-index:40 !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar svg {
          width:clamp(1.75rem,2.1vw,2.25rem) !important;
          height:clamp(1.75rem,2.1vw,2.25rem) !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar small {
          font-size:clamp(.66rem,.72vw,.76rem) !important;
          line-height:1.25 !important;
          font-weight:600 !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar b {
          font-size:clamp(.82rem,.9vw,.96rem) !important;
          line-height:1.25 !important;
          font-weight:800 !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) {
          display:flex !important;
          flex-direction:column !important;
          height:auto !important;
          min-height:100dvh !important;
          max-height:none !important;
          padding-bottom:var(--story-footer-height) !important;
          box-sizing:border-box !important;
          overflow:visible !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference)::after {
          content:none !important;
          display:none !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) > .presentation-main,
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .presentation-viewport,
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .presentation-frame {
          position:relative !important;
          inset:auto !important;
          width:100% !important;
          height:auto !important;
          min-height:0 !important;
          max-height:none !important;
          overflow:visible !important;
          transform:none !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) > .presentation-main {
          flex:1 0 auto !important;
          height:auto !important;
          min-height:0 !important;
          block-size:auto !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) > .presentation-main > .presentation-viewport,
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) > .presentation-main > .presentation-viewport > .presentation-frame,
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference.projects-reference {
          min-height:100% !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) > .story-footer.story-footer {
          position:fixed !important;
          inset:auto 0 0 !important;
          width:100% !important;
          margin-top:0 !important;
          z-index:50 !important;
        }
        

        /* Focused responsive corrections. Keep these selectors local to the
           components that genuinely need more room or readable type. */
        #root .project-calculator .pc-overview .pc-mini-stat strong {
          height:auto !important;
          min-height:1.15em !important;
          overflow:visible !important;
          line-height:1.15 !important;
          text-overflow:clip !important;
        }

        
        
        
        
        
        
        
        
        
        
        

        @media (min-width:1024px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) {
            display:grid !important;
            grid-template-rows:auto minmax(0,1fr) var(--story-footer-height) !important;
            width:100% !important;
            height:100dvh !important;
            min-height:100dvh !important;
            max-height:100dvh !important;
            padding-bottom:0 !important;
            overflow:hidden !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) > header {
            grid-row:1 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) > .presentation-main {
            grid-row:2 !important;
            width:100% !important;
            height:100% !important;
            min-height:0 !important;
            overflow-x:hidden !important;
            overflow-y:auto !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .presentation-viewport,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .presentation-frame,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference {
            height:100% !important;
            min-height:100% !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) > .story-footer {
            grid-row:3 !important;
          }
          
        }

        @media (max-width:1023px) {
          #root .lexo-shell {
            padding-bottom:var(--story-footer-height) !important;
          }
          
          
          
          #root .project-calculator .pc-gantt-head b,
          #root .project-calculator .pc-gantt-row > div:first-child > small {
            font-size:.625rem !important;
          }
        }

        /* Shared mobile treatment for every lower information rail: a compact
           two-column card grid on one continuous dark background. */
        @media (max-width:640px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
            width:100% !important;
            height:auto !important;
            min-height:0 !important;
            max-height:none !important;
            margin-right:0 !important;
            margin-left:0 !important;
            padding:.8rem !important;
            display:grid !important;
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:.6rem !important;
            overflow:hidden !important;
            border-radius:0 !important;
            background:#07111b !important;
            box-sizing:border-box !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar > span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-mini-stat,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip > div {
            min-width:0 !important;
            min-height:5.1rem !important;
            height:auto !important;
            padding:.8rem !important;
            border:1px solid rgba(255,255,255,.14) !important;
            border-radius:.18rem !important;
            background:#081522 !important;
            box-shadow:none !important;
            box-sizing:border-box !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div::after {
            display:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar > span:nth-child(n),
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip > div:first-child,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip > div:last-child {
            padding-inline:.8rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar > span:nth-child(n) {
            grid-template-rows:auto auto !important;
            align-content:center !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button {
            grid-column:1 / -1 !important;
            width:100% !important;
            min-height:4rem !important;
            margin:0 !important;
            border-radius:.18rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button {
            gap:clamp(.45rem,2.5vw,.7rem) !important;
            padding:clamp(.6rem,3vw,.8rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats svg,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-truck-icon,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-calculator-icon {
            width:clamp(1.7rem,7.5vw,2.1rem) !important;
            height:clamp(1.7rem,7.5vw,2.1rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-stat-title {
            min-height:0 !important;
            margin-bottom:.15rem !important;
            font-size:clamp(.82rem,4vw,1rem) !important;
            line-height:1.12 !important;
            overflow-wrap:normal !important;
            word-break:normal !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div > span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button > span {
            min-width:0 !important;
            font-size:clamp(.56rem,2.5vw,.68rem) !important;
            line-height:1.3 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline::before {
            inset:0 !important;
            border-radius:0 !important;
            background:#07111b !important;
            box-shadow:none !important;
          }
        }

        @media (min-width:641px) and (max-width:767px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button {
            min-height:4.8rem !important;
            padding:.8rem clamp(1.25rem,4vw,1.7rem) !important;
            gap:clamp(.75rem,2.5vw,1rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats svg,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-truck-icon,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-calculator-icon {
            width:2.2rem !important;
            height:2.2rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-stat-title {
            margin-bottom:.15rem !important;
            font-size:clamp(.95rem,2.5vw,1.1rem) !important;
            line-height:1.12 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div > span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button > span {
            font-size:clamp(.62rem,1.65vw,.7rem) !important;
            line-height:1.3 !important;
          }
        }

        /* Fixed story navigation must never cover the final content on phone
           and tablet layouts. Reserve its measured height plus a small visual
           breathing space on every affected page. */
        @media (max-width:1023px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) {
            padding-bottom:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button {
            justify-content:flex-start !important;
            text-align:left !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button > .hero-calculator-icon {
            margin-left:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button > svg:last-child {
            margin-left:auto !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference),
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference),
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator),
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference),
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) {
            padding-bottom:max(var(--story-footer-height),3rem) !important;
            scroll-padding-bottom:max(var(--story-footer-height),3rem) !important;
          }

          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-filter,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar {
            max-width:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-filter {
            width:calc(100% + 1.8rem) !important;
            margin-right:-.9rem !important;
            margin-left:-.9rem !important;
            border-radius:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar {
            width:calc(100% + 1.8rem + 2px) !important;
            margin-right:calc(-.9rem - 1px) !important;
            margin-left:calc(-.9rem - 1px) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            width:calc(100% + var(--pc-gutter) + var(--pc-gutter)) !important;
            max-width:none !important;
            margin-right:calc(var(--pc-gutter) * -1) !important;
            margin-left:calc(var(--pc-gutter) * -1) !important;
          }
        }
        @media (max-width:640px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference),
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator),
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference),
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) {
            padding-bottom:0 !important;
            scroll-padding-bottom:var(--story-footer-height) !important;
          }
        }
        @media (max-width:1023px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > .story-footer {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            margin:0 !important;
          }
        }

        /* Tall compact desktops (including 1280px-wide browser windows) must
           use the full presentation area instead of stopping at the 52rem
           safety minimum and leaving a large blank region above navigation. */
        @media (min-width:1024px) and (min-height:980px) {
          #root .presentation-viewport:has(.about-reference),
          #root .presentation-frame:has(.about-reference),
          #root .about-reference {
            height:100% !important;
            min-height:100% !important;
          }
          
          
          
        }

        /* The shared 4.25rem rail cap is too short for wrapped copy at compact
           desktop widths. Let each rail match the actual content/parent row. */
        @media (min-width:1024px) and (max-width:1440px) {
          
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar {
            height:auto !important;
            min-height:6.25rem !important;
            max-height:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar > span {
            height:auto !important;
            min-height:5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            bottom:0 !important;
            height:auto !important;
            max-height:none !important;
            overflow:hidden !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-mini-stat,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button {
            height:auto !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
            height:100% !important;
            min-height:100% !important;
            max-height:none !important;
          }
        }
        @media (min-width:1024px) and (max-width:1280px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            min-height:6.875rem !important;
            grid-template-rows:minmax(3.4rem,auto) minmax(3.4rem,auto) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-mini-stat,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button {
            min-height:3.4rem !important;
          }
        }
        @media (min-width:1281px) and (max-width:1440px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            min-height:5rem !important;
            grid-template-rows:minmax(5rem,auto) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-mini-stat,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button {
            min-height:5rem !important;
          }
        }

        /* Keep the compact navigation inside the viewport. The overlay also
           carries max-w-7xl, so the header-container rule used to win the
           cascade and turn this fixed layer back into a relative element. */
        @media (max-width:1279px) {
          
          #root .lexo-shell > header.mobile-menu-is-open {
            height:5rem !important;
            min-height:5rem !important;
            overflow:visible !important;
          }
          #root .lexo-shell > header.mobile-menu-is-open > .mobile-menu-overlay {
            position:fixed !important;
            z-index:501 !important;
            inset:5rem 0 0 !important;
            width:100vw !important;
            max-width:none !important;
            height:calc(100dvh - 5rem) !important;
            max-height:calc(100dvh - 5rem) !important;
            margin:0 !important;
            overflow-x:hidden !important;
            overflow-y:auto !important;
            overscroll-behavior:contain !important;
            -webkit-overflow-scrolling:touch;
          }
        }

        /* Shared desktop contract for the four information rails. Their
           equal columns span the viewport and share one fixed visual height. */
        @media (min-width:1024px) {
          #root > .lexo-shell.lexo-shell {
            --lexo-info-rail-height:7rem;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
            width:100vw !important;
            height:var(--lexo-info-rail-height) !important;
            min-height:var(--lexo-info-rail-height) !important;
            max-height:var(--lexo-info-rail-height) !important;
            margin-top:0 !important;
            margin-right:calc(50% - 50vw) !important;
            margin-bottom:0 !important;
            margin-left:calc(50% - 50vw) !important;
            padding:0 !important;
            grid-template-rows:minmax(0,1fr) !important;
            align-items:stretch !important;
            align-self:end !important;
            overflow:hidden !important;
            box-sizing:border-box !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
            background:#07111b !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar {
            position:relative !important;
            left:auto !important;
            margin-right:calc(var(--lexo-page-gutter) * -1) !important;
            margin-left:calc(var(--lexo-page-gutter) * -1) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
            margin-right:0 !important;
            margin-left:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference {
            grid-template-rows:minmax(0,1fr) var(--lexo-info-rail-height) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail {
            grid-template-rows:minmax(0,1fr) var(--lexo-info-rail-height) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference {
            grid-template-rows:minmax(0,1fr) var(--lexo-info-rail-height) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats {
            grid-template-columns:repeat(5,minmax(0,1fr)) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip {
            grid-template-columns:repeat(4,minmax(0,1fr)) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > *,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail-bar > span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline > *,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-strip > div {
            height:100% !important;
            min-height:0 !important;
            max-height:none !important;
            box-sizing:border-box !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-stat-title {
            display:block !important;
            min-height:1.15em !important;
            overflow:visible !important;
            white-space:normal !important;
            -webkit-line-clamp:unset !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            right:auto !important;
            bottom:0 !important;
            left:auto !important;
            margin-right:0 !important;
            margin-left:0 !important;
            grid-template-columns:repeat(6,minmax(0,1fr)) !important;
            transform:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline::before {
            inset:0 !important;
            border-radius:0 !important;
            box-shadow:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button {
            grid-column:auto !important;
            grid-row:auto !important;
            width:100% !important;
            min-width:0 !important;
            margin:0 !important;
            padding:.55rem .7rem !important;
            gap:.55rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button .pc-quote-icon {
            width:2.05rem !important;
            height:2.05rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button b {
            font-size:.95rem !important;
            line-height:1.08 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button small {
            margin-top:.12rem !important;
            font-size:.62rem !important;
            line-height:1.15 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-quote-button .pc-quote-arrow {
            width:.9rem !important;
            height:.9rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-summary-scope {
            padding:.6rem .7rem !important;
            gap:.55rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-mini-stat strong,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-mini-stat strong span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-mini-stat > em {
            font-size:1.15rem !important;
            line-height:1.18 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-mini-stat small {
            font-size:.64rem !important;
            line-height:1.3 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-summary-scope b {
            font-size:.88rem !important;
            line-height:1.15 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-summary-scope small {
            font-size:.6rem !important;
            line-height:1.25 !important;
            -webkit-line-clamp:3 !important;
          }
        }
        @media (min-width:1024px) and (min-height:851px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            position:absolute !important;
            left:0 !important;
          }
        }
        @media (min-width:1024px) and (max-height:850px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            position:relative !important;
            margin-left:calc(var(--pc-gutter) * -1) !important;
          }
        }
        @media (min-width:1024px) and (max-width:1280px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            grid-template-columns:repeat(5,minmax(0,1fr)) !important;
            grid-template-rows:minmax(0,1fr) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline .pc-summary-scope {
            display:none !important;
          }
        }

        /* Balanced compact-desktop layouts for the three sections that were
           losing horizontal breathing room close to their breakpoints. */
        @media (min-width:1181px) and (max-width:1440px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process {
            padding-right:clamp(1.5rem,2.5vw,2.75rem) !important;
            padding-left:clamp(1.5rem,2.5vw,2.75rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process > div {
            grid-template-columns:repeat(4,minmax(0,1fr)) !important;
            column-gap:clamp(.4rem,.8vw,.75rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process article {
            min-height:6.4rem !important;
            grid-template-columns:2rem 2.6rem minmax(0,1fr) !important;
            align-items:center !important;
            gap:.55rem !important;
            padding:.4rem 2rem .4rem 0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process article > b {
            align-self:center !important;
            font-size:1.65rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process article > svg {
            width:2.6rem !important;
            height:2.6rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process article span strong {
            font-size:clamp(.7rem,.82vw,.8rem) !important;
            line-height:1.15 !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process article span small {
            margin-top:.3rem !important;
            font-size:.66rem !important;
            line-height:1.35 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process article:not(:last-child)::after {
            right:.15rem !important;
            width:1.45rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process article > i {
            right:.28rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-process article:last-child > i {
            right:auto !important;
            left:4.15rem !important;
          }
        }

        @media (min-width:1281px) and (max-width:1599px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-photo {
            inset:0 0 0 56% !important;
            width:44% !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy {
            width:56% !important;
            padding-right:clamp(4.5rem,5vw,6rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1 {
            font-size:clamp(2.7rem,2.85vw,3.2rem) !important;
          }
        }

        @media (min-width:1181px) and (max-width:1440px) and (min-height:851px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            right:var(--pc-gutter) !important;
            left:var(--pc-gutter) !important;
            width:auto !important;
            margin-right:0 !important;
            margin-left:0 !important;
          }
        }
        @media (min-width:1181px) and (max-width:1440px) and (max-height:850px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.project-calculator) .pc-summary-strip-inline {
            right:auto !important;
            left:auto !important;
            width:100% !important;
            margin-right:0 !important;
            margin-left:0 !important;
          }
        }

        /* On phones the home slide's visual content already ends exactly at
           the story controls. Clip its invisible scroll overflow so the page
           cannot reveal a blank strip below the footer in mobile Safari. */
        @media (max-width:640px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference {
            overflow:hidden !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.projects-reference) .projects-reference-detail {
            overflow:visible !important;
          }

          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-step-roles .career-reference-main {
            min-height:0 !important;
            overflow:visible !important;
            background:#081522 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-step-roles .career-reference-photo {
            inset:0 0 auto !important;
            height:23rem !important;
            min-height:0 !important;
            object-position:32% 48% !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-step-roles .career-reference-main::after {
            inset:0 0 auto !important;
            height:23rem !important;
            background:linear-gradient(180deg,rgba(5,12,19,.28),rgba(5,12,19,.9)) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-step-roles .career-reference-copy {
            min-height:0 !important;
            padding:2rem 1rem 0 !important;
            display:block !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-role-panel {
            position:relative !important;
            z-index:3 !important;
            width:calc(100% + 2rem) !important;
            margin:1.35rem -1rem 0 !important;
            padding:1rem 1rem 1.25rem !important;
            display:block !important;
            background:linear-gradient(145deg,#0b2032 0%,#071522 100%) !important;
            box-shadow:inset 0 1px 0 rgba(255,255,255,.08) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-role-heading {
            display:flex !important;
            align-items:center !important;
            gap:.8rem !important;
            color:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-role-heading > span {
            width:2.35rem !important;
            height:2.35rem !important;
            flex:none !important;
            display:grid !important;
            place-items:center !important;
            border-radius:50% !important;
            background:#a7df00 !important;
            color:#07111b !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-role-heading svg {
            width:1.25rem !important;
            height:1.25rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-role-heading b {
            display:block !important;
            font-size:.95rem !important;
            line-height:1.2 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-role-heading small {
            display:block !important;
            margin-top:.16rem !important;
            color:#b6c1cc !important;
            font-size:.68rem !important;
            line-height:1.3 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-roles {
            width:100% !important;
            margin-top:.9rem !important;
            gap:.58rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-roles button {
            min-height:4.15rem !important;
            padding:.72rem .8rem !important;
            display:grid !important;
            grid-template-columns:2.45rem minmax(0,1fr) auto 1rem !important;
            column-gap:.68rem !important;
            border:1px solid #dbe1e6 !important;
            border-radius:.62rem !important;
            background:#fff !important;
            box-shadow:0 6px 16px rgba(0,0,0,.13) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-roles button.is-active {
            min-height:5.2rem !important;
            border-color:#a9d900 !important;
            box-shadow:0 0 0 1px #a9d900,0 8px 22px rgba(154,205,0,.25) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-roles button > svg:first-child {
            grid-column:1 !important;
            width:2.15rem !important;
            height:2.15rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-role-text {
            grid-column:2 !important;
            min-width:0 !important;
            display:grid !important;
            gap:.3rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-role-text strong {
            color:#111b25 !important;
            font-size:1rem !important;
            line-height:1.15 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-role-text > small {
            display:flex !important;
            align-items:center !important;
            gap:.38rem !important;
            color:#87ba00 !important;
            font-size:.62rem !important;
            line-height:1.25 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-role-text > small i {
            width:1rem !important;
            height:1rem !important;
            flex:none !important;
            display:grid !important;
            place-items:center !important;
            border:0 !important;
            border-radius:50% !important;
            background:#8dca00 !important;
            color:#fff !important;
            font-size:.58rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-role-open {
            grid-column:3 !important;
            display:block !important;
            color:#111b25 !important;
            font-size:.7rem !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-roles button.is-active .career-role-open {
            color:#83b700 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-role-chevron {
            grid-column:4 !important;
            display:block !important;
            width:1rem !important;
            height:1rem !important;
            color:#111b25 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-reference-roles button.is-active .career-role-chevron {
            color:#83b700 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-role-radio {
            display:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-role-cta {
            width:100% !important;
            min-height:3.6rem !important;
            margin-top:.72rem !important;
            padding:.8rem 1rem !important;
            display:grid !important;
            grid-template-columns:1fr 1.2rem !important;
            align-items:center !important;
            gap:.75rem !important;
            border:0 !important;
            border-radius:.58rem !important;
            background:#ffd000 !important;
            color:#08111b !important;
            font-size:.82rem !important;
            font-weight:850 !important;
            text-align:center !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-role-cta svg {
            width:1.15rem !important;
            height:1.15rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.career-reference) .career-mobile-locations {
            margin:.85rem 0 0 !important;
            display:flex !important;
            color:#dbe3ea !important;
            font-size:.64rem !important;
            line-height:1.35 !important;
          }
        }

        /* Contact slide: only the phone form-entry visual is image-led;
           the map, information rail and navigation retain their base layout. */
        @media (max-width:640px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-main {
            display:flex !important;
            min-height:0 !important;
            overflow:visible !important;
            flex-direction:column !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-visual {
            position:relative !important;
            order:2 !important;
            width:100% !important;
            height:clamp(27.5rem,128vw,30rem) !important;
            display:block !important;
            overflow:hidden !important;
            background:#07111b !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-visual::after {
            content:"";
            position:absolute;
            z-index:1;
            inset:0;
            pointer-events:none;
            background:linear-gradient(180deg,rgba(4,13,21,.12) 0%,rgba(4,13,21,.56) 40%,rgba(4,13,21,.95) 100%);
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-visual .contact-reference-photo {
            position:absolute !important;
            inset:0 !important;
            width:100% !important;
            height:100% !important;
            object-fit:cover !important;
            object-position:12% center !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-hero-copy {
            position:absolute !important;
            z-index:2 !important;
            top:clamp(5.5rem,21vw,6.8rem) !important;
            right:1.25rem !important;
            left:1.25rem !important;
            display:block !important;
            color:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-hero-copy h2 {
            max-width:22rem !important;
            margin:0 0 1.3rem !important;
            color:#fff !important;
            font-size:clamp(1.85rem,9vw,2.25rem) !important;
            line-height:1.02 !important;
            font-weight:900 !important;
            letter-spacing:-.04em !important;
            text-wrap:balance;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-hero-copy h2::after {
            content:"";
            width:4rem;
            height:.2rem;
            margin-top:1rem;
            display:block;
            border-radius:999px;
            background:linear-gradient(90deg,#ffd000,#b6e600);
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-hero-copy p {
            max-width:20rem !important;
            margin:0 !important;
            color:#fff !important;
            font-size:.9rem !important;
            line-height:1.5 !important;
            font-weight:650 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-cta {
            position:absolute !important;
            z-index:3 !important;
            right:1.25rem !important;
            bottom:1.35rem !important;
            left:1.25rem !important;
            width:auto !important;
            min-height:5.4rem !important;
            margin:0 !important;
            padding:1rem 1.1rem !important;
            display:grid !important;
            grid-template-columns:minmax(0,1fr) 1.5rem !important;
            align-items:center !important;
            gap:.8rem !important;
            border:0 !important;
            border-radius:.55rem !important;
            background:#ffd000 !important;
            box-shadow:0 10px 24px rgba(0,0,0,.22) !important;
            color:#08111b !important;
            text-align:left !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-cta > span:first-child {
            display:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-cta b {
            margin:0 0 .16rem !important;
            color:#08111b !important;
            font-size:1.03rem !important;
            line-height:1.15 !important;
            font-weight:900 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-cta small {
            color:#17222c !important;
            font-size:.76rem !important;
            line-height:1.25 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference-mobile-cta > svg {
            width:1.35rem !important;
            height:1.35rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference.is-mobile-form-open .contact-reference-mobile-hero-copy,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference.is-mobile-form-open .contact-reference-mobile-cta {
            display:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference.is-mobile-form-open .contact-reference-visual {
            order:1 !important;
            height:10.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference.is-mobile-form-open .contact-reference-form-card {
            order:2 !important;
            display:block !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference.is-mobile-form-open .contact-reference-mobile-back {
            min-height:2.6rem !important;
            margin:0 0 1rem !important;
            padding:.55rem .8rem !important;
            display:inline-flex !important;
            align-items:center !important;
            gap:.45rem !important;
            border:1px solid #d7dde2 !important;
            border-radius:.4rem !important;
            background:#fff !important;
            color:#111b25 !important;
            font-size:.78rem !important;
            font-weight:850 !important;
            cursor:pointer !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.contact-reference) .contact-reference.is-mobile-form-open .contact-reference-mobile-back svg {
            width:1rem !important;
            height:1rem !important;
          }
        }

        /* Homepage desktop composition: broad copy panel, sculpted solar image
           and compact information cards aligned to the supplied reference. */
        
        @media (min-width:1024px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) {
            display:grid !important;
            grid-template-rows:auto minmax(0,1fr) auto !important;
          }
  #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > header {
    min-height:clamp(4.75rem,7.5vh,5.25rem) !important;
    padding-top:.75rem !important;
    padding-bottom:.75rem !important;
    padding-left:clamp(2rem,3vw,3.6rem) !important;
    padding-right:clamp(2rem,3vw,3.6rem) !important;
  }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > header .max-w-7xl {
            width:100% !important;
            max-width:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .header-brand-mark {
            width:3rem !important;
            height:3rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .header-brand > div > span:first-child {
            font-size:1.45rem !important;
            line-height:1 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .header-brand-tagline {
            margin-top:.18rem !important;
            font-size:.66rem !important;
            letter-spacing:.025em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .main-nav-item {
            font-size:.87rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .main-nav-item-active {
            border-bottom-width:1.5px !important;
          }
  #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .header-cta-btn {
    min-height:3rem !important;
    padding-inline:1.45rem !important;
    font-size:.84rem !important;
  }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-main {
            background:#fff !important;
            overflow:hidden !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-photo {
            position:absolute !important;
            inset:0 0 0 45% !important;
            width:55% !important;
            height:100% !important;
            object-fit:cover !important;
            object-position:48% 68% !important;
            transform:scale(1.035) !important;
            transform-origin:62% 78% !important;
            clip-path:polygon(18% 0,6% 50%,18% 100%,100% 100%,100% 0) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy {
            position:absolute !important;
            z-index:2 !important;
            inset:0 auto 0 0 !important;
            width:55% !important;
            height:100% !important;
            padding:
              clamp(1.25rem,2.5vh,2.25rem)
              clamp(1rem,1.5vw,1.75rem)
              clamp(1.25rem,2.5vh,2.25rem)
              clamp(3.25rem,5vw,6rem) !important;
            justify-content:center !important;
            background:transparent !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1 {
            width:max-content !important;
            max-width:100% !important;
            margin:0 !important;
            font-size:clamp(3rem,4.05vw,4.75rem) !important;
            line-height:1.1 !important;
            letter-spacing:-.045em !important;
            text-wrap:initial !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1::after {
            display:none !important;
            content:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1 span {
            display:block !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1 .hero-title-accent {
            margin:.14em 0 .1em !important;
            color:#ffd000 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-title-tail {
            color:#090f15 !important;
            font-weight:300 !important;
            letter-spacing:-.04em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-title-dot {
            width:.18em !important;
            height:.18em !important;
            margin-left:.12em !important;
            display:inline-block !important;
            border-radius:50% !important;
            background:#98cf00 !important;
            vertical-align:.08em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-rule {
            display:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy > p {
            width:min(100%,39rem) !important;
            max-width:39rem !important;
            margin-top:clamp(1.75rem,4.4vh,3rem) !important;
            color:#3f4d5d !important;
            font-size:clamp(.86rem,min(1vw,1.9vh),1.1rem) !important;
            line-height:1.55 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-actions {
            width:min(100%,37rem) !important;
            grid-template-columns:minmax(17.5rem,19rem) max-content !important;
            align-items:center !important;
            column-gap:clamp(2rem,3vw,3.5rem) !important;
            margin-top:clamp(1.5rem,5.1vh,3.5rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-actions button {
            min-height:clamp(3.2rem,6.45vh,4.35rem) !important;
            border-radius:.16rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-secondary {
            width:max-content !important;
            min-width:0 !important;
            min-height:2.8rem !important;
            padding:.35rem .15rem !important;
            justify-content:flex-start !important;
            border:0 !important;
            border-bottom:1px solid #9ba6af !important;
            border-radius:0 !important;
            background:transparent !important;
            box-shadow:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits {
            width:min(100%,44rem) !important;
            grid-template-columns:repeat(4,minmax(0,1fr)) !important;
            column-gap:0 !important;
            margin-top:clamp(1.45rem,4.1vh,2.75rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div {
            gap:.5rem !important;
            padding-inline:.35rem !important;
            border-right:1px solid rgba(148,163,184,.28) !important;
            align-items:center !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div:first-child {
            padding-left:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div:last-child {
            border-right:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits svg,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits .hero-clock {
            width:1.8rem !important;
            height:1.8rem !important;
            flex-basis:1.8rem !important;
            color:#98cf00 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div {
            font-size:clamp(.72rem,min(.72vw,1.5vh),.84rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-cards {
            position:absolute !important;
            z-index:4 !important;
            top:clamp(9rem,25%,11.5rem) !important;
            right:clamp(2rem,3vw,3.7rem) !important;
            width:clamp(16rem,18vw,20.5rem) !important;
            gap:clamp(.55rem,1.2vh,.85rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card {
            min-height:clamp(8.5rem,16.5vh,10.75rem) !important;
            padding:clamp(1.2rem,2.5vh,1.7rem) clamp(1.2rem,1.8vw,1.7rem) !important;
            align-items:center !important;
            gap:clamp(.8rem,1.2vw,1.2rem) !important;
            border:1px solid rgba(255,255,255,.1) !important;
            border-left:2px solid #9bd200 !important;
            border-radius:.55rem !important;
            color:#fff !important;
            background:rgba(3,17,29,.91) !important;
            -webkit-backdrop-filter:blur(8px) !important;
            backdrop-filter:blur(8px) !important;
            box-shadow:0 10px 24px rgba(3,12,22,.14) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card .hero-outline-motion,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card svg {
            width:clamp(2rem,2.45vw,2.8rem) !important;
            height:clamp(2rem,2.45vw,2.8rem) !important;
            color:#9bd200 !important;
            background:transparent !important;
            border:0 !important;
            box-shadow:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card strong {
            color:#fff !important;
            font-size:clamp(.9rem,min(1.02vw,1.85vh),1.12rem) !important;
            line-height:1.28 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card p {
            margin:.55rem 0 0 !important;
            color:rgba(255,255,255,.76) !important;
            font-size:clamp(.72rem,min(.8vw,1.5vh),.88rem) !important;
            line-height:1.55 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats {
            grid-template-columns:1fr .78fr .96fr 1.15fr 1.18fr !important;
            min-height:clamp(6.2rem,11.5vh,7.75rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button {
            padding-inline:clamp(1rem,2.1vw,2.4rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats svg,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-truck-icon {
            color:#9bd200 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-stat-title {
            font-size:clamp(1rem,min(1.2vw,2.3vh),1.38rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div:not(:nth-child(4))::after {
            background:rgba(255,255,255,.14) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button {
            gap:.85rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button .hero-calculator-icon {
            width:2.35rem !important;
            height:2.35rem !important;
            color:#09111a !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button > svg:last-child {
            color:#09111a !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button .hero-stat-title.hero-stat-title-dark {
            font-size:clamp(1rem,1.1vw,1.25rem) !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > .story-footer {
            min-height:clamp(3rem,6vh,4rem) !important;
            padding-top:.65rem !important;
            padding-bottom:.65rem !important;
          }
        }
        @media (min-width:1024px) and (max-width:1439px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-photo {
            inset:0 0 0 50% !important;
            width:50% !important;
            clip-path:polygon(18% 0,6% 50%,18% 100%,100% 100%,100% 0) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy {
            width:50% !important;
            padding-right:clamp(1.25rem,2.25vw,2rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1 {
            font-size:clamp(2.7rem,4.05vw,3.25rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy > p,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-actions {
            width:min(100%,31.5rem) !important;
            max-width:31.5rem !important;
            grid-template-columns:minmax(14rem,1fr) max-content !important;
            column-gap:clamp(1rem,2vw,2rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits {
            width:min(100%,27rem) !important;
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            row-gap:.45rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits > div:nth-child(2) {
            border-right:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-cards {
            right:clamp(1.5rem,3vw,2.25rem) !important;
            width:clamp(15.5rem,21.8vw,17rem) !important;
          }
        }
        @media (min-width:1024px) and (max-height:720px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > header {
            min-height:4.6rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy {
            padding-top:.9rem !important;
            padding-bottom:.9rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy h1 {
            font-size:clamp(2.45rem,3.55vw,2.85rem) !important;
            line-height:1.04 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-copy > p {
            margin-top:1rem !important;
            font-size:.8rem !important;
            line-height:1.42 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-actions {
            margin-top:1rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-actions button {
            min-height:3rem !important;
            padding:.65rem 1.1rem !important;
            font-size:.78rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits {
            display:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats {
            height:6.25rem !important;
            min-height:6.25rem !important;
            max-height:6.25rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-cards {
            top:50% !important;
            transform:translateY(-50%) !important;
            gap:.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card {
            min-height:6.2rem !important;
            padding:.8rem 1rem !important;
            gap:.75rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card strong {
            font-size:.82rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card p {
            margin-top:.25rem !important;
            font-size:.68rem !important;
            line-height:1.35 !important;
          }
        }
        @media (max-width:1023px) {
          
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card .hero-outline-motion,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-card svg,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > div svg,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats .hero-truck-icon {
            color:#98cf00 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button .hero-calculator-icon,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-stats > button > svg:last-child {
            color:#09111a !important;
          }
          
          
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-actions > button.hero-reference-secondary {
            width:max-content !important;
            min-width:min(14rem,78vw) !important;
            justify-self:center !important;
            padding-inline:.35rem !important;
            border:0 !important;
            border-bottom:1px solid #a3adb6 !important;
            border-radius:0 !important;
            background:transparent !important;
          }
        }
        @media (min-width:1024px) and (max-width:1199px) and (max-height:850px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .hero-reference-benefits {
            display:none !important;
          }
        }

        /* Keep the home-story controls attached to the phone viewport. */
        @media (max-width:640px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > .presentation-main {
            padding-bottom:var(--story-footer-height) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > .story-footer {
            position:fixed !important;
            z-index:120 !important;
            inset:auto 0 0 0 !important;
            width:100% !important;
            min-height:var(--story-footer-height) !important;
            margin:0 !important;
            box-sizing:border-box !important;
          }
        }

        /* Compact navigation polish: retain more of the page context behind
           the menu and keep the CTA label optically centred with its arrow. */
        @media (max-width:1279px) {
          #root .lexo-shell > header.mobile-menu-is-open > .mobile-menu-overlay {
            background:rgba(238,243,246,.42) !important;
            -webkit-backdrop-filter:blur(1px) !important;
            backdrop-filter:blur(1px) !important;
          }
          #root .lexo-shell > header.mobile-menu-is-open .mobile-menu-panel {
            background:rgba(255,255,255,.93) !important;
          }
          #root .lexo-shell > header.mobile-menu-is-open .mobile-menu-cta {
            width:100% !important;
            min-height:4rem !important;
            margin-top:1rem !important;
            padding:.75rem 1rem !important;
            display:grid !important;
            grid-template-columns:1.5rem minmax(0,1fr) 1.5rem !important;
            align-items:center !important;
            column-gap:.65rem !important;
            border-radius:.25rem !important;
            text-align:center !important;
            text-transform:uppercase !important;
            letter-spacing:.035em !important;
          }
          #root .lexo-shell > header.mobile-menu-is-open .mobile-menu-cta > span {
            grid-column:2 !important;
            min-width:0 !important;
            justify-self:center !important;
          }
          #root .lexo-shell > header.mobile-menu-is-open .mobile-menu-cta > svg {
            grid-column:3 !important;
            width:1.2rem !important;
            height:1.2rem !important;
            margin:0 !important;
            justify-self:end !important;
          }
        }

        /* Physical dual-screen hinges: keep primary content inside the two
           usable viewport segments instead of underneath the fold. */
        @media (horizontal-viewport-segments:2) {
          #root .lexo-shell {
            --fold-gap:calc(env(viewport-segment-left 1 0) - env(viewport-segment-right 0 0));
          }
          #root .lexo-shell > header .max-w-7xl {
            width:100% !important;
            max-width:none !important;
            display:grid !important;
            grid-template-columns:env(viewport-segment-width 0 0) env(viewport-segment-width 1 0) !important;
            column-gap:var(--fold-gap) !important;
          }
          #root .lexo-shell > header .header-brand {
            grid-column:1 !important;
          }
          #root .lexo-shell > header .main-nav-pill,
          #root .lexo-shell > header .theme-toggle-btn,
          #root .lexo-shell > header .header-language-picker,
          #root .lexo-shell > header .header-cta-btn {
            display:none !important;
          }
          #root .lexo-shell > header .mobile-menu-toggle {
            display:flex !important;
            justify-self:end !important;
          }
          
          
          #root .about-reference-hero,
          #root .career-reference-main,
          #root .contact-reference-main,
          #root .project-calculator .pc-hero {
            grid-template-columns:env(viewport-segment-width 0 0) env(viewport-segment-width 1 0) !important;
            column-gap:var(--fold-gap) !important;
          }
          
          
          
          
        }

        @media (vertical-viewport-segments:2) {
          #root .presentation-main {
            overflow-x:hidden !important;
            overflow-y:auto !important;
            scroll-padding-block:calc(env(viewport-segment-top 0 1) - env(viewport-segment-bottom 0 0));
          }
          #root .presentation-viewport,
          #root .presentation-frame {
            height:auto !important;
            max-height:none !important;
            overflow:visible !important;
          }
        }

        /* Final About-page composition based on the approved visual reference. */
        @media (min-width:1280px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) {
            display:grid !important;
            grid-template-rows:auto minmax(0,1fr) auto !important;
            height:100dvh !important;
            min-height:100dvh !important;
            overflow:hidden !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference {
            display:grid !important;
            grid-template-rows:minmax(0,1fr) 6.25rem 8.75rem 9rem 4.5rem !important;
            width:100% !important;
            height:100% !important;
            min-height:0 !important;
            overflow:hidden !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-hero {
            display:grid !important;
            grid-template-columns:42% 58% !important;
            min-height:0 !important;
            overflow:hidden !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
            position:relative !important;
            z-index:2 !important;
            min-width:0 !important;
            padding:clamp(.9rem,2vh,1.35rem) clamp(1.4rem,2vw,2rem) clamp(.9rem,2vh,1.35rem) clamp(3rem,4.2vw,4.4rem) !important;
            justify-content:center !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-kicker {
            color:#91c800 !important;
            font-size:clamp(.58rem,.68vw,.7rem) !important;
            font-weight:900 !important;
            letter-spacing:.06em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 {
            width:max-content !important;
            max-width:100% !important;
            margin:.55rem 0 0 !important;
            font-size:clamp(2.6rem,3.05vw,3.35rem) !important;
            line-height:1.04 !important;
            letter-spacing:-.045em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1::after {
            display:none !important;
            content:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 strong {
            display:block !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 strong {
            margin:.08em 0 !important;
            color:#ffc400 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-title-tail {
            color:#090f15 !important;
            font-weight:350 !important;
            letter-spacing:-.04em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-title-dot {
            display:inline-block !important;
            width:.17em !important;
            height:.17em !important;
            margin-left:.12em !important;
            border-radius:50% !important;
            background:#91c800 !important;
            vertical-align:.08em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > i {
            display:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > p {
            width:min(100%,34rem) !important;
            max-width:34rem !important;
            margin-top:clamp(.9rem,1.8vh,1.25rem) !important;
            color:#4c5b6c !important;
            font-size:clamp(.74rem,min(.84vw,1.45vh),.9rem) !important;
            line-height:1.5 !important;
            font-weight:500 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions {
            display:flex !important;
            align-items:center !important;
            gap:clamp(1.5rem,2.6vw,2.6rem) !important;
            margin-top:clamp(.9rem,1.9vh,1.3rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions button {
            min-height:2.75rem !important;
            padding:.7rem 1.2rem !important;
            display:flex !important;
            align-items:center !important;
            justify-content:center !important;
            gap:.85rem !important;
            border-radius:.18rem !important;
            font-size:.75rem !important;
            font-weight:850 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions svg {
            width:1rem !important;
            height:1rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-primary {
            min-width:11.25rem !important;
            color:#090f15 !important;
            background:#ffd000 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-secondary {
            min-width:0 !important;
            padding-inline:.15rem !important;
            color:#090f15 !important;
            background:transparent !important;
            border-bottom:1px solid #8c98a3 !important;
            border-radius:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers {
            width:min(100%,34rem) !important;
            display:grid !important;
            grid-template-columns:1fr .78fr 1.2fr !important;
            margin-top:clamp(.85rem,1.8vh,1.25rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div {
            min-width:0 !important;
            min-height:3rem !important;
            padding:.25rem clamp(.45rem,.8vw,.8rem) !important;
            flex-direction:row !important;
            justify-content:flex-start !important;
            align-items:center !important;
            gap:.65rem !important;
            text-align:left !important;
            border-right:1px solid #dce1e5 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div:first-child { padding-left:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div:last-child { border-right:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers svg {
            width:1.8rem !important;
            height:1.8rem !important;
            color:#9bd200 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers span {
            width:auto !important;
            font-size:clamp(.57rem,.62vw,.66rem) !important;
            line-height:1.3 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers b {
            margin-bottom:.15rem !important;
            font-size:clamp(.98rem,1.15vw,1.2rem) !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap {
            position:relative !important;
            min-height:0 !important;
            overflow:hidden !important;
            clip-path:polygon(12% 0,0 37%,19% 100%,100% 100%,100% 0) !important;
            background:#dfe8e9 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap > video {
            display:block !important;
            width:100% !important;
            height:100% !important;
            object-fit:cover !important;
            object-position:center 55% !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-floats {
            position:absolute !important;
            z-index:3 !important;
            top:50% !important;
            right:clamp(1.5rem,3vw,3.25rem) !important;
            width:clamp(15rem,18vw,18rem) !important;
            display:grid !important;
            gap:.55rem !important;
            transform:translateY(-50%) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            min-height:clamp(6.6rem,12.5vh,8.25rem) !important;
            padding:clamp(.8rem,1.7vh,1.1rem) 1.15rem !important;
            display:flex !important;
            align-items:center !important;
            gap:.9rem !important;
            color:#fff !important;
            background:rgba(3,17,29,.93) !important;
            border:1px solid rgba(255,255,255,.1) !important;
            border-left:2px solid #9bd200 !important;
            border-radius:.28rem !important;
            box-shadow:0 10px 24px rgba(3,12,22,.16) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float > svg {
            width:2.25rem !important;
            height:2.25rem !important;
            flex:none !important;
            color:#9bd200 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float span {
            color:rgba(255,255,255,.78) !important;
            font-size:clamp(.62rem,.68vw,.72rem) !important;
            line-height:1.45 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float b {
            margin-bottom:.35rem !important;
            color:#fff !important;
            font-size:clamp(.8rem,.92vw,1rem) !important;
            line-height:1.25 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-features {
            display:grid !important;
            grid-template-columns:repeat(4,minmax(0,1fr)) !important;
            gap:0 !important;
            min-height:0 !important;
            padding:.65rem clamp(3rem,4.2vw,4.4rem) !important;
            border-bottom:1px solid #e2e7ea !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature {
            position:relative !important;
            display:grid !important;
            grid-template-columns:2.2rem 2.2rem minmax(0,1fr) !important;
            column-gap:.55rem !important;
            min-width:0 !important;
            min-height:0 !important;
            padding:.3rem clamp(.55rem,1vw,1rem) !important;
            align-content:center !important;
            border-right:1px solid #dce1e5 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature:first-child { padding-left:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature:last-child { border-right:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > b {
            position:static !important;
            align-self:start !important;
            padding-top:.28rem !important;
            color:#b6bec5 !important;
            font-size:1rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > svg {
            width:2.1rem !important;
            height:2.1rem !important;
            padding:.4rem !important;
            color:#9bd200 !important;
            background:#f3f9df !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature strong {
            font-size:clamp(.69rem,.78vw,.84rem) !important;
            line-height:1.22 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature p {
            margin-top:.25rem !important;
            color:#43515f !important;
            font-size:clamp(.56rem,.62vw,.66rem) !important;
            line-height:1.38 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-team {
            display:grid !important;
            grid-template-columns:.85fr 1fr 1fr !important;
            gap:0 !important;
            min-height:0 !important;
            padding:.7rem clamp(3rem,4.2vw,4.4rem) !important;
            color:#090f15 !important;
            background:#fff !important;
            border-bottom:1px solid #e2e7ea !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro {
            padding-right:1.25rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro h2 {
            color:#090f15 !important;
            font-size:clamp(1.2rem,1.6vw,1.6rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro p {
            color:#354250 !important;
            font-size:clamp(.58rem,.65vw,.69rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person {
            grid-template-columns:clamp(4.7rem,5.6vw,5.8rem) minmax(0,1fr) !important;
            min-width:0 !important;
            padding:.25rem clamp(1rem,2.2vw,2rem) !important;
            border-left:1px solid #dce1e5 !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person img {
            width:100% !important;
            max-height:7.2rem !important;
            object-fit:cover !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person h3 {
            color:#090f15 !important;
            font-size:clamp(.78rem,.9vw,.96rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person b {
            color:#8cbd00 !important;
            font-size:clamp(.54rem,.58vw,.62rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person i {
            width:2rem !important;
            margin:.35rem 0 !important;
            background:#9bd200 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person p {
            color:#26323d !important;
            font-size:clamp(.52rem,.57vw,.61rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials {
            display:grid !important;
            grid-template-columns:.95fr repeat(3,minmax(0,1fr)) !important;
            gap:.7rem !important;
            min-height:0 !important;
            padding:.65rem clamp(3rem,4.2vw,4.4rem) !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div span {
            color:#91c800 !important;
            font-size:.58rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div h2 {
            margin-top:.45rem !important;
            color:#090f15 !important;
            font-size:clamp(1.15rem,1.45vw,1.45rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article {
            min-width:0 !important;
            min-height:0 !important;
            padding:.55rem .7rem .65rem !important;
            border-radius:.25rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article > b {
            height:.65rem !important;
            font-size:1.6rem !important;
            line-height:.65rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article p {
            margin:.08rem 0 .35rem !important;
            font-size:clamp(.52rem,.56vw,.6rem) !important;
            line-height:1.38 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article strong {
            padding-right:2rem !important;
            font-size:clamp(.52rem,.56vw,.6rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats {
            display:grid !important;
            grid-template-columns:1fr .78fr 1fr 1.18fr 1.35fr !important;
            min-height:0 !important;
            color:#fff !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > div,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button {
            min-width:0 !important;
            padding:.6rem clamp(.75rem,1.7vw,1.55rem) !important;
            display:flex !important;
            align-items:center !important;
            gap:.75rem !important;
            text-align:left !important;
            border-right:1px solid rgba(255,255,255,.14) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats svg {
            width:1.9rem !important;
            height:1.9rem !important;
            flex:none !important;
            color:#9bd200 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats span {
            min-width:0 !important;
            font-size:clamp(.52rem,.56vw,.61rem) !important;
            line-height:1.28 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats b {
            display:block !important;
            margin-bottom:.12rem !important;
            color:inherit !important;
            font-size:clamp(.84rem,.94vw,1rem) !important;
            line-height:1.1 !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button {
            color:#090f15 !important;
            background:#ffe000 !important;
            border-right:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button svg {
            color:#090f15 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button svg:last-child {
            width:1.15rem !important;
            height:1.15rem !important;
            margin-left:auto !important;
          }
        }

        @media (min-width:1280px) and (max-height:850px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference {
            grid-template-rows:minmax(0,1fr) 4.75rem 6.5rem 7rem 3.75rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
            padding-top:.55rem !important;
            padding-bottom:.55rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-kicker { font-size:.52rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 {
            margin-top:.35rem !important;
            font-size:clamp(2rem,2.65vw,2.35rem) !important;
            line-height:1.02 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > p {
            margin-top:.6rem !important;
            font-size:.66rem !important;
            line-height:1.35 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions {
            margin-top:.65rem !important;
            gap:1.35rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions button {
            min-height:2.3rem !important;
            padding:.48rem .85rem !important;
            font-size:.65rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-primary { min-width:9.8rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers {
            margin-top:.55rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div { min-height:2.35rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers svg { width:1.45rem !important; height:1.45rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers b { font-size:.88rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers span { font-size:.5rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float {
            min-height:5.2rem !important;
            padding:.65rem .85rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float > svg { width:1.75rem !important; height:1.75rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float b { font-size:.74rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float span { font-size:.56rem !important; }
        }

        @media (max-width:1279px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) {
            width:100% !important;
            height:auto !important;
            min-height:100dvh !important;
            overflow-x:hidden !important;
            overflow-y:auto !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .presentation-main,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .presentation-viewport,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .presentation-frame {
            width:100% !important;
            height:auto !important;
            max-height:none !important;
            overflow:visible !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference {
            display:flex !important;
            flex-direction:column !important;
            width:100% !important;
            height:auto !important;
            overflow:visible !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-hero {
            display:grid !important;
            grid-template-columns:1fr !important;
            overflow:visible !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
            padding:2.2rem clamp(1.2rem,6vw,3.25rem) 1.9rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 {
            width:100% !important;
            max-width:100% !important;
            margin-top:.55rem !important;
            font-size:clamp(2.2rem,7.2vw,3.2rem) !important;
            line-height:1.04 !important;
            overflow-wrap:normal !important;
            word-break:normal !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1::after {
            display:none !important;
            content:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 strong {
            display:block !important;
            white-space:normal !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 strong { color:#ffc400 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-title-tail { font-weight:350 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-title-dot {
            display:inline-block !important;
            width:.17em !important;
            height:.17em !important;
            margin-left:.1em !important;
            border-radius:50% !important;
            background:#91c800 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > i { display:none !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > p {
            max-width:40rem !important;
            margin-top:1rem !important;
            font-size:.88rem !important;
            line-height:1.5 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions {
            display:grid !important;
            grid-template-columns:1fr 1fr !important;
            gap:.8rem !important;
            margin-top:1.25rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions button {
            min-height:3.25rem !important;
            padding:.7rem 1rem !important;
            display:flex !important;
            align-items:center !important;
            justify-content:center !important;
            gap:.7rem !important;
            font-size:.78rem !important;
            font-weight:850 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions svg { width:1rem !important; height:1rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-primary { color:#090f15 !important; background:#ffd000 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-secondary { color:#090f15 !important; border:1px solid #ccd3d8 !important; background:#fff !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers {
            display:grid !important;
            grid-template-columns:repeat(3,minmax(0,1fr)) !important;
            margin-top:1.4rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div {
            min-width:0 !important;
            min-height:4.4rem !important;
            padding:.4rem .65rem !important;
            display:flex !important;
            flex-direction:column !important;
            align-items:center !important;
            justify-content:center !important;
            gap:.35rem !important;
            text-align:center !important;
            border-right:1px solid #dce1e5 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div:last-child { border-right:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers svg { width:1.75rem !important; height:1.75rem !important; color:#9bd200 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers b { font-size:1rem !important; white-space:nowrap !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers span { font-size:.6rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap {
            display:grid !important;
            min-height:0 !important;
            height:auto !important;
            overflow:hidden !important;
            clip-path:none !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap > video {
            width:100% !important;
            height:20rem !important;
            object-fit:cover !important;
            object-position:center 55% !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-floats {
            position:static !important;
            width:100% !important;
            padding:.8rem !important;
            display:grid !important;
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:.65rem !important;
            transform:none !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            min-height:6.5rem !important;
            padding:.8rem !important;
            display:flex !important;
            align-items:center !important;
            gap:.75rem !important;
            color:#fff !important;
            background:#0a1926 !important;
            border:1px solid rgba(255,255,255,.15) !important;
            border-radius:.25rem !important;
            box-shadow:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float > svg { width:2rem !important; height:2rem !important; flex:none !important; color:#9bd200 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float span { color:#cbd4db !important; font-size:.68rem !important; line-height:1.4 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float b { display:block !important; margin-bottom:.3rem !important; color:#fff !important; font-size:.85rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-features {
            display:grid !important;
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:0 !important;
            padding:1rem clamp(1.2rem,6vw,3.25rem) !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature {
            min-height:7.5rem !important;
            padding:1rem !important;
            border-right:0 !important;
            border-bottom:1px solid #dce1e5 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > svg { color:#9bd200 !important; background:#f3f9df !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-team {
            display:grid !important;
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:.9rem !important;
            padding:1.6rem clamp(1.2rem,6vw,3.25rem) !important;
            color:#090f15 !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro { grid-column:1 / -1 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro h2,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person h3 { color:#090f15 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro p,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person p { color:#354250 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person {
            min-width:0 !important;
            padding:.8rem !important;
            border:1px solid #dce1e5 !important;
            border-radius:.25rem !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person b { color:#8cbd00 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials {
            display:grid !important;
            grid-template-columns:repeat(3,minmax(0,1fr)) !important;
            gap:.75rem !important;
            padding:1.5rem clamp(1.2rem,6vw,3.25rem) !important;
            background:#f7f9fa !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div { grid-column:1 / -1 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article { min-height:10rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats {
            display:grid !important;
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:.65rem !important;
            padding:.8rem !important;
            color:#fff !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > div,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button {
            min-width:0 !important;
            min-height:6rem !important;
            padding:.8rem !important;
            display:flex !important;
            align-items:center !important;
            gap:.75rem !important;
            text-align:left !important;
            border:1px solid rgba(255,255,255,.15) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats svg { width:2rem !important; height:2rem !important; flex:none !important; color:#9bd200 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats span { color:#cbd4db !important; font-size:.68rem !important; line-height:1.35 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats b { display:block !important; margin-bottom:.2rem !important; color:#fff !important; font-size:1rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button {
            grid-column:1 / -1 !important;
            min-height:4.8rem !important;
            color:#090f15 !important;
            background:#ffe000 !important;
            border-color:#ffe000 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button b { color:#090f15 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button svg { color:#090f15 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button svg:last-child { margin-left:auto !important; }
        }

        @media (max-width:640px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
            padding:1.7rem 1.15rem 1.45rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 {
            font-size:clamp(2rem,10.5vw,2.8rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions {
            grid-template-columns:1fr !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div {
            padding-inline:.35rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap > video {
            height:14rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-floats {
            grid-template-columns:1fr !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float {
            min-height:5.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-features,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-team,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials {
            grid-template-columns:1fr !important;
            padding-left:1.15rem !important;
            padding-right:1.15rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature {
            min-height:6.4rem !important;
            padding:.9rem 0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-team { gap:.75rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person {
            grid-template-columns:5.3rem minmax(0,1fr) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article {
            min-height:0 !important;
            height:auto !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats {
            padding:.7rem !important;
            gap:.55rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > div {
            min-height:5.6rem !important;
          }
        }

        /* Superseded layout experiment — retained here only for history, never applied. */
        @media (max-width:0px) {
        /* O NAS: natural document flow and premium, full-scale sections. */
        
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) {
          display:flex !important;
          flex-direction:column !important;
          width:100% !important;
          height:auto !important;
          min-height:100dvh !important;
          max-height:none !important;
          overflow-x:clip !important;
          overflow-y:visible !important;
          padding-bottom:0 !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .presentation-main,
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .presentation-viewport,
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .presentation-frame {
          position:relative !important;
          inset:auto !important;
          flex:none !important;
          width:100% !important;
          height:auto !important;
          min-height:0 !important;
          max-width:none !important;
          max-height:none !important;
          padding:0 !important;
          overflow:visible !important;
          transform:none !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference {
          display:flex !important;
          flex-direction:column !important;
          width:100% !important;
          height:auto !important;
          min-height:0 !important;
          margin:0 !important;
          padding:0 !important;
          overflow:visible !important;
          background:#fff !important;
        }
        #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) > .story-footer {
          position:relative !important;
          inset:auto !important;
          margin:0 !important;
        }

        @media (min-width:1280px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-hero {
            display:grid !important;
            grid-template-columns:47% 53% !important;
            min-height:clamp(44rem,calc(100svh - 5.5rem),56rem) !important;
            overflow:visible !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
            position:relative !important;
            z-index:3 !important;
            min-width:0 !important;
            padding:clamp(4.5rem,8vh,7rem) clamp(1.5rem,2.5vw,3rem) clamp(4.5rem,8vh,7rem) clamp(4rem,5vw,6.5rem) !important;
            display:flex !important;
            flex-direction:column !important;
            justify-content:center !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-kicker {
            color:#96c900 !important;
            font-size:.78rem !important;
            font-weight:900 !important;
            letter-spacing:.11em !important;
            text-transform:uppercase !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 {
            width:100% !important;
            max-width:46rem !important;
            margin:1rem 0 0 !important;
            font-size:clamp(3.2rem,4vw,4.85rem) !important;
            line-height:.98 !important;
            letter-spacing:-.052em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 strong {
            display:block !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 strong {
            margin:.12em 0 !important;
            color:#ffc400 !important;
            font-weight:950 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-title-tail {
            color:#090f15 !important;
            font-weight:330 !important;
            letter-spacing:-.045em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-title-dot {
            display:inline-block !important;
            width:.16em !important;
            height:.16em !important;
            margin-left:.12em !important;
            border-radius:50% !important;
            background:#d7f448 !important;
            vertical-align:.08em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > p {
            width:min(100%,39rem) !important;
            max-width:39rem !important;
            margin-top:1.8rem !important;
            color:#4b5968 !important;
            font-size:clamp(.98rem,1.05vw,1.15rem) !important;
            line-height:1.55 !important;
            font-weight:500 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions {
            display:flex !important;
            align-items:center !important;
            gap:2.5rem !important;
            margin-top:2.1rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions button {
            min-height:3.5rem !important;
            padding:.9rem 1.5rem !important;
            font-size:.86rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-primary {
            min-width:13.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers {
            width:min(100%,41rem) !important;
            display:grid !important;
            grid-template-columns:1fr .8fr 1.2fr !important;
            margin-top:3rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div {
            min-width:0 !important;
            min-height:5.5rem !important;
            padding:.5rem 1.1rem !important;
            display:flex !important;
            flex-direction:row !important;
            align-items:center !important;
            justify-content:flex-start !important;
            gap:.9rem !important;
            text-align:left !important;
            border-right:1px solid #dce1e5 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div:first-child { padding-left:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div:last-child { border-right:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers svg {
            width:2.55rem !important;
            height:2.55rem !important;
            flex:none !important;
            color:#d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers b {
            margin-bottom:.3rem !important;
            font-size:clamp(1.35rem,1.5vw,1.7rem) !important;
            line-height:1 !important;
            white-space:nowrap !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers span {
            font-size:.76rem !important;
            line-height:1.38 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap {
            position:relative !important;
            min-height:clamp(44rem,calc(100svh - 5.5rem),56rem) !important;
            overflow:hidden !important;
            clip-path:polygon(14% 0,0 50%,14% 100%,100% 100%,100% 0) !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap > video {
            display:block !important;
            width:100% !important;
            height:100% !important;
            object-fit:cover !important;
            object-position:center 52% !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap::before,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap::after {
            content:"" !important;
            display:block !important;
            position:absolute !important;
            z-index:2 !important;
            left:6.7% !important;
            width:1px !important;
            height:57% !important;
            pointer-events:none !important;
            background:rgba(215,244,72,.62) !important;
            box-shadow:10px 0 0 rgba(255,255,255,.26) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap::before {
            top:-6% !important;
            transform:rotate(8deg) !important;
            transform-origin:bottom center !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap::after {
            bottom:-6% !important;
            transform:rotate(-8deg) !important;
            transform-origin:top center !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-floats {
            position:absolute !important;
            z-index:4 !important;
            top:50% !important;
            right:clamp(2.25rem,3.2vw,4rem) !important;
            width:clamp(18rem,19vw,21rem) !important;
            display:grid !important;
            gap:.85rem !important;
            transform:translateY(-50%) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            min-height:8.25rem !important;
            padding:1.35rem 1.45rem !important;
            display:flex !important;
            align-items:center !important;
            gap:1.1rem !important;
            color:#fff !important;
            background:rgba(3,17,29,.93) !important;
            border:1px solid rgba(255,255,255,.12) !important;
            border-left:2px solid #d7f448 !important;
            border-radius:.18rem !important;
            box-shadow:0 12px 28px rgba(3,12,22,.18) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float > svg {
            width:2.55rem !important;
            height:2.55rem !important;
            flex:none !important;
            color:#d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float b {
            margin-bottom:.45rem !important;
            color:#fff !important;
            font-size:1.05rem !important;
            line-height:1.25 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float span {
            color:#d4dce3 !important;
            font-size:.76rem !important;
            line-height:1.5 !important;
          }

          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-features {
            display:grid !important;
            grid-template-columns:repeat(4,minmax(0,1fr)) !important;
            gap:0 !important;
            min-height:19rem !important;
            padding:4.75rem clamp(4rem,5vw,6.5rem) !important;
            align-items:stretch !important;
            border-bottom:1px solid #e2e7ea !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature {
            position:relative !important;
            display:grid !important;
            grid-template-columns:4.2rem 3.2rem minmax(0,1fr) !important;
            column-gap:.85rem !important;
            min-width:0 !important;
            min-height:9rem !important;
            padding:1.1rem clamp(1rem,1.5vw,1.8rem) !important;
            align-content:center !important;
            align-items:start !important;
            border-right:1px solid #e0e4e7 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature:first-child { padding-left:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature:last-child { border-right:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > b {
            position:static !important;
            padding-top:.05rem !important;
            color:#d5dade !important;
            font-size:3rem !important;
            line-height:1 !important;
            font-weight:900 !important;
            letter-spacing:-.04em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > svg {
            width:3rem !important;
            height:3rem !important;
            padding:.5rem !important;
            color:#a8d400 !important;
            background:#f4f9e5 !important;
            border-radius:.22rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature strong {
            display:block !important;
            color:#090f15 !important;
            font-size:1.05rem !important;
            line-height:1.25 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature p {
            margin-top:.55rem !important;
            color:#4b5968 !important;
            font-size:.8rem !important;
            line-height:1.5 !important;
          }

          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-team {
            display:grid !important;
            grid-template-columns:.78fr 1.11fr 1.11fr !important;
            gap:0 !important;
            min-height:29rem !important;
            padding:5.75rem clamp(4rem,5vw,6.5rem) !important;
            align-items:center !important;
            color:#090f15 !important;
            background:#fff !important;
            border-bottom:1px solid #e2e7ea !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro {
            padding-right:3rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro h2 {
            color:#090f15 !important;
            font-size:clamp(2.3rem,2.7vw,3.15rem) !important;
            line-height:1.04 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro i {
            width:4rem !important;
            margin:1.15rem 0 1.35rem !important;
            background:#d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro p {
            max-width:22rem !important;
            color:#4b5968 !important;
            font-size:.95rem !important;
            line-height:1.6 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person {
            display:grid !important;
            grid-template-columns:clamp(7.8rem,9vw,9.25rem) minmax(0,1fr) !important;
            gap:1.6rem !important;
            min-width:0 !important;
            min-height:14rem !important;
            padding:1rem clamp(1.6rem,3vw,3.3rem) !important;
            align-items:center !important;
            border:0 !important;
            border-left:1px solid #dce1e5 !important;
            border-radius:0 !important;
            background:#fff !important;
            box-shadow:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person img {
            width:100% !important;
            height:9.25rem !important;
            max-height:none !important;
            aspect-ratio:auto !important;
            object-fit:cover !important;
            border-radius:.18rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person h3 {
            color:#090f15 !important;
            font-size:clamp(1.2rem,1.35vw,1.5rem) !important;
            line-height:1.16 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person b {
            display:block !important;
            margin-top:.45rem !important;
            color:#8ebd00 !important;
            font-size:.8rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person i {
            width:2.8rem !important;
            margin:.8rem 0 !important;
            background:#d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person p {
            margin:.45rem 0 !important;
            color:#26323d !important;
            font-size:.78rem !important;
            line-height:1.35 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-contact-icon {
            width:1rem !important;
            height:1rem !important;
          }

          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials {
            display:grid !important;
            grid-template-columns:.82fr repeat(3,minmax(0,1fr)) !important;
            gap:0 !important;
            min-height:28rem !important;
            padding:5.25rem clamp(4rem,5vw,6.5rem) !important;
            align-items:stretch !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div {
            align-self:center !important;
            padding-right:2.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div span {
            color:#8ebd00 !important;
            font-size:.72rem !important;
            letter-spacing:.07em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div h2 {
            margin-top:.8rem !important;
            color:#090f15 !important;
            font-size:clamp(2.05rem,2.45vw,2.8rem) !important;
            line-height:1.08 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div i {
            width:4rem !important;
            margin:1.1rem 0 !important;
            background:#d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article {
            position:relative !important;
            display:flex !important;
            flex-direction:column !important;
            min-width:0 !important;
            min-height:17rem !important;
            height:auto !important;
            padding:.65rem clamp(1.3rem,2vw,2.1rem) !important;
            border:0 !important;
            border-left:1px solid #e0e4e7 !important;
            border-radius:0 !important;
            background:transparent !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article > b {
            height:3.25rem !important;
            color:#a8d400 !important;
            font-size:4.5rem !important;
            line-height:.9 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article p {
            flex:1 1 auto !important;
            margin:.55rem 0 1.2rem !important;
            color:#303b46 !important;
            font-size:.82rem !important;
            line-height:1.6 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article strong {
            padding:0 !important;
            color:#090f15 !important;
            font-size:.75rem !important;
            line-height:1.45 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article small {
            position:static !important;
            align-self:flex-start !important;
            margin-top:.7rem !important;
            padding:0 !important;
            color:#8ebd00 !important;
            background:transparent !important;
            font-size:.72rem !important;
          }

          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats {
            display:grid !important;
            grid-template-columns:1fr .8fr 1fr 1.25fr 1.45fr !important;
            min-height:8.25rem !important;
            color:#fff !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > div,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button {
            min-width:0 !important;
            min-height:8.25rem !important;
            padding:1.25rem clamp(1rem,2vw,2.2rem) !important;
            display:flex !important;
            align-items:center !important;
            gap:1rem !important;
            text-align:left !important;
            border-right:1px solid rgba(255,255,255,.13) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats svg {
            width:2.6rem !important;
            height:2.6rem !important;
            flex:none !important;
            color:#d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats span {
            color:#d7dee4 !important;
            font-size:.72rem !important;
            line-height:1.38 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats b {
            display:block !important;
            margin-bottom:.25rem !important;
            color:#fff !important;
            font-size:clamp(1.05rem,1.2vw,1.35rem) !important;
            line-height:1.08 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button {
            color:#090f15 !important;
            background:#ffe000 !important;
            border-right:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button b,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button svg { color:#090f15 !important; }
        }

        @media (min-width:768px) and (max-width:1279px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-hero {
            display:grid !important;
            grid-template-columns:1fr !important;
            min-height:0 !important;
            overflow:visible !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
            padding:5rem clamp(3rem,8vw,6rem) 4.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 {
            max-width:48rem !important;
            margin-top:.9rem !important;
            font-size:clamp(3.2rem,6vw,4.5rem) !important;
            line-height:1 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > p {
            max-width:42rem !important;
            margin-top:1.6rem !important;
            font-size:1.05rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions { margin-top:2rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers {
            margin-top:2.6rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div {
            min-height:6rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers svg {
            width:2.5rem !important;
            height:2.5rem !important;
            color:#d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers b { font-size:1.45rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers span { font-size:.76rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap {
            display:grid !important;
            grid-template-columns:1fr !important;
            height:auto !important;
            min-height:0 !important;
            clip-path:none !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap > video {
            height:32rem !important;
            object-position:center 55% !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap::before,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap::after { display:none !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-floats {
            position:static !important;
            width:100% !important;
            padding:1.2rem clamp(3rem,8vw,6rem) 1.6rem !important;
            display:grid !important;
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:1rem !important;
            transform:none !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            min-height:8.5rem !important;
            padding:1.35rem !important;
            color:#fff !important;
            background:#0a1926 !important;
            border:1px solid rgba(255,255,255,.14) !important;
            border-left:2px solid #d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float > svg { color:#d7f448 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-features {
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:0 !important;
            padding:4rem clamp(3rem,8vw,6rem) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature {
            min-height:13rem !important;
            padding:2rem 1.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > b {
            position:static !important;
            font-size:2.6rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > svg { color:#a8d400 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature strong { font-size:1rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature p { font-size:.82rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-team {
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:2.5rem 0 !important;
            padding:5rem clamp(3rem,8vw,6rem) !important;
            color:#090f15 !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro {
            grid-column:1 / -1 !important;
            max-width:36rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro h2 { color:#090f15 !important; font-size:2.6rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro p { color:#4b5968 !important; font-size:.95rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person {
            grid-template-columns:7.5rem minmax(0,1fr) !important;
            gap:1.35rem !important;
            min-height:13rem !important;
            padding:1rem 2rem !important;
            border:0 !important;
            border-left:1px solid #dce1e5 !important;
            border-radius:0 !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person img { height:9.5rem !important; max-height:none !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person h3 { color:#090f15 !important; font-size:1.12rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person b { color:#8ebd00 !important; font-size:.72rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person p { color:#26323d !important; font-size:.7rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials {
            grid-template-columns:repeat(3,minmax(0,1fr)) !important;
            gap:0 !important;
            padding:4.75rem clamp(3rem,8vw,6rem) !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div {
            grid-column:1 / -1 !important;
            margin-bottom:2.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div h2 { font-size:2.4rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article {
            min-height:18rem !important;
            padding:1rem 1.5rem !important;
            border:0 !important;
            border-left:1px solid #e0e4e7 !important;
            border-radius:0 !important;
            background:transparent !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article > b { color:#a8d400 !important; font-size:4rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article p { font-size:.78rem !important; line-height:1.55 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats { min-height:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > div,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button { min-height:7.5rem !important; }
        }

        @media (min-width:1280px) and (max-width:1440px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
            padding-left:4rem !important;
            padding-right:1.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions {
            gap:1.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions button {
            white-space:nowrap !important;
            font-size:.78rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-primary {
            min-width:14rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers {
            grid-template-columns:repeat(3,minmax(0,1fr)) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div {
            padding-inline:.55rem !important;
            gap:.6rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers svg {
            width:2.2rem !important;
            height:2.2rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers b {
            font-size:1.2rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers span {
            font-size:.68rem !important;
          }
        }

        @media (max-width:767px) {
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy {
            padding:3.5rem 1.25rem 3rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-kicker { font-size:.72rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 {
            margin-top:.85rem !important;
            font-size:clamp(2.35rem,10.5vw,3.2rem) !important;
            line-height:1 !important;
            overflow-wrap:normal !important;
            word-break:normal !important;
            hyphens:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 span,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy h1 strong {
            white-space:normal !important;
            overflow-wrap:normal !important;
            word-break:normal !important;
            hyphens:none !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-copy > p {
            margin-top:1.4rem !important;
            font-size:.98rem !important;
            line-height:1.55 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions {
            grid-template-columns:1fr !important;
            margin-top:1.8rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-actions button { min-height:3.65rem !important; font-size:.86rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers {
            grid-template-columns:1fr !important;
            margin-top:2.3rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div {
            min-height:5.5rem !important;
            padding:1rem 0 !important;
            flex-direction:row !important;
            justify-content:flex-start !important;
            text-align:left !important;
            border-right:0 !important;
            border-bottom:1px solid #dce1e5 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers > div:last-child { border-bottom:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers svg { width:2.6rem !important; height:2.6rem !important; color:#d7f448 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers b { font-size:1.45rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-numbers span { font-size:.78rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap {
            display:grid !important;
            min-height:0 !important;
            height:auto !important;
            clip-path:none !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap > video {
            height:19rem !important;
            object-position:center 55% !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap::before,
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-photo-wrap::after { display:none !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-floats {
            position:static !important;
            width:100% !important;
            padding:1rem 1.15rem 1.3rem !important;
            display:grid !important;
            grid-template-columns:1fr !important;
            gap:.75rem !important;
            transform:none !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float {
            position:relative !important;
            inset:auto !important;
            width:100% !important;
            min-height:7rem !important;
            padding:1.15rem !important;
            color:#fff !important;
            background:#0a1926 !important;
            border:1px solid rgba(255,255,255,.14) !important;
            border-left:2px solid #d7f448 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-float > svg { color:#d7f448 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-features {
            grid-template-columns:1fr !important;
            padding:3.8rem 1.25rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature {
            grid-template-columns:3.4rem 3rem minmax(0,1fr) !important;
            min-height:10.5rem !important;
            padding:1.6rem 0 !important;
            border-right:0 !important;
            border-bottom:1px solid #e0e4e7 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature:last-child { border-bottom:0 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > b {
            position:static !important;
            align-self:start !important;
            padding-top:.12rem !important;
            font-size:2.35rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature > svg { color:#a8d400 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature strong { font-size:1.05rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-feature p { font-size:.84rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-team {
            grid-template-columns:1fr !important;
            gap:2rem !important;
            padding:4.5rem 1.25rem !important;
            color:#090f15 !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro { grid-column:auto !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro h2 { color:#090f15 !important; font-size:2.3rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-team-intro p { color:#4b5968 !important; font-size:.94rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person {
            grid-template-columns:7rem minmax(0,1fr) !important;
            gap:1.2rem !important;
            min-height:12rem !important;
            padding:1.4rem 0 !important;
            border:0 !important;
            border-top:1px solid #dce1e5 !important;
            border-radius:0 !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person img { height:8.75rem !important; max-height:none !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person h3 { color:#090f15 !important; font-size:1.12rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person b { color:#8ebd00 !important; font-size:.72rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-person p { color:#26323d !important; font-size:.67rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials {
            grid-template-columns:1fr !important;
            padding:4.5rem 1.25rem !important;
            background:#fff !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div {
            grid-column:auto !important;
            margin-bottom:1.8rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials > div h2 { font-size:2.15rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article {
            min-height:0 !important;
            padding:2rem 0 !important;
            border:0 !important;
            border-top:1px solid #e0e4e7 !important;
            border-radius:0 !important;
            background:transparent !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article > b { color:#a8d400 !important; font-size:4rem !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-testimonials article p { font-size:.88rem !important; line-height:1.6 !important; }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats {
            grid-template-columns:repeat(2,minmax(0,1fr)) !important;
            gap:.65rem !important;
            padding:.8rem !important;
            background:#06121d !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > div {
            min-height:6.5rem !important;
            padding:1rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.about-reference) .about-reference-bottom-stats > button {
            grid-column:1 / -1 !important;
            min-height:5.5rem !important;
          }
        }

        }

        /* Shared presentation frame: one composed desktop view, with the story controls
           permanently available at the bottom instead of adding height to each slide. */
        #root > .lexo-shell.lexo-shell.lexo-shell {
          --presentation-footer-height: clamp(3.5rem, 6vh, 4rem);
        }

        @media (min-width:1024px) {
          #root > .lexo-shell.lexo-shell.lexo-shell {
            height:100dvh !important;
            min-height:100dvh !important;
            overflow:hidden !important;
            display:flex !important;
            flex-direction:column !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell > header {
            flex:0 0 auto !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main {
            flex:1 1 0 !important;
            height:auto !important;
            min-height:0 !important;
            overflow:hidden !important;
            padding-bottom:var(--presentation-footer-height) !important;
            box-sizing:border-box !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main .presentation-viewport,
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main .presentation-frame {
            height:100% !important;
            min-height:0 !important;
            max-height:100% !important;
            overflow:hidden !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main .hero-reference,
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main .about-reference,
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main .projects-reference,
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main .project-calculator,
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main .career-reference,
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main .contact-reference {
            height:100% !important;
            min-height:0 !important;
            max-height:100% !important;
            overflow:hidden !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell > .story-footer {
            position:fixed !important;
            z-index:120 !important;
            inset:auto 0 0 0 !important;
            width:100% !important;
            height:var(--presentation-footer-height) !important;
            min-height:var(--presentation-footer-height) !important;
            margin:0 !important;
            box-sizing:border-box !important;
            box-shadow:0 -1px 0 rgba(148,163,184,.18) !important;
          }
        }

        @media (max-width:1023px) {
          #root > .lexo-shell.lexo-shell.lexo-shell {
            --presentation-footer-height:clamp(4.25rem, 10vh, 5rem);
          }
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main {
            padding-bottom:var(--presentation-footer-height) !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell > .story-footer {
            position:fixed !important;
            z-index:120 !important;
            inset:auto 0 0 0 !important;
            width:100% !important;
            height:var(--presentation-footer-height) !important;
            min-height:var(--presentation-footer-height) !important;
            margin:0 !important;
            box-sizing:border-box !important;
            box-shadow:0 -1px 0 rgba(148,163,184,.18) !important;
          }
        }

        /* Home uses the same navigation scale as every other slide.  On desktop
           the reserved footer space is outside the content flex item, so the
           statistics rail can never run underneath the fixed story controls. */
        @media (min-width:1024px) {
          #root > .lexo-shell.lexo-shell.lexo-shell > .presentation-main {
            margin-bottom:var(--presentation-footer-height) !important;
            padding-bottom:0 !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > header {
            min-height:0 !important;
            padding:1rem 2rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) > header .max-w-7xl {
            max-width:96rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .header-brand-mark {
            width:2.5rem !important;
            height:2.5rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .header-brand > div > span:first-child {
            font-size:1.125rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .header-brand-tagline {
            margin-top:-.25rem !important;
            font-size:.5625rem !important;
            letter-spacing:.1em !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .main-nav-item {
            font-size:.76rem !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .main-nav-item-active {
            border-bottom-width:2px !important;
          }
          #root > .lexo-shell.lexo-shell.lexo-shell:has(.hero-reference) .header-cta-btn {
            min-height:clamp(2.45rem,5.5vh,2.9rem) !important;
            padding:clamp(.65rem,1.5vh,.8rem) clamp(.8rem,1.25vw,1.2rem) !important;
            font-size:clamp(.66rem,.72vw,.8rem) !important;
          }
        }
      
        /* === 2026-09-24 unified square close buttons === */
        #root .b2b-modal-close,
        #root .project-showcase-close,
        #root .project-modal-icon-btn,
        #root .project-media-lightbox-close,
        #root .project-showcase-lightbox > button {
          width: 2.5rem !important;
          height: 2.5rem !important;
          min-width: 2.5rem !important;
          min-height: 2.5rem !important;
          border: 1px solid #d7dee5 !important;
          border-radius: 2px !important;
          background: #fff !important;
          color: #081322 !important;
          box-shadow: none !important;
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
        }
        #root .b2b-modal-close svg,
        #root .project-showcase-close svg,
        #root .project-modal-icon-btn svg,
        #root .project-media-lightbox-close svg,
        #root .project-showcase-lightbox > button svg {
          width: 1.15rem !important;
          height: 1.15rem !important;
          color: currentColor !important;
          stroke: currentColor !important;
        }
        #root .b2b-modal-close:hover,
        #root .project-showcase-close:hover,
        #root .project-modal-icon-btn:hover,
        #root .project-media-lightbox-close:hover,
        #root .project-showcase-lightbox > button:hover {
          border-color: #ffd400 !important;
          background: #ffd400 !important;
          color: #081322 !important;
        }

/* B2B submit state: prevent ambiguous/double submissions. */
#root .offer-modal-submit:disabled { opacity:.62 !important; cursor:wait !important; transform:none !important; box-shadow:none !important; }
/* The home page scrolls as a document, independently of the legacy presentation frame. */
html:has(#root#root .home-page),
body:has(#root#root .home-page),
#root#root:has(.home-page) {
  height:auto!important; min-height:100%; max-height:none!important; overflow:visible!important;
}
#root#root>.lexo-shell:has(.home-page) {
  display:block!important; height:auto!important; min-height:100svh!important;
  max-height:none!important; overflow:visible!important; background:#fff!important;
}
#root#root>.lexo-shell:has(.home-page)>header,
#root#root>.lexo-shell:has(.home-page)>.story-footer,
#root#root>.lexo-shell:has(.home-page)>.hero-opening-beam { display:none!important; }
#root#root>.lexo-shell:has(.home-page) :is(.presentation-main,.presentation-viewport,.presentation-frame) {
  display:block!important; position:relative!important; inset:auto!important; width:100%!important;
  height:auto!important; min-height:0!important; max-height:none!important; max-width:none!important;
  margin:0!important; padding:0!important; overflow:visible!important; transform:none!important;
  animation:none!important; flex:none!important;
}


body:has(.home-page):has(:is(.b2b-modal-backdrop,.project-showcase-backdrop)) .home-brand-slot {visibility:hidden;}

#root .home-page {
  --home-yellow:var(--lexo-yellow,#ffd400); --home-gold:var(--lexo-gold,#dfa900); --home-ink:var(--lexo-ink,#081322); --home-muted:var(--lexo-muted,#526071);
  --home-line:var(--lexo-line,#dce2e8); --home-max:var(--lexo-content-max,1760px); --home-gutter:clamp(24px,3vw,48px);
  --home-content-left:max(var(--home-gutter),calc((100vw - var(--lexo-rail-width,0px) - var(--home-max))/2 + var(--home-gutter)));
  padding-right:var(--lexo-rail-width,clamp(96px,6.7vw,126px));
  background:#fff; color:var(--home-ink); font-family:Arial,Helvetica,sans-serif;
}
#root .home-page *,#root .home-page *:before,#root .home-page *:after {box-sizing:border-box;}
#root .home-page :is(h1,h2,h3,p,span,em,button) {overflow-wrap:normal;word-break:normal;hyphens:none;}
#root .home-page :is(h1,h2) {color:var(--home-ink)!important;font-weight:500!important;letter-spacing:-.04em;line-height:1.1;}
#root .home-page h2 {font-size:clamp(30px,3.1vw,48px);margin:0 0 24px;}
#root .home-page :is(h1,h2) em {color:var(--home-gold)!important;font:inherit;}
#root .home-page p {font-size:16px;font-weight:400;line-height:1.6;color:var(--home-muted)!important;margin:0;}
#root .home-page button {font-family:inherit;cursor:pointer;}
#root .home-page :is(button,a):focus-visible {outline:2px solid #9b7500;outline-offset:5px;}
#root .home-page .home-container {width:100%;max-width:var(--home-max);margin-inline:auto;padding-inline:var(--home-gutter);}
#root .home-page .home-eyebrow {display:flex;align-items:center;gap:16px;margin:0 0 22px;font-size:10px;line-height:1.4;letter-spacing:2.5px;font-weight:600;color:#617083;}
#root .home-eyebrow:before {content:"";width:32px;height:1px;background:var(--home-yellow);flex:none;}
#root .home-page .home-button,
#root .home-page .home-text-link {
  display:inline-flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:46px;max-width:100%;border:0;border-radius:0;padding:13px 20px;
  font-size:13px;line-height:1.4;font-weight:600;color:#081322!important;background:var(--home-yellow);
  text-decoration:none;transition:background-color .2s;
}
#root .home-page .home-text-link {background:transparent;padding-inline:0;border-bottom:1px solid #e3bd17;}
#root .home-page .home-button:hover {background:#f3c800;}
#root .home-page .home-text-link:hover {border-bottom-color:#081322;}
#root .home-page :is(.home-button,.home-text-link) svg {width:18px;height:18px;flex:none;}

#root .home-hero-stage {display:grid;grid-template-columns:minmax(0,36%) minmax(0,64%);height:clamp(520px,60svh,620px);min-height:0;}
#root .home-hero-copy {display:grid;grid-template-rows:auto 1fr;gap:24px;padding:30px clamp(36px,2.8vw,52px) 34px clamp(44px,3.4vw,60px);min-width:0;}
#root .home-brand-row {display:flex;align-items:flex-start;justify-content:flex-start;min-width:0;}
#root .home-brand-slot {flex:none;}
#root .home-hero-content {align-self:center;container-type:inline-size;min-width:0;max-width:620px;}
#root .home-hero-eyebrow {display:flex;align-items:flex-start;gap:16px;margin:0 0 20px;color:#738195;}
#root .home-hero-eyebrow>span {width:28px;height:1px;margin-top:8px;background:var(--home-yellow);flex:none;}
#root .home-hero-eyebrow strong {font-size:9px;line-height:1.65;letter-spacing:2.7px;font-weight:700;color:#738195;}
#root .home-hero h1 {font-size:clamp(42px,9.1cqi,58px);line-height:1.045;letter-spacing:-.05em;max-width:100%;margin:0 0 18px;}
#root .home-hero h1 span,#root .home-hero h1 em {display:block;white-space:nowrap;}
#root .home-hero-content>p {font-size:clamp(14px,.88vw,16px);line-height:1.5;max-width:32em;}
#root .home-hero-actions {display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:24px;}
#root .home-hero-actions :is(.home-button,.home-text-link) {font-size:clamp(12px,2.35cqi,13px);padding:12px 16px;white-space:nowrap;flex:none;width:220px;max-width:100%;}
#root .home-hero-actions .home-button {padding-inline:16px;}
#root .home-hero-visual {position:relative;min-width:0;overflow:hidden;}
#root .home-page .home-hero-photo {position:absolute;inset:0 auto 0 0;display:block;width:calc(100% + var(--lexo-rail-width));max-width:none;height:100%;object-fit:cover;object-position:center;}
#root .home-hero-visual::after {content:"";position:absolute;inset:0 calc(var(--lexo-rail-width) * -1) 0 0;z-index:1;pointer-events:none;background:rgba(8,19,34,.12);}
#root .home-hero-badge {
  position:absolute;
  z-index:2;
  left:clamp(28px,2.5vw,46px);
  bottom:24px;
  width:min(330px,calc(100% - 56px));
  max-width:330px;
  padding:18px 24px 18px 40px;
  border:1px solid rgba(255,255,255,.72);
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:0 12px 32px rgba(8,19,34,.08);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,.75,.2,1);
}
#root .home-hero-badge.is-active {opacity:1;transform:none;}
#root .home-hero-badge:before {
  content:"";
  position:absolute;
  left:17px;
  top:18px;
  bottom:18px;
  width:2px;
  background:var(--home-yellow);
  transform:scaleY(0);
  transform-origin:center bottom;
  transition:transform .55s cubic-bezier(.22,.75,.2,1) .2s;
}
#root .home-hero-badge.is-active:before {transform:scaleY(1);}
#root .home-hero-badge-metric {
  display:flex;
  align-items:baseline;
  gap:.16em;
  font-size:clamp(30px,2.4vw,42px);
  line-height:1.1;
  letter-spacing:-1.5px;
  color:var(--home-ink)!important;
  white-space:nowrap;
}
#root .home-hero-badge-number {
  display:inline-block;
  min-width:3ch;
  text-align:right;
  font-weight:500;
  font-variant-numeric:tabular-nums;
  transform-origin:center center;
}
#root .home-hero-badge-number.is-complete {
  font-weight:650;
  animation:homeBadgeNumberSettle .34s cubic-bezier(.22,.75,.2,1) both;
}
#root .home-hero-badge-suffix {
  opacity:0;
  transform:translateY(4px);
  font:inherit;
  font-weight:650;
  color:var(--home-ink)!important;
  transition:opacity .32s ease 1.05s,transform .32s cubic-bezier(.22,.75,.2,1) 1.05s;
}
#root .home-hero-badge.is-active .home-hero-badge-suffix {opacity:1;transform:none;}
#root .home-hero-badge-caption {
  opacity:0;
  transform:translateY(6px);
  color:#657386!important;
  font-size:clamp(11px,.76vw,13px)!important;
  line-height:1.45!important;
  margin-top:8px!important;
  transition:opacity .4s ease 1.2s,transform .4s cubic-bezier(.22,.75,.2,1) 1.2s;
}
#root .home-hero-badge.is-active .home-hero-badge-caption {opacity:1;transform:none;}
@keyframes homeBadgeNumberSettle {
  0% {transform:scale(1);}
  48% {transform:scale(1.03);}
  100% {transform:scale(1);}
}

#root .home-benefits-shell {background:#fff;padding-top:clamp(22px,2vw,34px);}
#root .home-benefits {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-block:26px;}
#root .home-benefits>div {position:relative;min-width:0;display:flex;align-items:center;gap:14px;padding:0 clamp(18px,1.8vw,30px);}
#root .home-benefits>div:first-child {padding-left:0;}
#root .home-benefits>div:last-child {padding-right:0;}
#root .home-benefits>div:not(:first-child):before {content:"";position:absolute;left:0;top:18%;bottom:18%;width:1px;background:rgba(8,19,34,.075);}
#root .home-benefit-icon {width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:none;background:#fff4c9;}
#root .home-benefit-icon svg {width:24px;height:24px;flex:none;color:#c99500;stroke-width:1.65;}
#root .home-benefits h3 {font-size:clamp(14px,.92vw,16px);line-height:1.3;font-weight:650;color:var(--home-ink)!important;margin:0 0 4px;}
#root .home-benefits p {font-size:13px;line-height:1.45;}

#root .home-about {background:#f6f8fa;}
#root .home-about-inner {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.58fr);align-items:center;gap:clamp(24px,3vw,48px);padding-block:72px;}
#root .home-about-copy p {margin-bottom:28px;}
#root .home-team-photo {display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:480px;object-fit:cover;}
#root .home-about-stats {display:grid;gap:28px;margin:0;}
#root .home-about-stats>div {position:relative;padding:0 0 0 18px;border:0;}
#root .home-about-stats>div:before {content:"";position:absolute;left:0;top:.58em;width:6px;height:6px;background:var(--home-yellow);}
#root .home-about-stats dt {font-size:clamp(16px,1.15vw,19px);line-height:1.3;color:var(--home-ink);font-weight:600;letter-spacing:-.015em;white-space:normal;}
#root .home-about-stats dd {margin:8px 0 0;color:var(--home-muted);font-size:14px;line-height:1.5;}
#root .home-process {padding-block:72px;}
#root .home-process h2 {margin-bottom:38px;}
#root .home-process-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;list-style:none;margin:0;}
#root .home-process-grid>li {padding:0 clamp(18px,2vw,32px);border-left:1px solid var(--home-line);min-width:0;}
#root .home-process-grid>li:first-child {padding-left:0;border-left:0;}
#root .home-process-grid>li:last-child {padding-right:0;}
#root .home-step-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
#root .home-step-top>span {font-size:28px;font-weight:400;color:#8391a1;line-height:1;}
#root .home-step-top svg {width:26px;height:26px;color:var(--home-gold);}
#root .home-process-grid h3 {font-size:18px;line-height:1.3;font-weight:600;color:var(--home-ink)!important;margin:0 0 10px;}
#root .home-process-grid p {font-size:14px;line-height:1.55;}

#root .home-career {position:relative;min-height:440px;display:grid;align-items:center;background:#0e1c29;}
#root .home-career-photo {position:absolute;inset:0 auto 0 0;width:calc(100% + var(--lexo-rail-width));max-width:none;height:100%;object-fit:cover;object-position:72% 35%;filter:brightness(.46);}
#root .home-career-inner {position:relative;padding-block:64px;}
#root .home-career-copy {max-width:600px;}
#root .home-career h2 {color:#fff!important;}
#root .home-career h2 em {color:#ffd400!important;}
#root .home-career .home-eyebrow {color:#fff;}
#root .home-career p {color:#f2f5f8!important;max-width:33em;margin-bottom:28px;}

@media(max-width:1199px) {
  #root .home-benefits {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px;}
  #root .home-benefits>div:nth-child(odd) {padding-left:0;}
  #root .home-benefits>div:nth-child(even) {padding-right:0;}
  #root .home-benefits>div:nth-child(odd):before {display:none;}
  #root .home-about-inner {grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);}
  #root .home-about-stats {grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:8px;}
  #root .home-about-stats>div,#root .home-about-stats>div:first-child {border:0;padding:0 0 0 18px;}
  #root .home-process-grid {grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px;}
  #root .home-process-grid>li:nth-child(3) {border-left:0;padding-left:0;}
}
@media(max-width:1023px) {
  html:has(.home-page) {scroll-padding-top:100px;}
  #root .home-brand-slot {height:34px;}
  #root .home-brand-slot:before {content:"";position:fixed;z-index:69;inset:0 0 auto;height:82px;background:#fff;border-bottom:1px solid #e7ebef;}
  #root .home-brand-slot .lexo-brand {position:fixed;z-index:71;top:25px;left:var(--home-gutter);}
  
  #root .home-page {padding-right:0;--home-gutter:clamp(24px,5vw,48px);--home-content-left:var(--home-gutter);}
  #root .home-hero-stage {grid-template-columns:1fr;height:auto;min-height:0;}
  #root .home-hero-copy {padding:28px var(--home-gutter) 40px;gap:36px;}
  #root .home-brand-row {align-items:center;}
  #root .home-hero-content {transform:none;}
  #root .home-hero-content {max-width:680px;}
  #root .home-hero-visual {height:clamp(300px,48vw,460px);}
  #root .home-page .home-hero-photo,#root .home-career-photo {width:100%;}
  #root .home-hero-visual::after {right:0;}
  #root .home-hero-badge {bottom:24px;}
  #root .home-benefits {padding-block:40px;}
  #root .home-about-inner,#root .home-process {padding-block:56px;}
  #root .home-career-copy {max-width:65%;}
}
@media(max-width:599px) {
  #root .home-page h2 {font-size:32px;}
  #root .home-hero-copy {gap:38px;}
  #root .home-hero-eyebrow {margin-bottom:24px;}
  #root .home-hero h1 {font-size:clamp(36px,9.2cqi,42px);line-height:1.08;margin-bottom:22px;}
  #root .home-hero-content>p {font-size:15px;}
  #root .home-hero-actions {gap:14px 24px;margin-top:24px;}
  #root .home-hero-badge {left:24px;padding:18px 22px 18px 32px;}
  #root .home-hero-badge:before {left:15px;top:18px;bottom:18px;}
  #root .home-benefits {grid-template-columns:1fr;padding-block:28px;row-gap:22px;}
  #root .home-benefits>div,#root .home-benefits>div:first-child,#root .home-benefits>div:nth-child(3) {padding:0;border-left:0;}
  #root .home-benefit-icon {width:48px;height:48px;}
  #root .home-benefit-icon svg {width:24px;height:24px;}
  #root .home-benefits>div:before {display:none;}
  #root .home-about-inner {grid-template-columns:1fr;gap:32px;}
  #root .home-team-photo {max-height:380px;aspect-ratio:1;}
  #root .home-about-stats {grid-template-columns:1fr;gap:24px;padding:0;}
  #root .home-about-stats>div,#root .home-about-stats>div:first-child {display:block;border:0;padding:0 0 0 18px;}
  #root .home-about-stats dt {min-width:0;font-size:17px;}
  #root .home-about-stats dd {margin:7px 0 0;}
  #root .home-process-grid {grid-template-columns:1fr;row-gap:0;}
  #root .home-process-grid>li,#root .home-process-grid>li:first-child,#root .home-process-grid>li:nth-child(3) {border:0;border-top:1px solid var(--home-line);padding:24px 0;}
  #root .home-process-grid>li:last-child {padding-bottom:0;}
  #root .home-step-top {justify-content:flex-start;gap:20px;margin-bottom:16px;}
  #root .home-career {display:block;min-height:0;}
  #root .home-career-photo {position:relative;width:100%;height:auto;aspect-ratio:1.5;object-position:72% center;filter:none;}
  #root .home-career-inner {padding-block:36px 44px;}
  #root .home-career-copy {max-width:100%;}
}
@media(prefers-reduced-motion:reduce) {
  #root .home-page *,#root .home-page *:before,#root .home-page *:after {scroll-behavior:auto!important;transition:none!important;}
}


/* Universal, restrained motion language for the scrolling home page. */
html:has(.home-page) {scroll-behavior:smooth;}

#root .home-page [data-reveal] {
  opacity:0;
  transform:translate3d(0,14px,0);
  transition:
    opacity .64s ease var(--reveal-delay,0ms),
    transform .64s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms);
  will-change:opacity,transform;
}
#root .home-page [data-reveal="fade"] {transform:none;}
#root .home-page [data-reveal="media"] {
  opacity:0;
  transform:scale(1.018);
  clip-path:inset(0 3% 0 0);
  transition:
    opacity .78s ease var(--reveal-delay,0ms),
    transform .9s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms),
    clip-path .86s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms);
}
#root .home-page [data-reveal].is-visible {
  opacity:1;
  transform:none;
  clip-path:inset(0);
}

/* Shared CTA micro-interactions. */
#root .home-page :is(.home-button,.home-text-link) {
  transition:
    transform .22s cubic-bezier(.22,.8,.2,1),
    background-color .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}
#root .home-page :is(.home-button,.home-text-link) svg {
  transition:transform .22s cubic-bezier(.22,.8,.2,1);
}
#root .home-page .home-button:hover {
  transform:translateY(-2px);
  box-shadow:0 9px 20px rgba(8,19,34,.1);
}
#root .home-page .home-text-link:hover {transform:translateY(-1px);}
#root .home-page :is(.home-button,.home-text-link):hover svg {transform:translateX(4px);}

/* Benefits: quiet lift and accent response. */
#root .home-benefit-icon {
  transition:transform .25s cubic-bezier(.22,.8,.2,1),background-color .25s ease,box-shadow .25s ease;
}
#root .home-benefit-icon svg {transition:color .25s ease;}
#root .home-benefits>div:hover .home-benefit-icon {
  transform:translateY(-4px);
  background:#fff1bd;
  box-shadow:0 10px 24px rgba(8,19,34,.06);
}
#root .home-benefits>div:hover .home-benefit-icon svg {color:#d6a500;}

/* Process: a fine accent line grows on hover. */
#root .home-process-grid>li {position:relative;}
#root .home-process-grid>li:after {
  content:"";
  display:block;
  width:30px;
  height:2px;
  margin-top:18px;
  background:var(--home-yellow);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .3s cubic-bezier(.22,.8,.2,1);
}
#root .home-process-grid>li:hover:after {transform:scaleX(1);}
#root .home-step-top>span,#root .home-step-top svg {
  transition:color .22s ease,transform .22s cubic-bezier(.22,.8,.2,1);
}
#root .home-process-grid>li:hover .home-step-top>span {color:#b98c00;}
#root .home-process-grid>li:hover .home-step-top svg {transform:translateY(-3px);}

@media(prefers-reduced-motion:reduce) {
  #root .home-page [data-reveal] {
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    transition:none!important;
  }
}


@media(prefers-reduced-motion:reduce) {
  #root .home-hero-badge,
  #root .home-hero-badge-suffix,
  #root .home-hero-badge-caption {
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  #root .home-hero-badge:before {transform:scaleY(1)!important;transition:none!important;}
  #root .home-hero-badge-number {font-weight:650!important;animation:none!important;}
}
/* === 2026-09-15 balance pass: wider grid + reference proportions === */
@media (min-width:1200px) {
  #root .home-page {
    --home-max:none;
    --home-gutter:clamp(52px,5.2vw,104px);
    --home-content-left:clamp(48px,3.7vw,76px);
  }

  /* All content sections use one broad page grid instead of a narrow centred island. */
  #root .home-page .home-container {
    width:100%;
    max-width:none;
    margin-inline:0;
    padding-inline:var(--home-gutter);
  }

  /* Hero: a calmer 38/62 split, with enough vertical scale to match the reference. */
  #root .home-hero-stage {
    grid-template-columns:minmax(0,38%) minmax(0,62%);
    height:clamp(600px,64svh,720px);
    min-height:0;
  }
  #root .home-hero-copy {
    gap:30px;
    padding:36px clamp(42px,3vw,60px) 48px var(--home-content-left);
  }
  #root .home-hero-content {
    max-width:680px;
    transform:translateY(8px);
  }
  #root .home-hero-eyebrow {margin-bottom:28px;}
  #root .home-hero-eyebrow strong {font-size:10px;letter-spacing:3px;}
  #root .home-hero h1 {
    font-size:clamp(50px,9.7cqi,72px);
    line-height:1.035;
    letter-spacing:-.055em;
    margin-bottom:24px;
  }
  #root .home-hero-content>p {
    max-width:35em;
    font-size:clamp(15px,.95vw,17px);
    line-height:1.55;
  }
  #root .home-hero-actions {
    gap:16px 24px;
    margin-top:30px;
  }
  #root .home-hero-actions :is(.home-button,.home-text-link) {
    width:244px;
    min-height:50px;
    padding:14px 18px;
    font-size:13px;
  }

  #root .home-hero-badge {
    left:clamp(36px,2.8vw,54px);
    bottom:32px;
    width:min(360px,calc(100% - 72px));
    max-width:360px;
    padding:20px 26px 20px 42px;
  }
  #root .home-hero-badge-metric {font-size:clamp(34px,2.45vw,46px);}
  #root .home-hero-badge-caption {font-size:12px!important;}

  /* The proof strip should read as one full-width rhythm, not a boxed component. */
  #root .home-benefits {padding:56px 0 34px;}
  #root .home-benefits>div {gap:16px;padding-inline:clamp(20px,2vw,34px);}
  #root .home-benefits>div:first-child {padding-left:0;}
  #root .home-benefits>div:last-child {padding-right:0;}
  #root .home-benefit-icon {width:52px;height:52px;}
  #root .home-benefit-icon svg {width:26px;height:26px;}
  #root .home-benefits h3 {font-size:clamp(15px,.9vw,17px);}
}

/* === 2026-09-16 extra premium dynamics === */
#root .home-hero-photo.is-visible{animation:homeHeroMediaSettle 1.15s cubic-bezier(.22,.75,.2,1) both}@keyframes homeHeroMediaSettle{from{filter:saturate(.93);transform:scale(1.018)}to{filter:none;transform:scale(1)}}
#root .home-button,#root .home-text-link{overflow:hidden;position:relative}
#root .home-button:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.2);transform:translateX(-120%) skewX(-18deg);transition:transform .48s cubic-bezier(.22,.75,.2,1);pointer-events:none}
@media(hover:hover) and (pointer:fine){#root .home-button:hover:after{transform:translateX(120%) skewX(-18deg)}#root .home-button:hover svg,#root .home-text-link:hover svg{transform:translateX(4px)}#root .home-benefits>div:hover{transform:none}}
#root .home-button svg,#root .home-text-link svg{transition:transform .24s cubic-bezier(.22,.75,.2,1)}
#root .home-benefits>div{transition:transform .3s cubic-bezier(.22,.75,.2,1)}
#root .home-step-top svg{transition:transform .28s cubic-bezier(.22,.75,.2,1),color .28s ease}
@media(prefers-reduced-motion:reduce){#root .home-hero-photo.is-visible{animation:none!important}#root .home-button:after{display:none!important}#root .home-button svg,#root .home-text-link svg,#root .home-benefits>div,#root .home-step-top svg{transition:none!important}}


/* === 2026-09-16 premium motion pass II: masked type, optical depth, section rhythm === */
#root .home-page [data-reveal="line"] {
  display:block;
  opacity:0;
  clip-path:inset(0 0 100% 0);
  transform:translate3d(0,22px,0);
  transition:
    opacity .70s ease var(--reveal-delay,0ms),
    transform .78s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms),
    clip-path .78s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms);
}
#root .home-page [data-reveal="line"].is-visible {opacity:1;transform:none;clip-path:inset(0);}
#root .home-page .home-eyebrow::before {
  transform:scaleX(1);
  transform-origin:left center;
  transition:transform .56s cubic-bezier(.22,.75,.2,1) .10s;
}
/* Animate the line only when the eyebrow itself participates in reveal.
   Plain section eyebrows (e.g. HomeProjectsSlider) must stay visible. */
#root .home-page .home-eyebrow[data-reveal]::before {transform:scaleX(0);}
#root .home-page .home-eyebrow[data-reveal].is-visible::before {transform:scaleX(1);}
#root .home-process-grid>li .home-step-top svg {
  opacity:.35;
  transform:translateY(7px) rotate(-4deg);
  transition:opacity .52s ease,transform .62s cubic-bezier(.22,.75,.2,1);
}
#root .home-process-grid>li.is-visible .home-step-top svg {opacity:1;transform:none;}
@media(hover:hover) and (pointer:fine) {
  #root .home-process-grid>li:hover .home-step-top svg {transform:translateY(-3px) scale(1.035);}
}
@media(prefers-reduced-motion:reduce) {
  #root .home-page [data-reveal="line"] {opacity:1!important;transform:none!important;clip-path:inset(0)!important;transition:none!important;}
  #root .home-page .home-eyebrow::before {transform:scaleX(1)!important;transition:none!important;}
  #root .home-process-grid>li .home-step-top svg {opacity:1!important;transform:none!important;transition:none!important;}
}

/* === 2026-09-17 hover clipping guard ===
   Once a reveal is complete, remove the clip boundary so shadows and hover
   motion are not cut off. Masked line reveals keep their own clip-path. */
#root .home-page [data-reveal].is-visible:not([data-reveal="line"]) {
  clip-path: none !important;
}

#root .home-benefits-shell,
#root .home-benefits,
#root .home-benefits > div {
  overflow: visible;
}

/* Keep motion inside the item instead of translating the whole grid cell. */
@media (hover:hover) and (pointer:fine) {
  #root .home-benefits > div:hover {
    transform: none !important;
  }
}


/* === 2026-09-17 unified CTA system === */
#root .home-page :is(.home-button,.home-text-link) {
  min-height:48px;
  font-size:13px!important;
  line-height:1.35;
  font-weight:600!important;
  color:#081322!important;
}
#root .home-page .home-button {
  background:#ffd400;
  padding:12px 18px;
}
#root .home-page .home-button:hover { background:#f3c800; }
#root .home-page .home-text-link {
  background:transparent;
  padding:12px 0;
  border-bottom:1px solid #d9b51a;
}
/* Hero CTAs share the same inner grid: aligned text and arrows. */
#root .home-page .home-hero-actions .home-text-link {
  padding-inline:18px;
}
#root .home-page .home-text-link:hover { border-bottom-color:#081322; }
#root .home-page :is(.home-button,.home-text-link) svg {
  width:18px;
  height:18px;
  flex:none;
  stroke-width:1.6;
}

/* === 2026-09-22 unified site heading scale === */
#root .home-page .home-hero h1 {
  max-width:100%!important;
  font-size:var(--lexo-display-1-size)!important;
  line-height:var(--lexo-display-1-line)!important;
  font-weight:var(--lexo-display-1-weight)!important;
  letter-spacing:var(--lexo-display-1-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .home-page .home-hero h1 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
#root .home-page h2 {
  max-width:100%!important;
  font-size:var(--lexo-display-2-size)!important;
  line-height:var(--lexo-display-2-line)!important;
  font-weight:var(--lexo-display-2-weight)!important;
  letter-spacing:var(--lexo-display-2-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .home-page h2 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
/* === end unified site heading scale === */

/* === 2026-09-24 home career panorama — restrained light sweep === */
#root .home-career {
  --career-x: 68%;
  --career-y: 48%;
  --career-opacity: 0;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#08131f;
}

#root .home-career-photo {
  position:absolute;
  inset:0 auto 0 0;
  display:block;
  width:calc(100% + var(--lexo-rail-width));
  max-width:none;
  height:100%;
  object-fit:cover;
  object-position:center 58%;
  pointer-events:none;
}

/* Calm, dark photography is the default state. */
#root .home-career-photo-base {
  z-index:0;
  filter:brightness(.36) saturate(.76) contrast(1.055);
  transform:scale(1.004);
}

/* A single, extremely feathered light response. No trail, particles or visible edge. */
#root .home-career-photo-sheen {
  z-index:1;
  opacity:var(--career-opacity);
  filter:brightness(.64) saturate(.88) contrast(1.01);
  transform:scale(1.003);
  -webkit-mask-image:radial-gradient(
    ellipse 470px 105px at var(--career-x) var(--career-y),
    rgba(0,0,0,.62) 0%,
    rgba(0,0,0,.50) 24%,
    rgba(0,0,0,.27) 52%,
    rgba(0,0,0,.09) 74%,
    transparent 100%
  );
  mask-image:radial-gradient(
    ellipse 470px 105px at var(--career-x) var(--career-y),
    rgba(0,0,0,.62) 0%,
    rgba(0,0,0,.50) 24%,
    rgba(0,0,0,.27) 52%,
    rgba(0,0,0,.09) 74%,
    transparent 100%
  );
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  will-change:opacity,-webkit-mask-image,mask-image;
}

#root .home-career-inner {
  position:relative;
  z-index:3;
}

#root .home-career-copy {position:relative;}
#root .home-career-copy::before {content:none;}

#root .home-career h2,
#root .home-career p,
#root .home-career .home-eyebrow {
  text-shadow:0 2px 18px rgba(0,0,0,.26);
}

@media (min-width:1500px) {
  #root .home-career-photo-sheen {
    -webkit-mask-image:radial-gradient(ellipse 560px 118px at var(--career-x) var(--career-y),rgba(0,0,0,.62) 0%,rgba(0,0,0,.50) 24%,rgba(0,0,0,.27) 52%,rgba(0,0,0,.09) 74%,transparent 100%);
    mask-image:radial-gradient(ellipse 560px 118px at var(--career-x) var(--career-y),rgba(0,0,0,.62) 0%,rgba(0,0,0,.50) 24%,rgba(0,0,0,.27) 52%,rgba(0,0,0,.09) 74%,transparent 100%);
  }
}

@media (max-width:1023px) {
  #root .home-career-photo-base {
    filter:brightness(.42) saturate(.80) contrast(1.04);
    transform:none;
  }
  #root .home-career-photo-sheen {display:none;}
}

@media (max-width:599px) {
  #root .home-career-photo,
  #root .home-career-photo-base {
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:1.9;
    object-position:center 58%;
    filter:brightness(.66) saturate(.86);
  }
}

@media (prefers-reduced-motion:reduce) {
  #root .home-career-photo-base {filter:brightness(.42) saturate(.80) contrast(1.04);}
  #root .home-career-photo-sheen {display:none!important;}
}
/* === end home career panorama reveal === */

@media (max-width: 1023px) {
  #root .home-career-photo { width: 100%; }
}

/* === 2026-09-24 process numbering — sync with Contact micro-labels === */
#root .home-step-top > span {
  font-size: 9px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  letter-spacing: 1.8px !important;
  color: #b18400 !important;
}

#root .home-process-grid > li:hover .home-step-top > span {
  color: #b18400 !important;
  transform: none !important;
}
/* === end process numbering sync === */

/* === 2026-09-24 mobile homepage redesign === */
@media (max-width:599px) {
  #root .home-page {
    --home-gutter:18px;
    background:#fff;
  }

  /* Compact fixed mobile header */
  #root .home-brand-slot {height:28px;}
  #root .home-brand-slot:before {
    height:64px;
    border-bottom:1px solid #e7ebef;
    background:rgba(255,255,255,.98);
  }
  #root .home-brand-slot .lexo-brand {top:15px;left:18px;transform:scale(.92);transform-origin:left top;}
  

  /* Hero becomes one compact photographic composition */
  #root .home-hero-stage {
    position:relative;
    display:block;
    min-height:620px;
    overflow:hidden;
    background:#eef5f8;
  }
  #root .home-hero-copy {
    position:relative;
    z-index:3;
    display:block;
    padding:92px 18px 250px;
  }
  #root .home-brand-row {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
  #root .home-hero-content {max-width:none;}
  #root .home-hero-eyebrow {margin:0 0 12px;gap:10px;}
  #root .home-hero-eyebrow>span {width:22px;margin-top:7px;}
  #root .home-hero-eyebrow strong {font-size:8px;letter-spacing:1.9px;}
  #root .home-hero h1 {
    max-width:12ch;
    margin:0 0 14px;
    font-size:clamp(38px,11.4vw,48px);
    line-height:.98;
    letter-spacing:-.055em;
    text-shadow:0 1px 0 rgba(255,255,255,.35);
  }
  #root .home-hero h1 span,
  #root .home-hero h1 em {white-space:normal;}
  #root .home-hero-content>p {
    max-width:29em;
    font-size:13px;
    line-height:1.45;
    color:#526071!important;
  }
  #root .home-hero-actions {
    display:grid;
    grid-template-columns:1fr;
    width:min(100%,250px);
    gap:9px;
    margin-top:18px;
  }
  #root .home-hero-actions :is(.home-button,.home-text-link) {
    width:100%;
    min-height:44px;
    padding:11px 14px;
    font-size:12px;
    border-radius:2px;
  }
  #root .home-hero-actions .home-text-link {
    border:1px solid #aeb9c4;
    background:rgba(255,255,255,.92);
  }
  #root .home-hero-visual {
    position:absolute;
    inset:64px 0 0;
    height:auto;
    min-height:0;
  }
  #root .home-page .home-hero-photo {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-position:62% center;
  }
  #root .home-hero-visual:before {
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 28%,rgba(255,255,255,.18) 56%,rgba(8,19,34,.06) 100%);
    pointer-events:none;
  }
  #root .home-hero-visual::after {display:none;}
  #root .home-hero-badge {
    left:auto;
    right:18px;
    bottom:20px;
    width:min(235px,calc(100% - 36px));
    padding:14px 18px 14px 34px;
    border:1px solid rgba(8,19,34,.12);
    background:rgba(255,255,255,.95);
    box-shadow:0 12px 28px rgba(8,19,34,.12);
    backdrop-filter:blur(10px);
  }
  #root .home-hero-badge:before {left:13px;top:14px;bottom:14px;}
  #root .home-hero-badge-metric {font-size:27px;}
  #root .home-hero-badge-caption {font-size:10.5px!important;line-height:1.35!important;margin-top:4px!important;}

  /* Benefits: compact 2x2 proof cards */
  #root .home-benefits-shell {background:#fff;}
  #root .home-benefits {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:18px;
  }
  #root .home-benefits>div,
  #root .home-benefits>div:first-child,
  #root .home-benefits>div:nth-child(3) {
    display:block;
    min-height:142px;
    padding:15px 13px!important;
    background:#fafbfc;
    border:1px solid #edf0f3;
    border-radius:6px;
  }
  #root .home-benefit-icon {width:42px;height:42px;margin-bottom:10px;}
  #root .home-benefit-icon svg {width:21px;height:21px;}
  #root .home-benefits h3 {font-size:12.5px;line-height:1.25;margin-bottom:6px;}
  #root .home-benefits p {font-size:10.5px;line-height:1.4;}

  /* Shared mobile headings */
  #root .home-page h2 {font-size:clamp(29px,8.5vw,36px);line-height:1.02;letter-spacing:-.045em;margin-bottom:16px;}
  #root .home-page .home-eyebrow {gap:10px;margin-bottom:10px;font-size:8px;letter-spacing:1.8px;}
  #root .home-eyebrow:before {width:24px;}
  #root .home-page .home-button {min-height:43px;padding:11px 14px;font-size:12px;border-radius:2px;}

  /* About: editorial 2-column mobile composition */
  #root .home-about {background:#fff;}
  #root .home-about-inner {
    grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
    gap:18px 14px;
    padding:44px 18px 36px;
    align-items:start;
  }
  #root .home-about-copy p {font-size:11.5px;line-height:1.45;margin-bottom:16px;}
  #root .home-about-copy .home-button {width:100%;}
  #root .home-team-photo {
    width:100%;
    height:100%;
    min-height:270px;
    max-height:none;
    aspect-ratio:auto;
    object-fit:cover;
    border-radius:4px;
  }
  #root .home-about-stats {
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    padding-top:8px;
  }
  #root .home-about-stats>div,
  #root .home-about-stats>div:first-child {
    min-width:0;
    padding:14px 12px 0!important;
    border-left:1px solid #e3e8ec!important;
  }
  #root .home-about-stats>div:first-child {border-left:0!important;padding-left:0!important;}
  #root .home-about-stats>div:last-child {padding-right:0!important;}
  #root .home-about-stats>div:before {
    position:static;
    display:block;
    width:28px;
    height:28px;
    margin-bottom:8px;
    border-radius:50%;
    background:#fff4c9;
  }
  #root .home-about-stats dt {font-size:11.5px;line-height:1.25;}
  #root .home-about-stats dd {font-size:9.5px;line-height:1.35;margin-top:5px;}

  /* Process: three compact cards across, fourth step hidden on mobile */
  #root .home-process {padding:40px 18px 32px;}
  #root .home-process h2 {margin-bottom:16px;}
  #root .home-process-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }
  #root .home-process-grid>li,
  #root .home-process-grid>li:first-child,
  #root .home-process-grid>li:nth-child(3) {
    min-height:168px;
    padding:13px 11px!important;
    border:1px solid #e7ebef!important;
    background:#fff;
    border-radius:6px;
    box-shadow:0 8px 22px rgba(8,19,34,.045);
  }
  #root .home-process-grid>li:nth-child(4) {display:none;}
  #root .home-step-top {gap:10px;margin-bottom:12px;}
  #root .home-step-top>span {font-size:27px;color:#c8d0d8;}
  #root .home-step-top svg {width:22px;height:22px;}
  #root .home-process-grid h3 {font-size:11.5px;line-height:1.2;margin-bottom:7px;}
  #root .home-process-grid p {font-size:9.5px;line-height:1.35;}
  #root .home-process-grid>li:after {display:none;}

  /* Career becomes a true banner with text over photography */
  #root .home-career {
    position:relative;
    min-height:300px;
    display:grid;
    align-items:end;
    overflow:hidden;
    background:#0c1a27;
  }
  #root .home-career-photo,
  #root .home-career-photo-base {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    object-fit:cover;
    object-position:70% center;
    filter:brightness(.45) saturate(.9);
  }
  #root .home-career-photo-sheen {display:none;}
  #root .home-career-inner {position:relative;z-index:2;padding:34px 18px 26px;}
  #root .home-career h2 {font-size:29px!important;max-width:12ch;margin-bottom:12px;}
  #root .home-career p {max-width:31em;font-size:11px!important;line-height:1.4!important;margin-bottom:16px;}
  #root .home-career .home-button {width:190px;}

}

@media (max-width:430px) {
  #root .home-hero-stage {min-height:590px;}
  #root .home-hero-copy {padding-bottom:238px;}
  #root .home-about-inner {grid-template-columns:1fr 1fr;}
  #root .home-about-copy h2 {font-size:28px;}
  #root .home-team-photo {min-height:250px;}
}

/* === 2026-09-24 mobile hero cleanup === */
@media (max-width:599px) {
  /* Keep the fixed brand visible; clipping the row also clipped the fixed logo. */
  #root .home-brand-row {
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:0;
    overflow:visible;
    clip-path:none;
  }
  #root .home-brand-slot {height:0;overflow:visible;}
  #root .home-brand-slot:before {
    height:64px;
    background:#fff;
    border-bottom:1px solid #e7ebef;
    box-shadow:0 2px 12px rgba(8,19,34,.035);
  }
  #root .home-brand-slot .lexo-brand {
    top:14px;
    left:18px;
    transform:scale(.9);
    transform-origin:left top;
  }

  #root .home-hero-stage {min-height:650px;}
  #root .home-hero-copy {padding:88px 18px 244px;}
  #root .home-hero-eyebrow {display:flex;margin-bottom:12px;}
  #root .home-hero h1 {
    max-width:13ch;
    font-size:clamp(36px,10.4vw,44px);
    line-height:1.01;
    margin-bottom:13px;
  }
  #root .home-hero h1 em {color:#d9a500!important;}
  #root .home-hero-content>p {
    max-width:31em;
    font-size:12.5px;
    line-height:1.45;
  }
  #root .home-hero-actions {margin-top:17px;gap:8px;width:min(100%,232px);}
  #root .home-hero-actions :is(.home-button,.home-text-link) {
    min-height:42px;
    padding:10px 13px;
    font-size:11.5px;
  }
  #root .home-hero-visual {inset:64px 0 0;}
  #root .home-page .home-hero-photo {object-position:58% center;}
  #root .home-hero-visual:before {
    background:linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.89) 29%,rgba(255,255,255,.38) 48%,rgba(255,255,255,.06) 66%,rgba(8,19,34,.05) 100%);
  }
  #root .home-hero-badge {right:14px;bottom:16px;width:212px;padding:13px 16px 13px 31px;}
  #root .home-hero-badge-metric {font-size:25px;}
}
/* === end mobile hero cleanup === */

/* === 2026-09-24 mobile hero refinement II === */
@media (max-width:599px) {
  /* tighter, cleaner top bar */
  #root .home-brand-slot {height:24px;}
  #root .home-brand-slot:before {
    height:56px;
    background:#fff;
    border-bottom:1px solid #edf0f3;
  }
  #root .home-brand-slot .lexo-brand {
    top:10px;
    left:14px;
    transform:scale(.84);
    transform-origin:left top;
  }
  

  /* one composed hero, but with a calmer text zone and more visible photography */
  #root .home-hero-stage {
    min-height:570px;
    background:#fff;
  }
  #root .home-hero-visual {
    inset:56px 0 0;
  }
  #root .home-page .home-hero-photo {
    object-position:61% 52%;
    filter:saturate(.98) contrast(1.015);
  }
  #root .home-hero-visual:before {
    background:
      linear-gradient(180deg,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,.98) 20%,
        rgba(255,255,255,.93) 36%,
        rgba(255,255,255,.70) 48%,
        rgba(255,255,255,.18) 64%,
        rgba(255,255,255,0) 76%),
      linear-gradient(90deg,
        rgba(255,255,255,.52) 0%,
        rgba(255,255,255,.20) 45%,
        rgba(255,255,255,0) 78%);
  }

  #root .home-hero-copy {
    padding:76px 14px 218px;
  }
  #root .home-hero-eyebrow {
    gap:9px;
    margin:0 0 10px;
  }
  #root .home-hero-eyebrow>span {
    width:19px;
    margin-top:6px;
  }
  #root .home-hero-eyebrow strong {
    font-size:7.2px;
    line-height:1.3;
    letter-spacing:1.65px;
  }
  #root .home-hero h1 {
    max-width:none;
    margin:0 0 12px;
    font-size:clamp(29px,7.4vw,35px);
    line-height:1.015;
    letter-spacing:-.052em;
  }
  #root .home-hero h1 span,
  #root .home-hero h1 em {
    display:block;
    white-space:nowrap;
  }
  #root .home-hero-content>p {
    width:min(100%,340px);
    font-size:11.5px;
    line-height:1.42;
  }
  #root .home-hero-actions {
    width:208px;
    gap:8px;
    margin-top:15px;
  }
  #root .home-hero-actions :is(.home-button,.home-text-link) {
    min-height:40px;
    padding:9px 12px;
    font-size:11.5px;
  }
  #root .home-hero-actions :is(.home-button,.home-text-link) svg {
    width:16px;
    height:16px;
  }

  #root .home-hero-badge {
    right:14px;
    bottom:14px;
    width:190px;
    padding:12px 14px 12px 28px;
    box-shadow:0 8px 20px rgba(8,19,34,.10);
  }
  #root .home-hero-badge:before {
    left:11px;
    top:12px;
    bottom:12px;
  }
  #root .home-hero-badge-metric {
    font-size:22px;
    letter-spacing:-.8px;
  }
  #root .home-hero-badge-caption {
    margin-top:3px!important;
    font-size:8.8px!important;
    line-height:1.3!important;
  }
}

@media (max-width:380px) {
  #root .home-hero-stage {min-height:550px;}
  #root .home-hero-copy {padding-left:12px;padding-right:12px;}
  #root .home-hero h1 {font-size:28px;}
  #root .home-hero-content>p {font-size:11px;}
  #root .home-hero-actions {width:196px;}
  #root .home-hero-badge {width:182px;right:12px;}
}
/* === end mobile hero refinement II === */

/* === 2026-09-24 mobile hero structural rebuild: clean copy above image === */
@media (max-width:599px) {
  #root .home-hero-stage {
    display:block !important;
    min-height:0 !important;
    height:auto !important;
    overflow:visible !important;
    background:#fff !important;
  }

  #root .home-hero-copy {
    position:relative !important;
    z-index:2 !important;
    display:block !important;
    padding:82px 18px 24px !important;
    background:#fff !important;
  }

  #root .home-hero-content {
    max-width:100% !important;
  }

  #root .home-hero-eyebrow {
    margin:0 0 13px !important;
    gap:10px !important;
  }
  #root .home-hero-eyebrow > span {
    width:22px !important;
    margin-top:6px !important;
  }
  #root .home-hero-eyebrow strong {
    font-size:7.5px !important;
    line-height:1.3 !important;
    letter-spacing:1.85px !important;
  }

  #root .home-page .home-hero h1 {
    max-width:none !important;
    margin:0 0 13px !important;
    font-size:clamp(35px,9.9vw,42px) !important;
    line-height:1.00 !important;
    font-weight:500 !important;
    letter-spacing:-.05em !important;
    text-wrap:normal !important;
    text-shadow:none !important;
  }
  #root .home-page .home-hero h1 > span,
  #root .home-page .home-hero h1 > em {
    display:block !important;
    white-space:nowrap !important;
  }
  #root .home-page .home-hero h1 > em {
    color:#d9a500 !important;
  }

  #root .home-hero-content > p {
    max-width:31em !important;
    font-size:12px !important;
    line-height:1.42 !important;
    color:#586677 !important;
  }

  #root .home-hero-actions {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:224px !important;
    max-width:100% !important;
    gap:8px !important;
    margin-top:17px !important;
  }
  #root .home-hero-actions :is(.home-button,.home-text-link) {
    width:100% !important;
    min-height:42px !important;
    padding:10px 13px !important;
    font-size:11.5px !important;
    border-radius:2px !important;
  }
  #root .home-hero-actions .home-text-link {
    border:1px solid #bdc6ce !important;
    background:#fff !important;
  }

  /* Photo is a separate visual block, no longer a background behind the copy. */
  #root .home-hero-visual {
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:clamp(300px,72vw,350px) !important;
    overflow:hidden !important;
    background:#dbe2e6 !important;
  }
  #root .home-page .home-hero-photo {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:58% 54% !important;
  }
  #root .home-hero-visual::before {
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    pointer-events:none !important;
    background:linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 28%,rgba(8,19,34,.04) 100%) !important;
  }
  #root .home-hero-visual::after {display:none !important;}

  #root .home-hero-badge {
    left:auto !important;
    right:16px !important;
    bottom:16px !important;
    width:202px !important;
    max-width:calc(100% - 32px) !important;
    padding:13px 15px 13px 30px !important;
    border:1px solid rgba(8,19,34,.12) !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 10px 24px rgba(8,19,34,.10) !important;
    backdrop-filter:blur(8px) !important;
  }
  #root .home-hero-badge:before {
    left:12px !important;
    top:13px !important;
    bottom:13px !important;
  }
  #root .home-hero-badge-metric {
    font-size:24px !important;
    line-height:1.05 !important;
  }
  #root .home-hero-badge-caption {
    margin-top:4px !important;
    font-size:9.5px !important;
    line-height:1.3 !important;
  }
}

@media (max-width:430px) {
  #root .home-hero-copy {padding:78px 14px 22px !important;}
  #root .home-page .home-hero h1 {font-size:clamp(33px,9.5vw,39px) !important;}
  #root .home-hero-actions {width:214px !important;}
  #root .home-hero-visual {height:310px !important;}
  #root .home-hero-badge {right:12px !important;bottom:12px !important;width:194px !important;}
}
/* === end mobile hero structural rebuild === */

/* === 2026-09-24 process section cleanup === */
#root .home-process {
  padding-block:56px 60px;
}
#root .home-process h2 {
  max-width:560px;
  margin-bottom:34px;
}
#root .home-process-grid {
  align-items:start;
}
#root .home-process-grid > li {
  padding-top:2px;
}
#root .home-step-top {
  justify-content:flex-start!important;
  gap:12px!important;
  margin-bottom:18px!important;
}
#root .home-step-top > span {
  font-size:30px!important;
  line-height:1!important;
  font-weight:650!important;
  letter-spacing:-.035em!important;
  color:#cfd6dd!important;
}
#root .home-step-top svg {
  width:24px!important;
  height:24px!important;
  color:var(--home-gold)!important;
  flex:none;
}
#root .home-process-grid > li:hover .home-step-top > span {
  color:#cfd6dd!important;
  transform:none!important;
}
#root .home-process-grid h3 {
  margin-bottom:8px;
  font-size:17px;
}
#root .home-process-grid p {
  max-width:29em;
  font-size:13.5px;
  line-height:1.5;
}

@media (max-width:599px) {
  #root .home-step-top > span {
    font-size:26px!important;
    color:#cfd6dd!important;
    letter-spacing:-.035em!important;
  }
  #root .home-step-top svg {
    width:21px!important;
    height:21px!important;
  }
}
/* === end process section cleanup === */

/* === 2026-09-24 mobile audit pass — readable, single-column rhythm === */
@media (max-width:599px) {
  /* Consistent mobile section rhythm */
  #root .home-page .home-container {padding-inline:18px;}
  #root .home-page .home-eyebrow {margin-bottom:10px;}

  /* Benefits: use clear rows, not cramped 2x2 tiles. */
  #root .home-benefits {
    grid-template-columns:1fr;
    gap:0;
    padding:8px 18px 18px;
  }
  #root .home-benefits>div,
  #root .home-benefits>div:first-child,
  #root .home-benefits>div:nth-child(3) {
    display:grid;
    grid-template-columns:44px minmax(0,1fr);
    align-items:center;
    gap:12px;
    min-height:0;
    padding:13px 0!important;
    border:0!important;
    border-top:1px solid #e8ecef!important;
    border-radius:0;
    background:#fff;
  }
  #root .home-benefits>div:first-child {border-top:0!important;}
  #root .home-benefit-icon {
    width:40px;
    height:40px;
    margin:0;
  }
  #root .home-benefit-icon svg {width:20px;height:20px;}
  #root .home-benefits h3 {font-size:13px;line-height:1.25;margin:0 0 3px;}
  #root .home-benefits p {font-size:10.5px;line-height:1.35;}

  /* About: full-width editorial layout. Two narrow columns made both copy and photo too small. */
  #root .home-about-inner {
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
    padding:38px 18px 34px;
  }
  #root .home-about-copy {min-width:0;}
  #root .home-about-copy h2 {
    max-width:12ch!important;
    font-size:30px!important;
    line-height:1.02!important;
    margin-bottom:14px!important;
  }
  #root .home-about-copy p {
    max-width:38em;
    margin-bottom:16px;
    font-size:12px;
    line-height:1.48;
  }
  #root .home-about-copy .home-button {
    width:auto;
    min-width:176px;
  }
  #root .home-team-photo {
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    aspect-ratio:16/10;
    object-fit:cover;
    object-position:center 46%;
    border-radius:4px;
  }
  #root .home-about-stats {
    grid-column:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    padding:2px 0 0;
  }
  #root .home-about-stats>div,
  #root .home-about-stats>div:first-child {
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:12px;
    min-width:0;
    padding:13px 0!important;
    border:0!important;
    border-top:1px solid #e6ebef!important;
  }
  #root .home-about-stats>div:first-child {border-top:0!important;}
  #root .home-about-stats>div:before {display:none!important;}
  #root .home-about-stats dt {
    display:contents;
    font-size:13px;
    line-height:1.25;
  }
  #root .home-about-strength-icon {
    grid-column:1;
    grid-row:1/3;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    align-self:center;
    border-radius:50%;
    background:#fff4c9;
    color:#c99500;
  }
  #root .home-about-strength-icon svg {width:20px;height:20px;}
  #root .home-about-stats dt>span:not(.home-about-strength-icon) {
    grid-column:2;
    grid-row:1;
    align-self:end;
    font-weight:650;
    color:var(--home-ink);
  }
  #root .home-about-stats dd {
    grid-column:2;
    grid-row:2;
    margin:3px 0 0;
    font-size:10.5px;
    line-height:1.35;
  }

  /* Process: every step remains visible and readable; one card per row. */
  #root .home-process {padding:38px 18px 34px;}
  #root .home-process h2 {
    max-width:12ch!important;
    font-size:30px!important;
    line-height:1.02!important;
    margin-bottom:16px!important;
  }
  #root .home-process-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  #root .home-process-grid>li,
  #root .home-process-grid>li:first-child,
  #root .home-process-grid>li:nth-child(3),
  #root .home-process-grid>li:nth-child(4) {
    display:grid!important;
    grid-template-columns:78px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:14px;
    row-gap:2px;
    align-items:center;
    min-height:92px;
    padding:13px 14px!important;
    border:1px solid #e7ebef!important;
    border-radius:5px;
    background:#fff;
    box-shadow:0 6px 18px rgba(8,19,34,.035);
  }
  #root .home-step-top {
    grid-column:1;
    grid-row:1/3;
    display:flex;
    align-items:center;
    justify-content:flex-start!important;
    gap:9px;
    margin:0;
  }
  #root .home-step-top>span {
    font-size:25px!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:-.035em!important;
    color:#c9d1d9!important;
  }
  #root .home-step-top svg {width:21px;height:21px;flex:none;color:#c99500;}
  #root .home-process-grid h3 {
    grid-column:2;
    grid-row:1;
    align-self:end;
    margin:0 0 3px;
    font-size:13px;
    line-height:1.2;
  }
  #root .home-process-grid p {
    grid-column:2;
    grid-row:2;
    align-self:start;
    font-size:10.5px;
    line-height:1.35;
  }
  #root .home-process-grid>li:after {display:none!important;}

  /* Career/contact/footer: avoid tiny two-column squeeze. */
  #root .home-career {min-height:290px;}
  #root .home-career-inner {padding:30px 18px 24px;}
  #root .home-career h2 {font-size:28px!important;line-height:1.02!important;}
  #root .home-career p {font-size:11px!important;line-height:1.42!important;}
}

@media (max-width:380px) {
  #root .home-about-copy h2,
  #root .home-process h2 {font-size:28px!important;}
  #root .home-process-grid>li,
  #root .home-process-grid>li:first-child,
  #root .home-process-grid>li:nth-child(3),
  #root .home-process-grid>li:nth-child(4) {grid-template-columns:72px minmax(0,1fr);padding-inline:12px!important;}
  #root .home-step-top>span {font-size:23px!important;}
}
/* === end mobile audit pass === */

/* === 2026-09-24 about strengths icon sizing guard === */
#root .home-about-stats>div:before {display:none!important;}
#root .home-about-stats dt {
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  align-items:center;
  column-gap:12px;
  min-width:0;
}
#root .home-about-strength-icon {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff4c9;
  color:#c99500;
  flex:none;
  overflow:hidden;
}
#root .home-about-strength-icon svg {
  display:block!important;
  width:20px!important;
  height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  color:currentColor!important;
  stroke:currentColor;
}
#root .home-about-stats dt>span:not(.home-about-strength-icon) {
  min-width:0;
}
#root .home-about-stats dd {
  margin-left:52px;
}

@media (max-width:599px) {
  #root .home-about-stats>div,
  #root .home-about-stats>div:first-child {
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:12px;
  }
  #root .home-about-stats dt {
    display:contents;
  }
  #root .home-about-strength-icon {
    grid-column:1;
    grid-row:1/3;
    width:38px;
    height:38px;
    align-self:center;
  }
  #root .home-about-strength-icon svg {
    width:20px!important;
    height:20px!important;
    max-width:20px!important;
    max-height:20px!important;
    min-width:20px!important;
    min-height:20px!important;
  }
  #root .home-about-stats dt>span:not(.home-about-strength-icon) {
    grid-column:2;
    grid-row:1;
    align-self:end;
  }
  #root .home-about-stats dd {
    grid-column:2;
    grid-row:2;
    margin:3px 0 0;
  }
}
/* === end about strengths icon sizing guard === */

/* === 2026-09-24 final mobile header alignment === */
@media (max-width:599px) {
  /* One clean 56px header: logo and menu share the same optical centre. */
  #root .home-brand-slot:before {
    height:56px !important;
    background:#fff !important;
    border-bottom:1px solid #e7ebef !important;
    box-shadow:none !important;
  }
  #root .home-brand-slot .lexo-brand {
    top:14px !important;
    left:14px !important;
    transform:none !important;
    transform-origin:left top !important;
  }

  /* The EPC eyebrow adds noise on a narrow first screen; desktop keeps it. */
  #root .home-hero-eyebrow {
    display:none !important;
  }

  /* Rebalance the copy after removing the eyebrow. */
  #root .home-hero-copy {
    padding-top:76px !important;
  }
}

@media (max-width:430px) {
  #root .home-hero-copy {padding-top:72px !important;}
}
/* === end final mobile header alignment === */


/* === 2026-09-24 home hero-to-benefits spacing === */
@media (max-width:599px) {
  #root .home-benefits-shell {padding-top:14px!important;}
}
/* === end home hero-to-benefits spacing === */

/* === 2026-09-24 CLEAN SHORT-LAPTOP HERO === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .home-page { --home-short-hero:clamp(500px,calc(100svh - 28px),548px); }
  #root .home-hero-stage {
    grid-template-columns:minmax(0,42%) minmax(0,58%)!important;
    height:auto!important;
    min-height:var(--home-short-hero)!important;
    max-height:none!important;
    overflow:visible!important;
  }
  #root .home-hero-copy {
    display:flex!important;
    flex-direction:column!important;
    min-height:var(--home-short-hero)!important;
    height:auto!important;
    max-height:none!important;
    padding:22px 32px 28px 40px!important;
    gap:0!important;
    overflow:visible!important;
  }
  #root .home-brand-row {min-height:34px!important;flex:none!important;margin:0!important;}
  #root .home-hero-content {align-self:stretch!important;max-width:none!important;width:100%!important;margin-top:22px!important;transform:none!important;overflow:visible!important;}
  #root .home-hero-eyebrow {margin:0 0 8px!important;gap:10px!important;}
  #root .home-hero-eyebrow strong {font-size:8px!important;line-height:1.25!important;letter-spacing:1.7px!important;}
  #root .home-page .home-hero h1 {
    margin:0 0 10px!important;
    font-size:clamp(33px,2.9vw,37px)!important;
    line-height:1.0!important;
    letter-spacing:-.045em!important;
    font-weight:500!important;
    max-width:100%!important;
    overflow:visible!important;
    text-wrap:pretty!important;
  }
  #root .home-page .home-hero h1 > :is(span,em,strong) {
    display:inline!important;
    white-space:normal!important;
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    transition:none!important;
    overflow:visible!important;
  }
  #root .home-page .home-hero h1 > :is(span,em,strong):not(:last-child)::after {content:" ";}
  #root .home-hero-content>p {font-size:12px!important;line-height:1.42!important;max-width:36em!important;}
  #root .home-hero-actions {margin-top:14px!important;gap:10px!important;flex-wrap:nowrap!important;width:min(100%,380px)!important;}
  #root .home-hero-actions :is(.home-button,.home-text-link) {flex:1 1 0!important;width:auto!important;min-width:0!important;min-height:39px!important;padding:8px 11px!important;font-size:10.5px!important;}
  #root .home-hero-visual {align-self:stretch!important;min-height:var(--home-short-hero)!important;height:auto!important;overflow:hidden!important;}
  #root .home-page .home-hero-photo {height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;}
  #root .home-hero-badge {left:24px!important;bottom:22px!important;width:286px!important;max-width:calc(100% - 48px)!important;padding:14px 18px 14px 32px!important;}
  #root .home-hero-badge-metric {font-size:30px!important;}
  #root .home-benefits-shell {padding-top:52px!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .home-page { --home-short-hero:500px; }
  #root .home-hero-copy {padding-top:18px!important;padding-bottom:22px!important;}
  #root .home-hero-content {margin-top:16px!important;}
  #root .home-page .home-hero h1 {font-size:clamp(31px,2.7vw,34px)!important;margin-bottom:8px!important;}
  #root .home-hero-content>p {font-size:11.5px!important;line-height:1.38!important;}
  #root .home-hero-actions {margin-top:11px!important;}
  #root .home-benefits-shell {padding-top:46px!important;}
}
/* === end clean short-laptop hero === */


/* === 2026-09-24 short-laptop breathing room pass === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .home-page { --home-short-hero:clamp(540px,78svh,580px); }
  #root .home-hero-stage {min-height:var(--home-short-hero)!important;}
  #root .home-hero-copy {
    min-height:var(--home-short-hero)!important;
    padding:28px 38px 34px 46px!important;
  }
  #root .home-brand-row {min-height:36px!important;}
  #root .home-hero-content {margin-top:30px!important;}
  #root .home-hero-eyebrow {margin-bottom:12px!important;}
  #root .home-page .home-hero h1 {
    font-size:clamp(32px,2.8vw,38px)!important;
    line-height:1.025!important;
    margin-bottom:16px!important;
  }
  #root .home-hero-content>p {font-size:12.5px!important;line-height:1.5!important;max-width:35em!important;}
  #root .home-hero-actions {margin-top:20px!important;gap:12px!important;width:min(100%,410px)!important;}
  #root .home-hero-actions :is(.home-button,.home-text-link) {min-height:42px!important;padding:10px 13px!important;font-size:11px!important;}
  #root .home-hero-visual {min-height:var(--home-short-hero)!important;}
  #root .home-benefits-shell {padding-top:68px!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .home-page { --home-short-hero:540px; }
  #root .home-hero-copy {padding:24px 36px 30px 44px!important;}
  #root .home-hero-content {margin-top:26px!important;}
  #root .home-page .home-hero h1 {font-size:clamp(30px,2.6vw,34px)!important;margin-bottom:14px!important;}
  #root .home-hero-content>p {font-size:12px!important;line-height:1.46!important;}
  #root .home-hero-actions {margin-top:18px!important;}
  #root .home-benefits-shell {padding-top:58px!important;}
}
/* === end short-laptop breathing room pass === */


/* === 2026-09-24 SHORT VIEWPORT SYSTEM — height-first, width-agnostic === */
@media (min-width:1024px) and (max-height:820px) {
  #root .home-page { --home-short-h:clamp(570px,90svh,650px); }
  #root .home-hero-stage {
    grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
    height:auto!important;
    min-height:var(--home-short-h)!important;
    max-height:none!important;
    overflow:visible!important;
  }
  #root .home-hero-copy {
    display:flex!important;
    flex-direction:column!important;
    min-height:var(--home-short-h)!important;
    height:auto!important;
    padding:30px clamp(40px,3vw,54px) 38px clamp(46px,3.4vw,60px)!important;
    gap:0!important;
    overflow:visible!important;
  }
  #root .home-brand-row {min-height:38px!important;flex:none!important;}
  #root .home-hero-content {
    align-self:stretch!important;
    width:100%!important;
    max-width:560px!important;
    margin-top:clamp(30px,5vh,42px)!important;
    transform:none!important;
    overflow:visible!important;
  }
  #root .home-hero-eyebrow {margin:0 0 12px!important;}
  #root .home-page .home-hero h1 {
    font-size:clamp(32px,5.2vh,44px)!important;
    line-height:1.025!important;
    letter-spacing:-.047em!important;
    margin:0 0 17px!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  #root .home-page .home-hero h1 > :is(span,em,strong) {
    white-space:normal!important;
    overflow:visible!important;
    clip-path:none!important;
  }
  #root .home-hero-content>p {font-size:clamp(12.5px,1.75vh,14px)!important;line-height:1.5!important;max-width:34em!important;}
  #root .home-hero-actions {margin-top:22px!important;gap:12px 18px!important;}
  #root .home-hero-actions :is(.home-button,.home-text-link) {min-height:43px!important;font-size:11px!important;padding:10px 14px!important;}
  #root .home-hero-visual {min-height:var(--home-short-h)!important;height:auto!important;align-self:stretch!important;}
  #root .home-page .home-hero-photo {height:100%!important;object-fit:cover!important;}
  #root .home-benefits-shell {padding-top:72px!important;}
}
@media (min-width:1024px) and (max-height:680px) {
  #root .home-page { --home-short-h:560px; }
  #root .home-hero-copy {padding-top:26px!important;padding-bottom:34px!important;}
  #root .home-hero-content {margin-top:28px!important;}
  #root .home-page .home-hero h1 {font-size:clamp(30px,4.8vh,35px)!important;margin-bottom:15px!important;}
  #root .home-hero-content>p {font-size:12px!important;line-height:1.46!important;}
  #root .home-hero-actions {margin-top:19px!important;}
  #root .home-benefits-shell {padding-top:64px!important;}
}
/* === end short viewport system === */


/* === 2026-09-25 home benefits wrap / laptop balance === */
#root#root .home-page .home-benefits > div {
  align-items:flex-start!important;
}
#root#root .home-page .home-benefits > div > div {
  min-width:0!important;
}
#root#root .home-page .home-benefits :is(h3,p) {
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
#root#root .home-page .home-benefits h3 {
  text-wrap:balance!important;
}

@media (min-width:1200px) and (max-width:1439px) {
  #root#root .home-page .home-benefits > div {
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:12px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #root#root .home-page .home-benefits > div:first-child {padding-left:0!important;}
  #root#root .home-page .home-benefits > div:last-child {padding-right:0!important;}
  #root#root .home-page .home-benefit-icon {
    width:42px!important;
    height:42px!important;
  }
  #root#root .home-page .home-benefit-icon svg {
    width:21px!important;
    height:21px!important;
  }
  #root#root .home-page .home-benefits h3 {
    font-size:14px!important;
    line-height:1.22!important;
    margin-bottom:5px!important;
  }
  #root#root .home-page .home-benefits p {
    font-size:12px!important;
    line-height:1.42!important;
  }
}

@media (min-width:681px) and (max-width:1199px) {
  #root#root .home-page .home-benefits {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    row-gap:24px!important;
  }
  #root#root .home-page .home-benefits > div {
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    column-gap:12px!important;
    align-items:start!important;
  }
  #root#root .home-page .home-benefits h3 {
    font-size:14px!important;
    line-height:1.25!important;
  }
  #root#root .home-page .home-benefits p {
    font-size:12.5px!important;
    line-height:1.45!important;
  }
}

@media (max-width:680px) {
  #root#root .home-page .home-benefits {
    grid-template-columns:1fr!important;
  }
  #root#root .home-page .home-benefits > div {
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:12px!important;
    align-items:start!important;
  }
  #root#root .home-page .home-benefits h3 {
    min-block-size:0!important;
    font-size:13.5px!important;
    line-height:1.25!important;
  }
  #root#root .home-page .home-benefits p {
    font-size:12px!important;
    line-height:1.42!important;
  }
}
/* === end home benefits wrap / laptop balance === */

/* === 2026-09-28 CANONICAL feature-row system ===
   One geometry for proof-strip and About strengths on every breakpoint. */
#root#root .home-page {
  --home-feature-icon:48px;
  --home-feature-gap:14px;
  --home-feature-copy-gap:3px;
}

/* Shared icon treatment. */
#root#root .home-page :is(.home-benefit-icon,.home-about-strength-icon) {
  width:var(--home-feature-icon)!important;
  height:var(--home-feature-icon)!important;
  display:grid!important;
  place-items:center!important;
  align-self:start!important;
  margin:0!important;
  border-radius:50%!important;
  background:#fff4c9!important;
  color:#c99500!important;
  flex:none!important;
}
#root#root .home-page :is(.home-benefit-icon,.home-about-strength-icon) svg {
  width:50%!important;
  height:50%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  color:currentColor!important;
  stroke:currentColor!important;
}

/* Proof strip: icon + one compact text column. */
#root#root .home-page .home-benefits > div {
  display:grid!important;
  grid-template-columns:var(--home-feature-icon) minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:var(--home-feature-gap)!important;
}
#root#root .home-page .home-benefits > div > div {
  display:grid!important;
  align-content:start!important;
  row-gap:var(--home-feature-copy-gap)!important;
  min-width:0!important;
}
#root#root .home-page .home-benefits h3,
#root#root .home-page .home-benefits p {
  margin:0!important;
  transform:none!important;
}
#root#root .home-page .home-benefits h3 {
  line-height:1.2!important;
}
#root#root .home-page .home-benefits p {
  line-height:1.42!important;
}

/* About strengths: exactly the same icon/title/copy rhythm. */
#root#root .home-page .home-about-stats > div,
#root#root .home-page .home-about-stats > div:first-child {
  display:grid!important;
  grid-template-columns:var(--home-feature-icon) minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:start!important;
  column-gap:var(--home-feature-gap)!important;
  row-gap:var(--home-feature-copy-gap)!important;
}
#root#root .home-page .home-about-stats dt {
  display:contents!important;
}
#root#root .home-page .home-about-strength-icon {
  grid-column:1!important;
  grid-row:1 / 3!important;
}
#root#root .home-page .home-about-stats dt > span:not(.home-about-strength-icon) {
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  margin:0!important;
  line-height:1.2!important;
}
#root#root .home-page .home-about-stats dd {
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  margin:0!important;
  line-height:1.42!important;
}

/* Same geometry at every responsive size; only scale changes. */
@media (max-width:1199px) {
  #root#root .home-page {
    --home-feature-icon:44px;
    --home-feature-gap:13px;
    --home-feature-copy-gap:3px;
  }
}

@media (max-width:680px) {
  #root#root .home-page {
    --home-feature-icon:40px;
    --home-feature-gap:12px;
    --home-feature-copy-gap:2px;
  }

  #root#root .home-page .home-benefits h3,
  #root#root .home-page .home-about-stats dt > span:not(.home-about-strength-icon) {
    line-height:1.18!important;
  }

  #root#root .home-page .home-benefits p,
  #root#root .home-page .home-about-stats dd {
    line-height:1.36!important;
  }
}
/* === end CANONICAL feature-row system === */
#root .home-page .hp-slider {padding-block:64px 62px;min-width:0;background:#fff;}
#root .home-page .hp-heading {display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:24px;}
#root .home-page .hp-heading>div {min-width:0;}
#root .home-page .hp-heading h2 {margin:0;}
#root .home-page .hp-heading>.home-text-link {flex:none;font-size:13px;white-space:nowrap;gap:28px;}
#root .home-page .hp-stage {max-width:var(--home-max,1760px);}
#root .hp-viewport {--hp-visible:3;--hp-gap:28px;--hp-photo-height:clamp(260px,23vw,370px);overflow:clip;touch-action:pan-y pinch-zoom;}
#root .hp-track {display:flex;align-items:flex-start;gap:var(--hp-gap);width:100%;transform:translate3d(var(--hp-offset),0,0);will-change:transform;}
#root .hp-track.is-moving {transition:transform var(--hp-duration) cubic-bezier(.22,.68,.2,1);}
#root .hp-card {flex:none;min-width:0;margin:0;padding-top:0;background:#fff;border:0;transition:width var(--hp-card-duration) cubic-bezier(.22,.68,.2,1);}
#root .home-page .hp-open {position:relative;display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:#081322;text-align:left;cursor:pointer;}
#root .hp-media {
  display:block;
  width:100%;
  height:var(--hp-photo-height);
  overflow:hidden;
}

#root .hp-media {
  display:block;
  width:100%;
  height:var(--hp-photo-height);
  overflow:hidden;
}

#root .home-page .hp-media img {
  display:block;
  width:100%;
  max-width:none;
  height:100%;
  object-fit:cover;
  transform:none;
}
#root .hp-card-copy {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:238px;
  padding:22px 58px 20px 0;
  transform:none;
}

#root .home-page .hp-card-title {display:block;font-size:clamp(19px,1.55vw,25px);line-height:1.25;letter-spacing:-.025em;font-weight:600;color:#081322;}
#root .home-page .hp-power {display:block;margin-top:8px;font-size:clamp(18px,1.4vw,22px);line-height:1.3;font-weight:400;color:#b58a00;}
#root .home-page .hp-description {display:block;max-width:42em;margin-top:12px;font-size:15px;line-height:1.5;font-weight:400;color:#667180;}
#root .hp-card-arrow {position:absolute;right:0;top:26px;width:44px;height:44px;border:1px solid #c2cbd4;border-radius:50%;display:grid;place-items:center;transition:background-color .25s,border-color .25s;}
#root .hp-card-arrow svg {display:block;width:22px;height:22px;}
#root .hp-open:hover .hp-card-arrow,#root .hp-open:focus-visible .hp-card-arrow {background:#ffd400;border-color:#ffd400;}
#root .home-page .hp-open:focus-visible {outline:2px solid #b58a00;outline-offset:-2px;}
#root .home-page .hp-card.is-expanded .hp-media img {
  height:100%;
  transform:none;
}


#root .hp-card.is-expanded .hp-card-title {
  font-size:clamp(19px,1.55vw,25px);
}

#root .hp-card.is-expanded .hp-card-copy {transform:none;}
#root .home-page .hp-controls {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin-top:24px;}
#root .hp-signature {font-size:9px;line-height:1.8;letter-spacing:2.5px;font-weight:500;color:#8290a0;}
#root .hp-pagination {display:flex;align-items:center;gap:28px;}
#root .home-page .hp-control {display:grid;place-items:center;width:48px;height:48px;background:transparent;color:#081322;border:1px solid #c2cbd4;border-radius:50%;padding:0;flex:none;cursor:pointer;transition:background-color .28s ease,border-color .28s ease,box-shadow .28s ease;}
#root .home-page .hp-control:hover {background:#ffd400;border-color:#ffd400;box-shadow:0 7px 18px rgba(8,19,34,.08);}
#root .hp-control svg {width:22px;height:22px;display:block;}
#root .hp-previous svg {transform:rotate(180deg);}
#root .hp-positions {display:flex;align-items:center;gap:10px;}
#root .home-page .hp-positions button {display:grid;place-items:center;width:36px;height:44px;padding:0;border:0;border-radius:0;background:none;cursor:pointer;}
#root .hp-positions button:after {content:'';width:100%;height:1px;background:#c4cbd2;transition:background-color .2s,height .2s;}
#root .hp-positions button[aria-current]:after {height:3px;background:#d6a500;}
#root .hp-status {display:flex;justify-content:flex-end;align-items:center;gap:12px;}
#root .hp-count {font-size:11px;font-weight:600;letter-spacing:1.5px;white-space:nowrap;font-variant-numeric:tabular-nums;color:#081322;}
#root .hp-count>span {color:#8290a0;font-weight:400;margin-left:5px;}
@media(min-width:1760px) {
  #root .home-page .hp-heading,#root .home-page .hp-controls {max-width:var(--home-max,1760px);}
}
@media(max-width:1199px) {
  #root .hp-media {height:var(--hp-photo-height);}
  #root .home-page .hp-media img {transform:none;}
  #root .hp-card-copy {transform:none;}
  #root .hp-card-copy {padding-right:0;padding-bottom:14px;min-height:238px;}
  #root .hp-card-arrow {position:static;margin-top:18px;}
  #root .hp-pagination {gap:18px;}
  #root .hp-signature {letter-spacing:1.5px;}
}
@media(max-width:1023px) {
  #root .home-page .hp-slider {padding-block:52px 56px;}
  #root .hp-viewport {--hp-visible:2;--hp-gap:24px;--hp-photo-height:310px;}
  #root .hp-card {padding-top:16px;}
  #root .hp-card-copy {min-height:250px;}
  #root .home-page .hp-card-title {font-size:22px;}
  #root .hp-signature {display:none;}
  #root .home-page .hp-controls {grid-template-columns:1fr auto;gap:16px;}
  #root .hp-pagination {justify-content:flex-start;}
}
@media(max-width:767px) {
  #root .home-page .hp-heading {flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:22px;}
  #root .hp-viewport {--hp-photo-height:270px;}
  #root .home-page .hp-heading>.home-text-link {font-size:13px;}
  #root .home-page .hp-card-title {font-size:20px;}
}
@media(max-width:599px) {
  #root .hp-viewport {--hp-visible:1;--hp-gap:20px;--hp-photo-height:clamp(250px,78vw,370px);}
  #root .hp-card {padding-top:0;}
  #root .hp-card-copy {min-height:222px;padding:20px 54px 24px 0;}
  #root .hp-card-arrow {position:absolute;top:23px;margin:0;width:40px;height:40px;}
  #root .home-page .hp-card-title {font-size:23px;}
  #root .home-page .hp-description {font-size:14px;}
  #root .home-page .hp-controls {grid-template-columns:1fr;margin-top:8px;gap:14px;}
  #root .hp-pagination {justify-content:space-between;gap:14px;}
  #root .hp-positions {gap:8px;flex:1;justify-content:center;}
  #root .home-page .hp-positions button {width:clamp(20px,6vw,32px);}
  #root .home-page .hp-control {width:44px;height:44px;}
  #root .hp-status {justify-content:center;}
}
@media(prefers-reduced-motion:reduce) {
  #root .hp-track,#root .hp-card,#root .hp-media,#root .hp-media img {transition:none!important;}
}

/* Project cards expand smoothly on desktop hover; media and controls keep subtle micro-interactions. */
#root .home-page .hp-media img {
  transition:scale .45s cubic-bezier(.22,.8,.2,1),filter .45s ease;
  will-change:scale;
}
#root .hp-open:hover .hp-media img,
#root .hp-open:focus-visible .hp-media img {
  scale:1.025;
  filter:saturate(1.035) contrast(1.015);
}
#root .hp-card-arrow svg {
  transition:opacity .22s ease;
}
#root .hp-open:hover .hp-card-arrow svg,
#root .hp-open:focus-visible .hp-card-arrow svg {opacity:.82;}
#root .hp-heading .home-text-link:hover svg {transform:none;}

/* Animated position rail: the active segment fills during autoplay. */
#root .home-page .hp-positions button {position:relative;}
#root .home-page .hp-positions button:before,
#root .home-page .hp-positions button:after {
  content:'';
  position:absolute;
  left:0;
  width:100%;
  height:1px;
}
#root .home-page .hp-positions button:before {background:#c4cbd2;}
#root .home-page .hp-positions button:after {
  background:#d6a500;
  transform:scaleX(0);
  transform-origin:left center;
  transition:none;
}
#root .hp-slider.is-autoplaying .hp-positions button[aria-current]:after {
  height:2px;
  animation:hpProgressFill var(--hp-autoplay-delay, 13000ms) linear both;
}
@keyframes hpProgressFill {
  from {transform:scaleX(0);}
  to {transform:scaleX(1);}
}

/* The numerical position change is intentionally tiny. */
@keyframes hpCountChange {
  from {opacity:0;transform:translateY(5px);}
  to {opacity:1;transform:none;}
}
#root .hp-count {animation:hpCountChange .28s ease both;}

@media(prefers-reduced-motion:reduce) {
  #root .home-page .hp-media img {scale:1!important;filter:none!important;}
  #root .hp-count,#root .hp-positions button:after {animation:none!important;}
}

/* Slider arrows stay optically centered on hover. */
#root .hp-slider .hp-card-arrow,
#root .hp-slider .hp-control {transform:none;}
#root .hp-slider .hp-control:not(.hp-previous) svg {transform:none;}
#root .hp-slider .hp-previous svg {transform:rotate(180deg);}
/* === 2026-09-15 balance pass: projects share the wide grid === */
@media (min-width:1200px) {
  #root .home-page .hp-slider {padding-block:72px 66px;}
  #root .home-page .hp-heading,
  #root .home-page .hp-stage,
  #root .home-page .hp-controls {
    width:100%;
    max-width:none;
    margin-inline:0;
  }
  #root .home-page .hp-heading {margin-bottom:26px;}
  #root .hp-viewport {
    --hp-gap:22px;
    --hp-photo-height:clamp(300px,22vw,420px);
  }
}


/* === 2026-09-15 refinement: keep projects visibly narrower than the page grid === */
@media (min-width:1200px) {
  #root .home-page .hp-heading,
  #root .home-page .hp-stage,
  #root .home-page .hp-controls {
    width:calc(100% - clamp(180px,14vw,280px));
    max-width:1450px;
    margin-inline:auto;
    padding-inline:0;
  }
  #root .hp-viewport {
    --hp-gap:24px;
    --hp-photo-height:clamp(275px,18.5vw,345px);
  }
}

/* === 2026-09-16 slider motion refinement === */
#root .hp-card-copy>*{transition:transform .3s cubic-bezier(.22,.75,.2,1),opacity .3s ease}
@media(hover:hover) and (pointer:fine){#root .hp-open:hover .hp-card-title{transform:translateY(-2px)}#root .hp-open:hover .hp-description{transform:translateY(-1px)}#root .hp-open:hover .hp-card-arrow{transform:translateX(3px)}}
#root .hp-card-arrow{transition:background-color .25s,border-color .25s,transform .25s cubic-bezier(.22,.75,.2,1)}
#root .hp-slider.is-in-view .hp-media{animation:hpMediaSettle .65s cubic-bezier(.22,.75,.2,1) both}@keyframes hpMediaSettle{from{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#root .hp-slider.is-in-view .hp-media{animation:none!important}#root .hp-card-copy>*,#root .hp-card-arrow{transition:none!important}}

/* === 2026-09-24 mobile slider redesign === */
@media (max-width:599px) {
  #root .home-page .hp-slider {padding:38px 0 32px;background:#f8fafb;}
  #root .home-page .hp-heading {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:10px;
    margin-bottom:14px;
    padding-inline:18px;
  }
  #root .home-page .hp-heading>div {min-width:0;}
  #root .home-page .hp-heading h2 {font-size:31px;line-height:1.0;margin:0;max-width:10ch;}
  #root .home-page .hp-heading>.home-text-link {display:none;}
  #root .home-page .hp-stage {padding-inline:18px;}
  #root .hp-viewport {--hp-visible:1;--hp-gap:14px;--hp-photo-height:210px;overflow:hidden;}
  #root .hp-card {padding:0;}
  #root .home-page .hp-open {
    overflow:hidden;
    border:1px solid #e4e9ed;
    border-radius:6px;
    background:#fff;
    box-shadow:0 10px 28px rgba(8,19,34,.065);
  }
  #root .hp-media {height:210px;}
  #root .hp-card-copy {min-height:138px;padding:14px 58px 15px 16px;}
  #root .home-page .hp-card-title {font-size:16px;line-height:1.2;}
  #root .home-page .hp-power {margin-top:4px;font-size:16px;line-height:1.2;font-weight:600;color:#c59200;}
  #root .home-page .hp-description {margin-top:5px;font-size:10.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  #root .hp-card-arrow {
    position:absolute;
    right:14px;
    top:16px;
    width:38px;
    height:38px;
    margin:0;
    border:0;
    border-radius:50%;
    background:#ffd400;
  }
  #root .hp-card-arrow svg {width:19px;height:19px;}
  #root .home-page .hp-controls {
    grid-template-columns:1fr;
    gap:8px;
    margin:10px 0 0;
    padding-inline:18px;
  }
  #root .hp-pagination {justify-content:center;gap:8px;}
  #root .home-page .hp-control {display:none;}
  #root .hp-positions {gap:8px;flex:0 0 auto;}
  #root .home-page .hp-positions button {width:14px;height:18px;}
  #root .home-page .hp-positions button:before,
  #root .home-page .hp-positions button:after {left:3px;width:8px;height:8px;border-radius:50%;}
  #root .home-page .hp-positions button:before {background:#dbe1e6;}
  #root .home-page .hp-positions button:after {background:#ffd400;transform:scale(0);}
  #root .hp-slider.is-autoplaying .hp-positions button[aria-current]:after {height:8px;animation:none;transform:scale(1);}
  #root .hp-status {display:none;}
}

/* === 2026-09-24 laptop section rhythm ===
   The proof strip already carries its own bottom spacing, so the projects section
   should not add another desktop-sized 72px gap on smaller laptops. */
@media (min-width:1024px) and (max-width:1199px) {
  #root .home-page .hp-slider {padding-top:42px!important;}
}
@media (min-width:1200px) and (max-width:1279px) {
  #root .home-page .hp-slider {padding-top:46px!important;}
}
@media (min-width:1280px) and (max-width:1439px) {
  #root .home-page .hp-slider {padding-top:50px!important;}
}
/* === end laptop section rhythm === */


/* === 2026-09-25 fixed projects section eyebrow === */
#root#root .home-page .hp-heading .home-eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  width:fit-content!important;
  margin:0 0 14px!important;
  color:#6f7b88!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
}
#root#root .home-page .hp-heading .home-eyebrow::before {
  content:""!important;
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:1px!important;
  flex:0 0 24px!important;
  margin:0!important;
  background:#ffd400!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}
@media (max-width:680px) {
  #root#root .home-page .hp-heading .home-eyebrow {gap:12px!important;letter-spacing:2.6px!important;margin-bottom:12px!important;}
  #root#root .home-page .hp-heading .home-eyebrow::before {width:22px!important;min-width:22px!important;flex-basis:22px!important;}
}
/* === end fixed projects section eyebrow === */


/* === 2026-09-25 project-card arrow alignment polish === */
#root .home-page .hp-card-arrow{
  width:40px;
  height:40px;
}
#root .home-page .hp-card-arrow svg{
  width:19px;
  height:19px;
}
@media (max-width:1199px) and (min-width:600px){
  #root .home-page .hp-card-arrow{
    width:36px;
    height:36px;
    margin-top:14px;
  }
  #root .home-page .hp-card-arrow svg{
    width:18px;
    height:18px;
  }
}
@media (max-width:599px){
  #root .home-page .hp-card-arrow{
    top:12px;
    right:14px;
    width:34px;
    height:34px;
    margin:0;
  }
  #root .home-page .hp-card-arrow svg{
    width:17px;
    height:17px;
  }
}
@media (max-width:380px){
  #root .home-page .hp-card-arrow{
    top:11px;
    right:12px;
    width:32px;
    height:32px;
  }
  #root .home-page .hp-card-arrow svg{
    width:16px;
    height:16px;
  }
}
/* === end project-card arrow alignment polish === */

/* === 2026-09-25 arrow hover clip fix === */
@media (hover:hover) and (pointer:fine){
  #root .home-page .hp-open:hover .hp-card-arrow,
  #root .home-page .hp-open:focus-visible .hp-card-arrow{
    transform:none!important;
  }
}
/* === end arrow hover clip fix === */


/* === 2026-09-25 compact project slider vertical rhythm === */
#root#root .home-page .hp-card-copy{
  height:auto!important;
  min-height:150px!important;
  padding-bottom:10px!important;
}
#root#root .home-page .hp-controls{
  margin-top:12px!important;
}
@media (min-width:681px) and (max-width:1199px){
  #root#root .home-page .hp-card-copy{
    min-height:138px!important;
    padding-bottom:8px!important;
  }
  #root#root .home-page .hp-controls{margin-top:10px!important;}
}
@media (max-width:680px){
  #root#root .home-page .hp-card-copy{
    height:auto!important;
    min-height:0!important;
  }
}
/* === end compact project slider vertical rhythm === */
.company-page {
  --company-rail: var(--lexo-rail-width, clamp(96px, 6.7vw, 126px));
  --company-max: 1760px;
  --company-gutter: clamp(24px, 3vw, 48px);
  --company-content-gutter: max(
    var(--company-gutter),
    calc((100vw - var(--company-rail) - var(--company-max)) / 2 + var(--company-gutter))
  );
  --company-ink: var(--lexo-ink, #081322);
  --company-muted: var(--lexo-muted, #526071);
  --company-line: var(--lexo-line, #dce2e8);
  --company-yellow: var(--lexo-yellow, #ffd400);
  --company-gold: var(--lexo-gold, #dfa900);
  padding-right: var(--company-rail);
  background: #fff;
  color: var(--company-ink);
  font-family: Arial, Helvetica, sans-serif;
  min-height: 100vh;
}

.company-page *,
.company-page *::before,
.company-page *::after { box-sizing: border-box; }

.company-page section {
  width: 100%;
  max-width: none;
  margin: 0;
}

.company-page :is(h1,h2,h3,p,span,em,button) {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.company-page :is(button,a):focus-visible {
  outline: 2px solid #9b7500;
  outline-offset: 5px;
}

/* HERO — same visual scale and geometry as the home page */
.company-hero {
  display: grid;
  grid-template-columns: minmax(0, 36%) minmax(0, 64%);
  min-height: clamp(520px, 60svh, 620px);
  background: #fff;
}

.company-copy {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 24px;
  min-width: 0;
  padding: 30px clamp(36px, 2.8vw, 52px) 34px clamp(44px, 3.4vw, 60px);
}

.company-brand {
  display: inline-flex;
  align-items: flex-start;
  justify-self: start;
  color: var(--company-ink);
  text-decoration: none;
}


.company-copy-main {
  align-self: center;
  min-width: 0;
  max-width: 620px;
}

.company-kicker,
.company-section-kicker {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 22px;
  color: #617083;
  font-size: 10px;
  line-height: 1.4;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}

.company-kicker::before,
.company-section-kicker::before {
  content: "";
  width: 32px;
  height: 1px;
  flex: none;
  background: var(--company-yellow);
}

.company-copy h1 {
  margin: 0 0 18px;
  max-width: 100%;
  color: var(--company-ink);
  font-size: clamp(42px, 4.2vw, 58px);
  line-height: 1.045;
  font-weight: 500;
  letter-spacing: -.05em;
}

.company-copy h1 span,
.company-copy h1 strong {
  display: block;
}

.company-copy h1 strong {
  color: var(--company-gold);
  font-weight: inherit;
}

.company-copy-main > p {
  max-width: 32em;
  margin: 0;
  color: var(--company-muted);
  font-size: clamp(14px, .88vw, 16px);
  line-height: 1.5;
}

.company-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  margin-top: 24px;
}

.company-primary,
.company-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 220px;
  min-height: 46px;
  max-width: 100%;
  padding: 12px 16px;
  border: 0;
  border-radius: 0;
  color: var(--company-ink);
  background: transparent;
  font: inherit;
  font-size: 13px;
  line-height: 1.4;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

.company-primary { background: var(--company-yellow); }
.company-primary:hover { background: #f3c800; transform: translateY(-1px); }

.company-secondary {
  padding-inline: 0;
  border-bottom: 1px solid #e3bd17;
}
.company-secondary:hover { border-bottom-color: var(--company-ink); transform: translateY(-1px); }

.company-primary svg,
.company-secondary svg {
  width: 18px;
  height: 18px;
  flex: none;
}

.company-photo-wrap {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background: #dfe5e8;
}

.company-hero-video {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  width: calc(100% + var(--company-rail));
  max-width: none;
  height: 100%;
  object-fit: cover;
  object-position: center 52%;
}

.company-video-shade {
  position: absolute;
  inset: 0 calc(var(--company-rail) * -1) 0 0;
  pointer-events: none;
  background: rgba(8,19,34,.11);
}

/* One glass information panel, visually related to the 100+ MWp badge on Home */
.company-floats {
  position: absolute;
  left: clamp(28px, 2.5vw, 46px);
  bottom: 24px;
  width: min(340px, calc(100% - 56px));
  max-width: 340px;
  padding: 8px 20px 8px 38px;
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.88);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 32px rgba(8,19,34,.08);
  z-index: 2;
}

.company-floats::before {
  content: "";
  position: absolute;
  left: 17px;
  top: 18px;
  bottom: 18px;
  width: 2px;
  background: var(--company-yellow);
}

.company-float {
  display: grid;
  grid-template-columns: 22px minmax(0,1fr);
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 10px 0;
  color: var(--company-ink);
}

.company-float + .company-float {
  border-top: 1px solid rgba(8,19,34,.08);
}

.company-float svg {
  width: 21px;
  height: 21px;
  color: var(--company-gold);
}

.company-float span {
  color: #657386;
  font-size: 11px;
  line-height: 1.4;
}

.company-float b {
  display: block;
  margin-bottom: 3px;
  color: var(--company-ink);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 650;
}

/* CAPABILITIES / PROOF STRIP */
.company-features {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  padding: 34px var(--company-content-gutter);
  background: #fff;
}

.company-feature {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  align-items: center;
  gap: 14px;
  min-width: 0;
  padding: 0 clamp(18px, 1.8vw, 30px);
}

.company-feature:first-child { padding-left: 0; }
.company-feature:last-child { padding-right: 0; }

.company-feature:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 18%;
  bottom: 18%;
  width: 1px;
  background: rgba(8,19,34,.075);
}

.company-feature-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff4c9;
  transition: transform .24s ease, background-color .24s ease, box-shadow .24s ease;
}

.company-feature-icon svg {
  width: 24px;
  height: 24px;
  color: var(--company-gold);
  stroke-width: 1.65;
}

.company-feature-copy { min-width: 0; }

.company-feature strong {
  display: block;
  margin: 0 0 4px;
  color: var(--company-ink);
  font-size: clamp(14px, .92vw, 16px);
  line-height: 1.3;
  font-weight: 650;
}

.company-feature p {
  margin: 0;
  color: var(--company-muted);
  font-size: 13px;
  line-height: 1.45;
}

.company-feature:hover .company-feature-icon {
  transform: translateY(-3px);
  background: #fff1bd;
  box-shadow: 0 10px 24px rgba(8,19,34,.06);
}

/* TEAM — editorial blocks, not cards */
.company-team {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 0 clamp(36px, 4vw, 70px);
  padding: 40px var(--company-content-gutter) 42px;
  background: #f6f8fa;
}

.company-team-intro {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: 18px;
}

.company-team-intro .company-section-kicker {
  grid-column: 1 / -1;
}

.company-team h2,
.company-testimonials h2 {
  margin: 0;
  color: var(--company-ink);
  font-size: clamp(30px, 3.1vw, 48px);
  line-height: 1.08;
  font-weight: 500;
  letter-spacing: -.04em;
}

.company-person {
  position: relative;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 160px;
  background: transparent;
  border: 0;
  overflow: visible;
}

.company-person:first-of-type {
  padding-right: clamp(20px, 2vw, 34px);
  border-right: 1px solid rgba(8,19,34,.09);
}

.company-person-photo {
  min-height: 160px;
  background: #eef1f3;
  overflow: hidden;
}

.company-person-photo img {
  display: block;
  width: 100%;
  height: 160px;
  min-height: 0;
  object-fit: cover;
  object-position: center 14%;
  transition: transform .45s cubic-bezier(.22,.75,.2,1);
}

.company-person:hover .company-person-photo img { transform: scale(1.02); }

.company-person-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 8px 0 8px clamp(18px, 1.6vw, 24px);
}

.company-person-role {
  margin-bottom: 7px;
  color: var(--company-gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.company-person h3 {
  margin: 0;
  color: var(--company-ink);
  font-size: clamp(23px, 1.65vw, 30px);
  line-height: 1.1;
  font-weight: 500;
  letter-spacing: -.03em;
}

.company-person-rule {
  width: 38px;
  height: 1px;
  margin: 15px 0 9px;
  background: var(--company-yellow);
}

.company-person a {
  display: flex;
  align-items: center;
  gap: 9px;
  max-width: 100%;
  margin-top: 7px;
  color: #697584;
  font-size: 12px;
  line-height: 1.35;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.company-person a:hover { color: var(--company-ink); }

.company-contact-icon {
  width: 15px;
  height: 15px;
  flex: none;
  color: var(--company-gold);
}

/* TESTIMONIALS — editorial columns like the process section on Home */
.company-testimonials {
  padding: 72px var(--company-content-gutter) 80px;
  background: #fff;
}

.company-testimonials-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 24px;
  margin-bottom: 38px;
}

.company-testimonials-head .company-section-kicker {
  grid-column: 1 / -1;
  margin-bottom: 0;
}

.company-testimonial-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(24px, 2.2vw, 36px);
}

.company-testimonial {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 280px;
  padding: 0;
  border: 0;
  background: transparent;
}

.company-quote-mark {
  color: var(--company-yellow);
  font-size: 40px;
  line-height: .85;
  font-weight: 700;
}

.company-testimonial p {
  flex: 1;
  margin: 18px 0 24px;
  color: #4f5d6b;
  font-size: 14px;
  line-height: 1.65;
}

.company-testimonial-meta {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding-top: 16px;
  border-top: 1px solid rgba(8,19,34,.08);
}

.company-testimonial strong {
  max-width: 82%;
  color: var(--company-ink);
  font-size: 12px;
  line-height: 1.4;
}

.company-testimonial small {
  padding: 4px 7px;
  background: #fff1a6;
  color: var(--company-ink);
  font-size: 11px;
}

.company-testimonial-index {
  position: absolute;
  top: 2px;
  right: 0;
  color: #a8b0b9;
  font-size: 10px;
  letter-spacing: 1px;
}

.company-testimonial:last-child .company-testimonial-index { right: 0; }

/* Same restrained scroll-reveal language as the Home page. */
html:has(.company-page) { scroll-behavior: smooth; }

.company-page [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity .64s ease var(--reveal-delay, 0ms),
    transform .64s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.company-page [data-reveal="fade"] {
  transform: none;
}

.company-page [data-reveal="media"] {
  opacity: 0;
  transform: scale(1.018);
  clip-path: inset(0 3% 0 0);
  transition:
    opacity .78s ease var(--reveal-delay, 0ms),
    transform .9s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms),
    clip-path .86s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms);
  will-change: opacity, transform, clip-path;
}

.company-page [data-reveal].is-visible {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}

.company-feature:nth-child(2) { --reveal-delay: 70ms; }
.company-feature:nth-child(3) { --reveal-delay: 140ms; }
.company-feature:nth-child(4) { --reveal-delay: 210ms; }
.company-person:nth-of-type(2) { --reveal-delay: 90ms; }
.company-testimonial:nth-child(2) { --reveal-delay: 80ms; }
.company-testimonial:nth-child(3) { --reveal-delay: 160ms; }

/* PRESENTATION WRAPPER OVERRIDES */
html:has(#root#root .company-page),
body:has(#root#root .company-page),
#root#root:has(.company-page),
#root#root > .lexo-shell:has(.company-page),
#root#root:has(.company-page) .presentation-main,
#root#root:has(.company-page) .presentation-viewport,
#root#root:has(.company-page) .presentation-frame {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#root#root > .lexo-shell:has(.company-page) {
  display: block !important;
  min-height: 100vh !important;
  background: #fff !important;
  color: var(--company-ink) !important;
}

#root#root > .lexo-shell:has(.company-page) > header,
#root#root > .lexo-shell:has(.company-page) > .story-footer,
#root#root > .lexo-shell:has(.company-page) > .hero-opening-beam {
  display: none !important;
}

#root#root:has(.company-page) .presentation-main,
#root#root:has(.company-page) .presentation-viewport,
#root#root:has(.company-page) .presentation-frame {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  zoom: 1 !important;
  animation: none !important;
}

html:has(#root#root .company-page) { overflow-x: clip !important; }


@media (max-width: 1199px) {
  .company-page {
    --company-gutter: clamp(28px, 4vw, 44px);
    --company-content-gutter: var(--company-gutter);
  }

  .company-hero {
    grid-template-columns: minmax(0, 40%) minmax(0, 60%);
    min-height: 560px;
  }

  .company-copy { padding-left: var(--company-gutter); padding-right: 34px; }
  .company-copy h1 { font-size: clamp(42px, 5vw, 56px); }

  .company-features {
    grid-template-columns: repeat(2, minmax(0,1fr));
    row-gap: 30px;
    padding-block: 40px 34px;
  }
  .company-feature:nth-child(odd) { padding-left: 0; }
  .company-feature:nth-child(even) { padding-right: 0; }
  .company-feature:nth-child(odd)::before { display: none; }

  .company-team { gap: 26px; padding-block: 40px 42px; }
  .company-person { grid-template-columns: 145px 1fr; }

  .company-testimonial-grid { grid-template-columns: 1fr; }
  .company-testimonial {
    min-height: 0;
    padding: 0;
    border: 0;
  }
  .company-testimonial:first-child { padding-top: 0; border-top: 0; }
  .company-testimonial-index,
  .company-testimonial:last-child .company-testimonial-index { top: 28px; right: 0; }
  .company-testimonial:first-child .company-testimonial-index { top: 0; }
}

@media (max-width: 1023px) {
  .company-page { padding-right: 0; }

  .company-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .company-copy {
    min-height: 560px;
    padding: 28px var(--company-gutter) 42px;
  }

  .company-copy-main { max-width: 680px; }
  .company-photo-wrap { height: clamp(380px, 58vw, 540px); }

  .company-hero-video {
    position: relative;
    width: 100%;
    height: 100%;
  }

  .company-video-shade { inset: 0; }
  .company-floats { left: var(--company-gutter); bottom: 24px; }

  .company-team {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .company-person:first-of-type {
    padding-right: 0;
    border-right: 0;
  }
}

@media (max-width: 680px) {
  .company-page { --company-gutter: 22px; }

  .company-copy {
    min-height: 0;
    padding-top: 24px;
  }

  .company-copy h1 {
    font-size: clamp(40px, 11vw, 54px);
    margin-bottom: 18px;
  }

  .company-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
  }

  .company-primary,
  .company-secondary {
    width: 220px;
    max-width: 100%;
  }

  .company-photo-wrap { height: 360px; }

  .company-floats {
    left: 20px;
    right: 20px;
    bottom: 18px;
    width: auto;
    max-width: none;
    padding: 6px 16px 6px 34px;
  }

  .company-floats::before { left: 14px; top: 15px; bottom: 15px; }
  .company-float { min-height: 54px; padding: 8px 0; }

  .company-features {
    grid-template-columns: 1fr;
    row-gap: 24px;
    padding: 38px var(--company-gutter) 32px;
  }

  .company-feature,
  .company-feature:first-child,
  .company-feature:last-child,
  .company-feature:nth-child(odd),
  .company-feature:nth-child(even) {
    padding: 0;
    grid-template-columns: 48px minmax(0,1fr);
  }

  .company-feature::before { display: none !important; }

  .company-team { padding-block: 54px; }
  .company-team h2,
  .company-testimonials h2 { font-size: 36px; }

  .company-person { grid-template-columns: 1fr; }
  .company-person-photo { aspect-ratio: 1.25; min-height: 0; }
  .company-person-photo img { width: 100%; height: 100%; min-height: 0; }
  .company-person-copy { padding: 22px 0 0; }

  .company-testimonials { padding-block: 54px 64px; }
  .company-testimonial { padding-block: 24px; }
}

@media (min-width: 1200px) {
  .company-page {
    --company-max: none;
    --company-gutter: clamp(52px, 5.2vw, 104px);
    --company-content-gutter: var(--company-gutter);
    --company-content-left: clamp(48px, 3.7vw, 76px);
  }

  .company-hero {
    grid-template-columns: minmax(0, 38%) minmax(0, 62%);
    min-height: clamp(600px, 64svh, 720px);
  }

  .company-copy {
    gap: 30px;
    padding: 36px clamp(42px, 3vw, 60px) 48px var(--company-content-left);
  }

  .company-copy-main {
    max-width: 680px;
    transform: translateY(8px);
    container-type: inline-size;
  }

  .company-copy h1 {
    font-size: clamp(50px, 9.7cqi, 72px);
    line-height: 1.035;
    margin-bottom: 24px;
  }

  .company-copy-main > p {
    max-width: 35em;
    font-size: clamp(15px, .95vw, 17px);
    line-height: 1.55;
  }

  .company-actions {
    gap: 16px 24px;
    margin-top: 30px;
  }

  .company-primary,
  .company-secondary {
    width: 244px;
    min-height: 50px;
    padding: 14px 18px;
    font-size: 13px;
    white-space: nowrap;
  }

  .company-secondary { padding-inline: 0; }

  .company-features {
    padding: 56px var(--company-gutter) 34px;
  }

  .company-team,
  .company-testimonials {
    padding-left: var(--company-gutter);
    padding-right: var(--company-gutter);
  }
}

@media (prefers-reduced-motion: reduce) {
  .company-page [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    clip-path: inset(0) !important;
    transition: none !important;
  }

  .company-person-photo img,
  .company-feature-icon,
  .company-primary,
  .company-secondary {
    transition: none !important;
  }
}

/* === 2026-09-16 extra depth & motion === */
.company-photo-wrap.is-visible .company-hero-video{animation:companyVideoSettle 1.15s cubic-bezier(.22,.75,.2,1) both}@keyframes companyVideoSettle{from{transform:scale(1.025);filter:saturate(.94)}to{transform:scale(1);filter:none}}
.company-floats{transition:box-shadow .3s ease,transform .3s cubic-bezier(.22,.75,.2,1)}
@media(hover:hover) and (pointer:fine){.company-floats:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(8,19,34,.11)}.company-person:hover .company-person-copy{transform:translateX(4px)}}
.company-person-copy{transition:transform .3s cubic-bezier(.22,.75,.2,1)}
.company-testimonial{transition:transform .3s cubic-bezier(.22,.75,.2,1)}@media(hover:hover) and (pointer:fine){.company-testimonial:hover{transform:translateY(-4px)}}
.company-quote-mark{transition:transform .3s cubic-bezier(.22,.75,.2,1)}@media(hover:hover) and (pointer:fine){.company-testimonial:hover .company-quote-mark{transform:translateY(-3px) scale(1.04)}}
@media(prefers-reduced-motion:reduce){.company-photo-wrap.is-visible .company-hero-video{animation:none!important}.company-floats,.company-person-copy,.company-testimonial,.company-quote-mark{transition:none!important}}


/* === 2026-09-16 premium motion pass II: masked type + pointer depth === */
.company-page [data-reveal="line"] {
  display:block;opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,22px,0);
  transition:opacity .70s ease var(--reveal-delay,0ms),transform .78s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms),clip-path .78s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms);
}
.company-page [data-reveal="line"].is-visible{opacity:1;transform:none;clip-path:inset(0)}
.company-hero-video{scale:1.012;transition:translate .75s cubic-bezier(.22,.75,.2,1)}
.company-kicker::before,.company-section-kicker::before{transform:scaleX(0);transform-origin:left center;transition:transform .56s cubic-bezier(.22,.75,.2,1) .1s}
.company-kicker.is-visible::before,.company-team-intro.is-visible .company-section-kicker::before,.company-testimonials-head.is-visible .company-section-kicker::before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
 .company-page [data-reveal="line"]{opacity:1!important;transform:none!important;clip-path:inset(0)!important;transition:none!important}
 .company-hero-video{transition:none!important}
 .company-kicker::before,.company-section-kicker::before{transform:scaleX(1)!important;transition:none!important}
}

/* === 2026-09-17 hover clipping guard === */
.company-page [data-reveal].is-visible:not([data-reveal="line"]) {
  clip-path: none !important;
}

.company-features,
.company-feature,
.company-testimonials,
.company-testimonial-grid,
.company-testimonial {
  overflow: visible;
}


/* === 2026-09-17 unified CTA system === */
.company-primary,
.company-secondary {
  min-height:48px;
  font-size:13px!important;
  line-height:1.35;
  font-weight:600!important;
  color:#081322!important;
}
.company-primary {
  background:#ffd400;
  padding:12px 18px;
}
.company-primary:hover { background:#f3c800; }
.company-secondary {
  background:transparent;
  padding:12px 0;
  border-bottom:1px solid #d9b51a;
}
.company-secondary:hover { border-bottom-color:#081322; }
.company-primary svg,
.company-secondary svg {
  width:18px;
  height:18px;
  flex:none;
  stroke-width:1.6;
}


/* === 2026-09-22 final hero typography sync with Home === */
#root .company-page .company-copy h1 {
  margin:0 0 18px!important;
  max-width:100%;
  color:var(--company-ink)!important;
  font-size:clamp(42px,9.1cqi,58px)!important;
  line-height:1.045!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
}
#root .company-page .company-copy h1 :is(span,strong) {
  font-weight:inherit!important;
}
@media (min-width:1200px) {
  #root .company-page .company-copy h1 {
    font-size:clamp(50px,9.7cqi,72px)!important;
    line-height:1.035!important;
    letter-spacing:-.055em!important;
    margin-bottom:24px!important;
  }
}
@media (max-width:599px) {
  #root .company-page .company-copy h1 {
    font-size:clamp(36px,9.2cqi,42px)!important;
    line-height:1.08!important;
    margin-bottom:22px!important;
  }
}

/* === 2026-09-22 unified site heading scale === */
#root .company-page .company-copy h1 {
  max-width:100%!important;
  font-size:var(--lexo-display-1-size)!important;
  line-height:var(--lexo-display-1-line)!important;
  font-weight:var(--lexo-display-1-weight)!important;
  letter-spacing:var(--lexo-display-1-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .company-page .company-copy h1 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
#root .company-page :is(.company-team h2,.company-testimonials h2) {
  max-width:100%!important;
  font-size:var(--lexo-display-2-size)!important;
  line-height:var(--lexo-display-2-line)!important;
  font-weight:var(--lexo-display-2-weight)!important;
  letter-spacing:var(--lexo-display-2-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .company-page :is(.company-team h2,.company-testimonials h2) :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
/* === end unified site heading scale === */

/* === 2026-09-22 hero accent + shared BrandLogo === */
#root .company-page .company-copy h1 .company-title-accent {
  color:var(--company-gold)!important;
}
#root .company-page .company-brand {
  display:inline-flex;
  align-items:center;
  width:fit-content;
}

/* === 2026-09-24 CTA alignment — O nas hero === */
#root .company-page .company-actions .company-secondary {
  padding:12px 18px;
}

/* === 2026-09-24 section rhythm sync with Home === */
@media (min-width:1200px) {
  #root .company-page .company-team {
    padding-top:72px;
    padding-bottom:72px;
  }
}

@media (min-width:681px) and (max-width:1199px) {
  #root .company-page .company-team {
    padding-top:56px;
    padding-bottom:56px;
  }
}

@media (max-width:680px) {
  #root .company-page .company-team {
    padding-top:56px;
    padding-bottom:56px;
  }
}
/* === end section rhythm sync === */

/* === 2026-09-24 O nas benefits strip — more vertical air === */
@media (min-width:1200px) {
  #root .company-page .company-features {
    padding-top:90px;
    padding-bottom:90px;
  }
}

@media (min-width:681px) and (max-width:1199px) {
  #root .company-page .company-features {
    padding-top:68px;
    padding-bottom:68px;
  }
}

@media (max-width:680px) {
  #root .company-page .company-features {
    padding-top:46px;
    padding-bottom:46px;
  }
}
/* === end O nas benefits strip air === */

/* === 2026-09-24 mobile About page pass === */
@media (max-width:599px) {
  .company-page {
    --company-gutter:16px;
    padding-right:0;
    background:#fff;
  }

  /* Same fixed mobile header geometry as Home. */
  .company-copy {
    position:relative;
    display:block;
    min-height:0;
    padding:78px 16px 28px;
    background:#fff;
  }
  .company-copy::before {
    content:"";
    position:fixed;
    z-index:69;
    top:0;
    right:0;
    left:0;
    height:56px;
    background:#fff;
    border-bottom:1px solid #edf0f3;
  }
  .company-brand {
    position:fixed;
    z-index:71;
    top:10px;
    left:14px;
    display:inline-flex!important;
    opacity:1!important;
    transform:scale(.84)!important;
    transform-origin:left top;
    clip-path:none!important;
  }
  

  /* Hero copy first, media second: no text floating over busy video. */
  .company-hero {
    display:block;
    min-height:0;
    background:#fff;
  }
  .company-copy-main {max-width:none;}
  .company-kicker {
    gap:9px;
    margin:0 0 10px;
    font-size:8px;
    line-height:1.25;
    letter-spacing:1.75px;
  }
  .company-kicker::before {width:22px;}
  #root .company-page .company-copy h1 {
    margin:0 0 13px!important;
    max-width:12.5ch!important;
    font-size:clamp(34px,9.4vw,40px)!important;
    line-height:1.015!important;
    letter-spacing:-.052em!important;
    text-wrap:balance;
  }
  .company-copy-main>p {
    max-width:31em;
    font-size:12.5px;
    line-height:1.48;
  }
  .company-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    width:min(100%,240px);
    margin-top:18px;
  }
  .company-primary,
  .company-secondary {
    width:100%;
    min-height:42px;
    padding:10px 13px!important;
    border-radius:2px;
    font-size:11.5px!important;
  }
  .company-secondary {
    border:1px solid #aeb9c4;
    background:#fff;
  }

  .company-photo-wrap {
    position:relative;
    height:300px;
    min-height:300px;
    overflow:hidden;
    background:#dfe5e8;
  }
  .company-hero-video {
    position:absolute;
    inset:0;
    width:100%;
    max-width:none;
    height:100%;
    object-fit:cover;
    object-position:61% center;
    scale:1;
  }
  .company-video-shade {
    inset:0;
    background:linear-gradient(180deg,rgba(8,19,34,0) 52%,rgba(8,19,34,.16) 100%);
  }
  .company-floats {
    left:16px;
    right:16px;
    bottom:12px;
    width:auto;
    max-width:none;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:0;
    border:1px solid rgba(255,255,255,.82);
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 24px rgba(8,19,34,.10);
    backdrop-filter:blur(9px);
  }
  .company-floats::before {display:none;}
  .company-float {
    min-height:76px;
    grid-template-columns:20px minmax(0,1fr);
    gap:8px;
    padding:11px 10px;
  }
  .company-float + .company-float {
    border-top:0;
    border-left:1px solid rgba(8,19,34,.08);
  }
  .company-float svg {width:18px;height:18px;}
  .company-float span {font-size:9px;line-height:1.3;}
  .company-float b {margin-bottom:2px;font-size:11px;line-height:1.2;}

  /* Capabilities read as calm mobile rows, not compressed desktop columns. */
  .company-features {
    grid-template-columns:1fr;
    row-gap:0;
    padding:22px 16px 34px;
    background:#fff;
  }
  .company-feature,
  .company-feature:first-child,
  .company-feature:last-child,
  .company-feature:nth-child(odd),
  .company-feature:nth-child(even) {
    grid-template-columns:40px minmax(0,1fr);
    gap:12px;
    min-height:70px;
    padding:12px 0!important;
    border-top:1px solid #edf0f3;
  }
  .company-feature:first-child {border-top:0;}
  .company-feature::before {display:none!important;}
  .company-feature-icon {
    width:38px;
    height:38px;
    border-radius:50%;
  }
  .company-feature-icon svg {width:19px;height:19px;}
  .company-feature strong {font-size:12.5px;line-height:1.25;margin-bottom:3px;}
  .company-feature p {font-size:10.5px;line-height:1.38;}

  /* Team: compact editorial profile blocks with usable contact targets. */
  .company-team {
    grid-template-columns:1fr;
    gap:18px;
    padding:42px 16px 46px;
    background:#f6f8fa;
  }
  .company-team-intro {margin-bottom:4px;}
  .company-section-kicker {
    gap:9px;
    margin-bottom:10px;
    font-size:8px;
    letter-spacing:1.75px;
  }
  .company-section-kicker::before {width:22px;}
  #root .company-page .company-team h2,
  #root .company-page .company-testimonials h2 {
    font-size:clamp(29px,8vw,34px)!important;
    line-height:1.04!important;
    letter-spacing:-.045em!important;
  }
  .company-person,
  .company-person:first-of-type {
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    min-height:150px;
    padding:0;
    border:1px solid #e2e7eb;
    background:#fff;
    border-radius:2px;
    overflow:hidden;
  }
  .company-person-photo {
    min-height:150px;
    height:100%;
    aspect-ratio:auto;
  }
  .company-person-photo img {
    width:100%;
    height:100%;
    min-height:150px;
    object-fit:cover;
    object-position:center 14%;
  }
  .company-person-copy {
    justify-content:center;
    padding:14px 12px;
  }
  .company-person-role {
    margin-bottom:5px;
    font-size:8px;
    line-height:1.2;
    letter-spacing:.9px;
  }
  .company-person h3 {font-size:18px;line-height:1.08;}
  .company-person-rule {width:30px;margin:10px 0 6px;}
  .company-person a {
    gap:6px;
    margin-top:6px;
    font-size:10.5px;
    line-height:1.3;
    overflow-wrap:anywhere;
  }
  .company-contact-icon {width:13px;height:13px;}

  /* Testimonials: simple reading flow; no tall empty cards. */
  .company-testimonials {
    padding:42px 16px 52px;
    background:#fff;
  }
  .company-testimonials-head {
    display:block;
    margin-bottom:18px;
  }
  .company-testimonial-grid {
    grid-template-columns:1fr;
    gap:0;
  }
  .company-testimonial {
    min-height:0;
    padding:22px 0;
    border-top:1px solid #e6eaee;
  }
  .company-testimonial:first-child {padding-top:16px;border-top:0;}
  .company-quote-mark {font-size:30px;line-height:.8;}
  .company-testimonial p {
    margin:12px 0 16px;
    font-size:12.5px;
    line-height:1.55;
  }
  .company-testimonial-meta {padding-top:12px;gap:12px;}
  .company-testimonial strong {font-size:11px;}
  .company-testimonial small {font-size:9.5px;padding:3px 6px;}
  .company-testimonial-index,
  .company-testimonial:last-child .company-testimonial-index,
  .company-testimonial:first-child .company-testimonial-index {
    top:22px;
    right:0;
    font-size:9px;
  }
  .company-testimonial:first-child .company-testimonial-index {top:16px;}
}

@media (max-width:390px) {
  .company-copy {padding-left:14px;padding-right:14px;}
  #root .company-page .company-copy h1 {font-size:33px!important;}
  .company-photo-wrap {height:282px;min-height:282px;}
  .company-floats {left:12px;right:12px;}
  .company-team,
  .company-testimonials,
  .company-features {padding-left:14px;padding-right:14px;}
  .company-person,
  .company-person:first-of-type {grid-template-columns:104px minmax(0,1fr);}
  .company-person-copy {padding-inline:10px;}
  .company-person h3 {font-size:17px;}
  .company-person a {font-size:10px;}
}
/* === end mobile About page pass === */

/* === 2026-09-24 CLEAN SHORT-LAPTOP HERO === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .company-page { --company-short-hero:clamp(500px,calc(100svh - 28px),548px); }
  #root .company-hero {grid-template-columns:minmax(0,42%) minmax(0,58%)!important;height:auto!important;min-height:var(--company-short-hero)!important;max-height:none!important;overflow:visible!important;}
  #root .company-copy {display:flex!important;flex-direction:column!important;min-height:var(--company-short-hero)!important;height:auto!important;max-height:none!important;padding:22px 32px 28px 40px!important;gap:0!important;overflow:visible!important;}
  #root .company-brand {min-height:34px!important;flex:none!important;margin:0!important;}
  #root .company-copy-main {align-self:stretch!important;max-width:none!important;width:100%!important;margin-top:22px!important;overflow:visible!important;}
  #root .company-kicker {margin:0 0 8px!important;gap:10px!important;font-size:8px!important;line-height:1.25!important;letter-spacing:1.7px!important;}
  #root .company-copy h1 {margin:0 0 10px!important;font-size:clamp(33px,2.9vw,37px)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:500!important;max-width:100%!important;overflow:visible!important;text-wrap:pretty!important;}
  #root .company-copy h1 > :is(span,strong,em) {display:inline!important;white-space:normal!important;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;overflow:visible!important;}
  #root .company-copy h1 > :is(span,strong,em):not(:last-child)::after {content:" ";}
  #root .company-copy-main>p {font-size:12px!important;line-height:1.42!important;max-width:36em!important;}
  #root .company-actions {margin-top:14px!important;gap:10px!important;flex-wrap:nowrap!important;width:min(100%,380px)!important;}
  #root .company-actions :is(.company-primary,.company-secondary) {flex:1 1 0!important;width:auto!important;min-width:0!important;min-height:39px!important;padding:8px 11px!important;font-size:10.5px!important;}
  #root .company-photo-wrap {align-self:stretch!important;min-height:var(--company-short-hero)!important;height:auto!important;overflow:hidden!important;}
  #root .company-hero-video {height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;}
  #root .company-floats {left:24px!important;bottom:22px!important;max-width:286px!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .company-page { --company-short-hero:500px; }
  #root .company-copy {padding-top:18px!important;padding-bottom:22px!important;}
  #root .company-copy-main {margin-top:16px!important;}
  #root .company-copy h1 {font-size:clamp(31px,2.7vw,34px)!important;margin-bottom:8px!important;}
  #root .company-copy-main>p {font-size:11.5px!important;line-height:1.38!important;}
  #root .company-actions {margin-top:11px!important;}
}
/* === end clean short-laptop hero === */


/* === 2026-09-24 short-laptop breathing room pass === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .company-page { --company-short-hero:clamp(540px,78svh,580px); }
  #root .company-hero {min-height:var(--company-short-hero)!important;}
  #root .company-copy {min-height:var(--company-short-hero)!important;padding:28px 38px 34px 46px!important;}
  #root .company-brand {min-height:36px!important;}
  #root .company-copy-main {margin-top:30px!important;}
  #root .company-kicker {margin-bottom:12px!important;}
  #root .company-copy h1 {font-size:clamp(32px,2.8vw,38px)!important;line-height:1.025!important;margin-bottom:16px!important;}
  #root .company-copy-main>p {font-size:12.5px!important;line-height:1.5!important;max-width:35em!important;}
  #root .company-actions {margin-top:20px!important;gap:12px!important;width:min(100%,410px)!important;}
  #root .company-actions :is(.company-primary,.company-secondary) {min-height:42px!important;padding:10px 13px!important;font-size:11px!important;}
  #root .company-photo-wrap {min-height:var(--company-short-hero)!important;}
  #root .company-floats {left:28px!important;bottom:28px!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .company-page { --company-short-hero:540px; }
  #root .company-copy {padding:24px 36px 30px 44px!important;}
  #root .company-copy-main {margin-top:26px!important;}
  #root .company-copy h1 {font-size:clamp(30px,2.6vw,34px)!important;margin-bottom:14px!important;}
  #root .company-copy-main>p {font-size:12px!important;line-height:1.46!important;}
  #root .company-actions {margin-top:18px!important;}
}
/* === end short-laptop breathing room pass === */


/* === 2026-09-24 SHORT VIEWPORT SYSTEM — height-first, width-agnostic === */
@media (min-width:1024px) and (max-height:820px) {
  #root .company-page { --company-short-h:clamp(570px,90svh,650px); }
  #root .company-hero {grid-template-columns:minmax(0,40%) minmax(0,60%)!important;min-height:var(--company-short-h)!important;height:auto!important;max-height:none!important;overflow:visible!important;}
  #root .company-copy {display:flex!important;flex-direction:column!important;min-height:var(--company-short-h)!important;height:auto!important;padding:30px clamp(40px,3vw,54px) 38px clamp(46px,3.4vw,60px)!important;gap:0!important;overflow:visible!important;}
  #root .company-brand {min-height:38px!important;flex:none!important;}
  #root .company-copy-main {align-self:stretch!important;width:100%!important;max-width:560px!important;margin-top:clamp(30px,5vh,42px)!important;overflow:visible!important;}
  #root .company-kicker {margin:0 0 12px!important;}
  #root .company-copy h1 {font-size:clamp(32px,5.2vh,44px)!important;line-height:1.025!important;letter-spacing:-.047em!important;margin:0 0 17px!important;max-width:100%!important;overflow:visible!important;}
  #root .company-copy h1 > :is(span,strong,em) {white-space:normal!important;overflow:visible!important;clip-path:none!important;}
  #root .company-copy-main>p {font-size:clamp(12.5px,1.75vh,14px)!important;line-height:1.5!important;max-width:34em!important;}
  #root .company-actions {margin-top:22px!important;gap:12px 18px!important;}
  #root .company-actions :is(.company-primary,.company-secondary) {min-height:43px!important;font-size:11px!important;padding:10px 14px!important;}
  #root .company-photo-wrap {min-height:var(--company-short-h)!important;height:auto!important;align-self:stretch!important;}
  #root .company-hero-video {height:100%!important;object-fit:cover!important;}
}
@media (min-width:1024px) and (max-height:680px) {
  #root .company-page { --company-short-h:560px; }
  #root .company-copy {padding-top:26px!important;padding-bottom:34px!important;}
  #root .company-copy-main {margin-top:28px!important;}
  #root .company-copy h1 {font-size:clamp(30px,4.8vh,35px)!important;margin-bottom:15px!important;}
  #root .company-copy-main>p {font-size:12px!important;line-height:1.46!important;}
  #root .company-actions {margin-top:19px!important;}
}
/* === end short viewport system === */

/* === 2026-09-25 DIRECT ABOUT RHYTHM FALLBACK === */
#root#root .company-page .company-features{align-items:stretch!important;}
#root#root .company-page .company-feature{align-self:stretch!important;height:100%!important;align-items:start!important;align-content:start!important;}
#root#root .company-page .company-team{align-items:stretch!important;}
#root#root .company-page .company-person{align-self:stretch!important;height:100%!important;align-items:stretch!important;}
#root#root .company-page .company-person-copy{justify-content:flex-start!important;align-items:flex-start!important;}
#root#root .company-page .company-testimonial-grid{align-items:stretch!important;grid-auto-rows:1fr!important;}
#root#root .company-page .company-testimonial{align-self:stretch!important;height:100%!important;justify-content:flex-start!important;}
#root#root .company-page .company-testimonial-meta{margin-top:auto!important;}
@media (min-width:681px){
  #root#root .company-page .company-feature strong{min-block-size:2.55em!important;}
}
@media (max-width:680px){
  #root#root .company-page .company-feature strong{font-size:13.5px!important;min-block-size:0!important;}
  #root#root .company-page .company-feature p{font-size:12px!important;line-height:1.45!important;}
  #root#root .company-page .company-person{grid-template-columns:110px minmax(0,1fr)!important;min-height:150px!important;}
  #root#root .company-page .company-person-copy{justify-content:flex-start!important;padding:14px 12px!important;}
  #root#root .company-page .company-person h3{font-size:18px!important;}
  #root#root .company-page .company-person a{font-size:11.5px!important;}
  #root#root .company-page .company-testimonial p{font-size:13px!important;line-height:1.55!important;}
}
/* === end DIRECT ABOUT RHYTHM FALLBACK === */


/* The calculator is a document; legacy presentation sizes must not clip it. */
html:has(#root#root .calculator-page), body:has(#root#root .calculator-page),
#root#root:has(.calculator-page), #root#root .lexo-shell:has(.calculator-page),
#root#root:has(.calculator-page) .presentation-main,
#root#root:has(.calculator-page) .presentation-viewport,
#root#root:has(.calculator-page) .presentation-frame {
 height:auto!important; max-height:none!important; min-height:0!important; overflow:visible!important;
 display:block!important; position:static!important; transform:none!important; animation:none!important;
 width:100%!important; max-width:none!important; padding:0!important; margin:0!important;
 background:#fff!important; color:#0b1520!important;
}
#root#root:has(.calculator-page) .lexo-shell > header,
#root#root:has(.calculator-page) .story-footer,
#root#root:has(.calculator-page) .hero-opening-beam {display:none!important;}
html:has(#root#root .calculator-page) {overflow-x:clip!important;}

html:has(#root#root .calculator-page):has(.b2b-modal-backdrop),
body:has(#root#root .calculator-page):has(.b2b-modal-backdrop) {overflow:hidden!important;}

.calculator-page {--accent:#ffd000;--border:#dbe1e7;padding-right:clamp(6.25rem,7.2vw,8.125rem);font-family:Arial,Helvetica,sans-serif;background:#fff;color:#0b1520;}
.calculator-page * {box-sizing:border-box;min-width:0;}
.calculator-page button,.calculator-page input {font:inherit;}
.calculator-page button {cursor:pointer;}
.calculator-page button:focus-visible,.calculator-page a:focus-visible,.calculator-page input:focus-visible,.calc-timeline-scroll:focus-visible {outline:2px solid #b18a00;outline-offset:3px;}
#root .calculator-page h1,#root .calculator-page h2,#root .calculator-page strong,#root .calculator-page b {color:#0b1520;font-weight:750;}
#root .calculator-page p {color:#596778;line-height:1.5;}
.plan-hero {display:grid;grid-template-columns:52% 48%;}
.plan-hero-copy {padding:clamp(1.5rem,3.6vw,4rem);container-type:inline-size;}
.calc-brand {display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;width:fit-content;margin-bottom:clamp(2rem,4vw,4rem);}
.calc-brand img {width:2.7rem;height:2.7rem;object-fit:contain;}
.calc-brand b {display:block;font-size:1.8rem;line-height:1;}
.calc-brand small {display:block;font-size:.6rem;margin-top:.35rem;color:#596778;}
.plan-eyebrow {font-size:.7rem;letter-spacing:.13em;font-weight:700;color:#596778;}
#root .calculator-page h1 {font-size:clamp(2.1rem,9.8cqi,4.7rem);letter-spacing:-.045em;line-height:1.04;margin:1rem 0;}
#root .calculator-page h1 span {color:#f0b900;}
.plan-hero-copy>p {font-size:clamp(.95rem,1.1vw,1.2rem);margin:0;max-width:40rem;}
.calc-photo {position:relative;min-height:24rem;}
.calc-photo img {position:absolute;width:100%;height:100%;object-fit:cover;inset:0;}
.plan-overview {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:2rem;gap:0;}
.plan-mini-stat {padding:0 1rem;border-left:1px solid var(--border);}
.plan-mini-stat:first-child {border-left:0;padding-left:0;}
.plan-mini-stat-icon {display:none;}
.plan-mini-stat strong {display:block;font-size:clamp(1.15rem,2vw,2rem);letter-spacing:-.04em;white-space:nowrap;}
.plan-mini-stat strong span,.plan-mini-stat em {font-size:.8rem;font-style:normal;font-weight:700;letter-spacing:0;}
.plan-mini-stat small {display:block;font-size:.75rem;line-height:1.4;color:#596778;margin-top:.4rem;}
.plan-overview-note {display:none;}
.plan-config-shell {display:grid;grid-template-columns:minmax(11rem,18%) minmax(0,1fr);margin:clamp(1.5rem,3vw,3rem);border:1px solid var(--border);}
.plan-step-nav {display:flex;flex-direction:column;background:#fafbfc;border-right:1px solid var(--border);}
.plan-step-nav button {display:flex;gap:.8rem;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--border);background:none;color:#596778;padding:1.1rem 1rem;font-size:.85rem;position:relative;min-height:3.5rem;}
.plan-step-nav button.is-active {background:#fff;color:#0b1520;font-weight:700;}
.plan-step-nav button.is-active:before {position:absolute;left:0;top:0;bottom:0;content:"";width:3px;background:var(--accent);}
.plan-step-nav button span {font-size:.8rem;font-weight:700;}
.plan-step-panel {padding:clamp(1.25rem,2vw,2.5rem);}
.calc-panel-intro {margin-bottom:1.5rem;}
#root .calculator-page h2 {font-size:1.3rem;line-height:1.25;margin:0 0 .5rem;}
.calc-panel-intro p {font-size:.9rem;margin:.5rem 0;}
.plan-parameter-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem;}
.plan-field-label {display:block;font-size:.85rem;font-weight:700;margin-bottom:.6rem;}
.plan-number-field>small,.plan-field-group>small {display:block;font-size:.75rem;color:#596778;margin-top:.5rem;}
.plan-stepper {display:flex;border:1px solid var(--border);height:2.8rem;border-radius:2px;}
.plan-stepper-value {display:flex;align-items:center;flex:1;}
.plan-stepper input {width:100%;border:0;background:none;padding:.65rem;font-weight:700;color:#0b1520;appearance:textfield;}
.plan-stepper input::-webkit-inner-spin-button {appearance:none;}
.plan-stepper-suffix {font-size:.75rem;color:#596778;padding-right:.65rem;flex:none;white-space:nowrap;}
.plan-stepper button {width:2.5rem;flex:none;border:0;border-left:1px solid var(--border);background:#fafbfc;color:#465568;}
.plan-segmented {display:flex;min-height:2.8rem;border:1px solid var(--border);border-radius:2px;}
.plan-segmented button {flex:1;border:0;border-right:1px solid var(--border);background:#fff;color:#0b1520;font-size:.8rem;padding:.6rem .4rem;}
.plan-segmented button:last-child {border:0;}
.plan-segmented button.is-active {background:var(--accent);font-weight:700;}
.plan-predrilling {display:flex;align-items:center;gap:.5rem;border:0;background:none;padding:.7rem 0;text-align:left;font-size:.75rem;}
.plan-predrilling>span:first-child,.plan-checkmark {display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;flex:none;border:1px solid #b7c2cf;}
.plan-predrilling.is-active>span:first-child,.is-selected .plan-checkmark {background:var(--accent);border-color:#d6ae00;}
.plan-step-panel-heading {display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem;}
.plan-step-panel-heading p {font-size:.85rem;max-width:34rem;}
.plan-step-panel-heading>div>span {font-size:.7rem;color:#596778;display:block;margin-bottom:.5rem;}
.plan-scope-actions {display:flex;gap:.8rem;}
.plan-scope-actions button {border:0;border-bottom:1px solid #b8c1ca;background:none;padding:.5rem 0;font-size:.8rem;}
.plan-scope-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;}
.plan-scope-grid button {display:flex;gap:.65rem;align-items:center;border:1px solid var(--border);background:#fff;text-align:left;padding:1rem;font-size:.85rem;}
.plan-team-layout {display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1.5rem;align-items:start;}
.plan-planning-toggle {display:grid;gap:.7rem;}
.plan-planning-toggle button {display:flex;gap:1rem;align-items:center;border:1px solid var(--border);padding:1rem;text-align:left;background:#fff;}
.plan-planning-toggle button.is-active {border-left:3px solid #efbd00;background:#fffcf0;}
.plan-planning-icon {width:1.5rem;height:1.5rem;flex:none;}
.plan-planning-toggle small {display:block;font-size:.75rem;color:#596778;margin-top:.3rem;}
.plan-schedule {margin:2rem clamp(1.5rem,3vw,3rem) 3rem;}
.plan-schedule aside {display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.3rem;margin-bottom:1rem;}
.plan-schedule aside>span {font-size:.75rem;letter-spacing:.1em;font-weight:700;}
.plan-schedule aside>strong {font-size:1.25rem;}
.plan-schedule aside>strong small {font-size:1rem;}
.plan-schedule aside p {font-size:.8rem;margin:0;}
.plan-schedule aside em {display:block;flex-basis:100%;font-size:.75rem;color:#596778;font-style:normal;}
.calc-timeline-scroll {overflow-x:auto;max-width:100%;border:1px solid var(--border);}
.plan-gantt {min-width:48rem;}
.plan-gantt-head {display:grid;grid-template-columns:14rem 1fr;background:#fafbfc;font-size:.7rem;min-height:2.5rem;align-items:stretch;}
.plan-gantt-head>span {padding:.8rem;}
.plan-gantt-head>div {display:grid;align-items:stretch;}
.plan-gantt-head b {display:flex;align-items:center;justify-content:center;border-left:1px solid #e7ebef;font-size:.65rem;}
.plan-gantt-row {display:grid;grid-template-columns:14rem 1fr;position:relative;border-top:1px solid var(--border);min-height:4rem;}
.plan-gantt-row>div:first-child {display:grid;grid-template-columns:1.5rem 1fr;gap:.15rem .4rem;padding:.7rem .8rem;border-right:1px solid var(--border);}
.plan-gantt-row>div:first-child span {font-size:.8rem;font-weight:700;}
.plan-gantt-row>div:first-child small {grid-column:2;font-size:.65rem;color:#596778;}
.plan-gantt-step {font-size:.65rem;color:#596778!important;}
.plan-gantt-duration {position:absolute;left:14.5rem;top:.3rem;font-size:.6rem;color:#596778;z-index:1;}
.plan-gantt-track {position:relative;background:#fff;}
.calc-timeline-grid {position:absolute;inset:0;display:grid;pointer-events:none;}
.calc-timeline-grid span {border-right:1px solid #edf0f3;}
.plan-gantt-track:before {content:"";position:absolute;inset:0;background-size:calc(100% / var(--timeline-columns)) 100%;background-image:none;}
.plan-gantt-bar {position:absolute;top:55%;height:4px;background:#263543;border-left:3px solid var(--accent);border-right:3px solid var(--accent);}
.calc-quote {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem;border-top:1px solid var(--border);padding:clamp(1.5rem,3vw,3rem);background:#fafbfc;}
.calc-quote p {font-size:.85rem;margin:0;}
.calc-quote>span {font-size:.8rem;line-height:1.5;color:#596778;}
.calc-primary {background:var(--accent);border:0;padding:1rem 1.5rem;font-size:.85rem;font-weight:700!important;color:#0b1520;}
@media(min-width:1700px){.plan-parameter-grid {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:1023px){
 .calculator-page {padding-right:0;}
 .plan-hero {grid-template-columns:1fr;}
 .plan-hero-copy {padding:2rem clamp(1.25rem,5vw,3rem);}
 .calc-brand {margin-right:6rem;}
 .calc-photo {min-height:clamp(16rem,40vw,25rem);}
 .plan-config-shell {grid-template-columns:1fr;margin:2rem 1.25rem;}
 .plan-step-nav {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-right:0;border-bottom:1px solid var(--border);}
 .plan-step-nav button {flex-direction:column;align-items:flex-start;gap:.5rem;font-size:.75rem;padding:.75rem;border:0;}
 .plan-step-nav button.is-active:before {inset:auto 0 0;height:3px;width:auto;}
 .plan-schedule {margin-inline:1.25rem;}
}
@media(max-width:540px){
 .plan-overview {grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 0;}
 .plan-mini-stat:nth-child(3){border:0;padding-left:0;}
 .plan-mini-stat strong {font-size:1.65rem;}
 .plan-parameter-grid,.plan-scope-grid,.plan-team-layout {grid-template-columns:1fr;}
 .plan-step-nav {grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem;}
 .plan-step-nav button {min-height:3.5rem;}
 .plan-step-panel {padding:1.1rem;}
 .calc-quote {gap:1.25rem;}
}

/* === 2026-09-16 interactive motion pass === */
.calculator-page{--motion-ease:cubic-bezier(.22,.75,.2,1)}
.calculator-page [data-reveal]{opacity:0;transform:translate3d(0,18px,0);transition:opacity .66s ease var(--reveal-delay,0ms),transform .72s var(--motion-ease) var(--reveal-delay,0ms);will-change:opacity,transform}
.calculator-page [data-reveal="fade"]{transform:none}
.calculator-page [data-reveal="media"]{opacity:0;transform:scale(1.02);clip-path:inset(0 4% 0 0);transition:opacity .8s ease var(--reveal-delay,0ms),transform .95s var(--motion-ease) var(--reveal-delay,0ms),clip-path .9s var(--motion-ease) var(--reveal-delay,0ms)}
.calculator-page [data-reveal].is-visible{opacity:1;transform:none;clip-path:inset(0)}
.plan-eyebrow{display:flex;align-items:center;gap:14px}.plan-eyebrow:before{content:"";width:30px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .55s var(--motion-ease) .12s}.plan-eyebrow.is-visible:before{transform:scaleX(1)}
.calc-photo{overflow:hidden}.calc-photo img{animation:calculatorPhotoSettle 1s var(--motion-ease) both}@keyframes calculatorPhotoSettle{from{transform:scale(1.03);filter:saturate(.92)}to{transform:scale(1);filter:none}}
.plan-mini-stat-value{display:inline-block;animation:calculatorValueIn .34s var(--motion-ease) both}@keyframes calculatorValueIn{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
.plan-step-panel>.calc-panel-intro,.plan-step-panel>.plan-parameter-grid,.plan-step-panel>.plan-scope-panel,.plan-step-panel>.plan-team-panel{animation:calculatorPanelIn .42s var(--motion-ease) both}@keyframes calculatorPanelIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.plan-step-nav button{transition:background-color .22s ease,color .22s ease,transform .22s var(--motion-ease),border-color .22s ease}.plan-step-nav button>span{transition:background-color .22s ease,border-color .22s ease,transform .22s var(--motion-ease)}@media(hover:hover) and (pointer:fine){.plan-step-nav button:hover{transform:translateX(3px)}.plan-step-nav button:hover>span{transform:scale(1.04)}}
.plan-stepper,.plan-segmented,.plan-scope-grid button,.plan-planning-toggle button{transition:border-color .22s ease,background-color .22s ease,transform .22s var(--motion-ease),box-shadow .22s ease}.plan-stepper button,.plan-segmented button,.plan-scope-grid button,.plan-planning-toggle button{transition:background-color .22s ease,color .22s ease,transform .22s var(--motion-ease),border-color .22s ease}@media(hover:hover) and (pointer:fine){.plan-scope-grid button:hover,.plan-planning-toggle button:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(8,19,34,.06)}.plan-stepper button:hover,.plan-segmented button:hover{background:#fff8d7}}
.plan-gantt-bar{transform-origin:left center;animation:calculatorBarIn .7s var(--motion-ease) both;transition:left .4s var(--motion-ease),width .4s var(--motion-ease)}@keyframes calculatorBarIn{from{transform:scaleX(0);opacity:.35}to{transform:scaleX(1);opacity:1}}
.plan-gantt-row{transition:background-color .22s ease}.plan-gantt-row:hover{background:#fbfcfd}
.calc-primary{transition:background-color .22s ease,transform .22s var(--motion-ease),box-shadow .22s ease}@media(hover:hover) and (pointer:fine){.calc-primary:hover{background:#f2bf00;transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,19,34,.09)}}
@media(min-width:1200px){.plan-hero{grid-template-columns:38% 62%;min-height:clamp(580px,62svh,700px)}.plan-hero-copy{padding:36px clamp(42px,3vw,60px) 48px clamp(48px,3.7vw,76px)}.calc-photo{min-height:inherit}}
@media(prefers-reduced-motion:reduce){.calculator-page [data-reveal],.calc-photo img,.plan-mini-stat-value,.plan-step-panel>.calc-panel-intro,.plan-step-panel>.plan-parameter-grid,.plan-step-panel>.plan-scope-panel,.plan-step-panel>.plan-team-panel,.plan-gantt-bar{opacity:1!important;transform:none!important;clip-path:inset(0)!important;animation:none!important;transition:none!important}.plan-eyebrow:before{transform:scaleX(1)!important;transition:none!important}}


/* === 2026-09-16 premium motion pass II: masked type + pointer depth === */
.calculator-page [data-reveal="line"]{display:block;opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,22px,0);transition:opacity .70s ease var(--reveal-delay,0ms),transform .78s var(--motion-ease) var(--reveal-delay,0ms),clip-path .78s var(--motion-ease) var(--reveal-delay,0ms)}
.calculator-page [data-reveal="line"].is-visible{opacity:1;transform:none;clip-path:inset(0)}
.calc-photo{--media-x:0px;--media-y:0px;overflow:hidden}
.calc-photo img{translate:var(--media-x) var(--media-y);scale:1.012;transition:translate .72s var(--motion-ease)}
@media(prefers-reduced-motion:reduce){.calculator-page [data-reveal="line"]{opacity:1!important;transform:none!important;clip-path:inset(0)!important;transition:none!important}.calc-photo img{translate:0 0!important;transition:none!important}}


/* === 2026-09-17 unified CTA system === */
.calc-primary {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:48px;
  padding:12px 18px;
  background:#ffd400;
  color:#081322;
  font-size:13px!important;
  line-height:1.35;
  font-weight:600!important;
}
.calc-primary:hover { background:#f3c800; }
.calc-primary svg {
  width:18px;
  height:18px;
  flex:none;
  stroke-width:1.6;
  transition:transform .22s cubic-bezier(.2,0,0,1);
}
@media (hover:hover) and (pointer:fine) {
  .calc-primary:hover svg { transform:translateX(4px); }
}


/* === 2026-09-22 final hero typography sync with Home === */
#root .calculator-page .plan-hero-copy h1 {
  margin:0 0 18px!important;
  max-width:100%;
  color:#081322!important;
  font-size:clamp(42px,9.1cqi,58px)!important;
  line-height:1.045!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
}
#root .calculator-page .plan-hero-copy h1 span {
  font-weight:inherit!important;
}
@media (min-width:1200px) {
  #root .calculator-page .plan-hero-copy h1 {
    font-size:clamp(50px,9.7cqi,72px)!important;
    line-height:1.035!important;
    letter-spacing:-.055em!important;
    margin-bottom:24px!important;
  }
}
@media (max-width:599px) {
  #root .calculator-page .plan-hero-copy h1 {
    font-size:clamp(36px,9.2cqi,42px)!important;
    line-height:1.08!important;
    margin-bottom:22px!important;
  }
}

/* === 2026-09-22 unified site heading scale === */
#root .calculator-page .plan-hero-copy h1 {
  max-width:100%!important;
  font-size:var(--lexo-display-1-size)!important;
  line-height:var(--lexo-display-1-line)!important;
  font-weight:var(--lexo-display-1-weight)!important;
  letter-spacing:var(--lexo-display-1-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .calculator-page .plan-hero-copy h1 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
#root .calculator-page .calc-quote h2 {
  max-width:100%!important;
  font-size:var(--lexo-display-2-size)!important;
  line-height:var(--lexo-display-2-line)!important;
  font-weight:var(--lexo-display-2-weight)!important;
  letter-spacing:var(--lexo-display-2-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .calculator-page .calc-quote h2 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
/* === end unified site heading scale === */

/* === 2026-09-22 shared page BrandLogo === */
#root .calculator-page .calc-brand {
  display:inline-flex;
  align-items:center;
  width:fit-content;
}
#root .calculator-page .calc-brand > :not(.lexo-brand) { display:none!important; }

/* === 2026-09-24 desktop hero bleed under SiteSideNav — match O nas === */
@media (min-width:1024px) {
  #root .calculator-page .plan-hero,
  #root .calculator-page .calc-photo {
    overflow:visible!important;
  }

  #root .calculator-page .calc-photo > img {
    width:calc(100% + var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
    max-width:none!important;
  }
}
/* === end desktop hero bleed === */

/* === 2026-09-24 final SiteSideNav bleed fix — Kalkulator === */
@media (min-width:1024px) {
  #root .calculator-page {
    padding-right:var(--lexo-rail-width, clamp(96px,6.7vw,126px))!important;
  }

  #root .calculator-page .plan-hero {
    overflow:visible!important;
  }

  #root .calculator-page .calc-photo {
    width:calc(100% + var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
    margin-right:calc(0px - var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
    overflow:hidden!important;
  }

  #root .calculator-page .calc-photo > img {
    width:100%!important;
    max-width:none!important;
  }
}
/* === end final SiteSideNav bleed fix === */

/* === 2026-09-24 calculator step 1 balance pass === */
@media (min-width:1200px) {
  #root .calculator-page .plan-config-shell {
    grid-template-columns:clamp(240px,16vw,300px) minmax(0,1fr);
  }

  #root .calculator-page .plan-step-panel {
    padding:76px clamp(36px,3.4vw,60px) 84px;
  }

  #root .calculator-page .calc-panel-intro {
    max-width:760px;
    margin-bottom:42px;
  }

  #root .calculator-page .plan-parameter-grid {
    width:min(100%,1180px);
    max-width:1180px;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:44px;
    row-gap:42px;
  }

  #root .calculator-page .plan-number-field,
  #root .calculator-page .plan-field-group {
    min-width:0;
    max-width:572px;
  }

  #root .calculator-page .plan-field-label {
    margin-bottom:12px;
  }

  #root .calculator-page .plan-stepper,
  #root .calculator-page .plan-segmented {
    min-height:48px;
  }

  #root .calculator-page .plan-number-field>small,
  #root .calculator-page .plan-field-group>small {
    margin-top:11px;
  }

  #root .calculator-page .plan-predrilling {
    margin-top:8px;
    padding-block:.9rem;
  }
}
/* === end calculator step 1 balance pass === */

/* === 2026-09-24 mobile calculator full UX pass === */
@media (max-width:680px) {
  #root .calculator-page {
    --calc-mobile-gutter:14px;
    padding-right:0!important;
    background:#fff;
  }

  /* Same compact mobile header language as Home/About/Realizacje. */
  #root .calculator-page .plan-hero-copy::before {
    content:"";
    position:fixed;
    z-index:69;
    inset:0 0 auto 0;
    height:56px;
    background:#fff;
    border-bottom:1px solid #edf0f3;
  }
  #root .calculator-page .calc-brand {
    position:fixed;
    z-index:71;
    top:10px;
    left:14px;
    margin:0!important;
    transform:scale(.84);
    transform-origin:left top;
  }

  /* Hero: clean copy first, photography second. */
  #root .calculator-page .plan-hero {
    display:block;
    min-height:0;
    background:#fff;
  }
  #root .calculator-page .plan-hero-copy {
    padding:82px var(--calc-mobile-gutter) 24px;
  }
  #root .calculator-page .plan-eyebrow {
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 11px;
    color:#697788;
    font-size:7.5px;
    line-height:1.3;
    letter-spacing:1.7px;
  }
  #root .calculator-page .plan-eyebrow::before {
    content:"";
    display:block;
    width:22px;
    height:1px;
    background:var(--accent);
    transform:none;
  }
  #root .calculator-page .plan-hero-copy h1 {
    max-width:12ch!important;
    margin:0 0 12px!important;
    font-size:clamp(32px,8.7vw,39px)!important;
    line-height:1.015!important;
    letter-spacing:-.052em!important;
    text-wrap:balance;
  }
  #root .calculator-page .plan-hero-copy h1 span {
    color:#d8a500!important;
  }
  #root .calculator-page .plan-hero-copy>p {
    max-width:33em;
    margin:0;
    font-size:12px;
    line-height:1.5;
  }

  /* Live result overview: readable 2x2 proof grid instead of tiny desktop stats. */
  #root .calculator-page .plan-overview {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0;
    margin:22px 0 0;
    border-top:1px solid #e3e8ec;
    border-bottom:1px solid #e3e8ec;
  }
  #root .calculator-page .plan-mini-stat,
  #root .calculator-page .plan-mini-stat:first-child,
  #root .calculator-page .plan-mini-stat:nth-child(3) {
    min-height:78px;
    padding:12px 10px!important;
    border:0;
    border-left:1px solid #e3e8ec;
    border-top:1px solid #e3e8ec;
  }
  #root .calculator-page .plan-mini-stat:nth-child(-n/**/+2) {border-top:0;}
  #root .calculator-page .plan-mini-stat:nth-child(odd) {border-left:0;}
  #root .calculator-page .plan-mini-stat strong {
    font-size:20px;
    line-height:1.05;
    letter-spacing:-.035em;
  }
  #root .calculator-page .plan-mini-stat strong span,
  #root .calculator-page .plan-mini-stat em {font-size:10px;}
  #root .calculator-page .plan-mini-stat small {
    margin-top:5px;
    font-size:9.5px;
    line-height:1.3;
  }

  #root .calculator-page .calc-photo {
    position:relative;
    width:100%!important;
    min-height:0;
    height:auto;
    aspect-ratio:1.55;
    margin:0!important;
    overflow:hidden!important;
    background:#e7ecef;
  }
  #root .calculator-page .calc-photo>img {
    position:absolute;
    inset:0;
    width:100%!important;
    height:100%!important;
    object-fit:cover;
    object-position:58% center;
    translate:none!important;
    scale:1!important;
  }

  /* Calculator shell becomes one mobile workflow, not a squeezed desktop panel. */
  #root .calculator-page .plan-config-shell {
    display:block;
    margin:0;
    border:0;
    border-top:1px solid #e2e7eb;
    background:#fff;
  }
  #root .calculator-page .plan-step-nav {
    display:flex;
    flex-direction:row;
    gap:0;
    width:100%;
    padding:0 var(--calc-mobile-gutter);
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    border:0;
    border-bottom:1px solid #e2e7eb;
    background:#f8fafb;
  }
  #root .calculator-page .plan-step-nav::-webkit-scrollbar {display:none;}
  #root .calculator-page .plan-step-nav button {
    flex:0 0 auto;
    width:auto;
    min-width:104px;
    min-height:62px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:5px;
    padding:10px 12px;
    border:0;
    border-right:1px solid #e5e9ed;
    background:transparent;
    color:#687688;
    font-size:10px;
    line-height:1.2;
    white-space:nowrap;
  }
  #root .calculator-page .plan-step-nav button:first-child {padding-left:0;}
  #root .calculator-page .plan-step-nav button span {
    color:#b4bec8;
    font-size:16px;
    line-height:1;
    font-weight:500;
    letter-spacing:-.03em;
  }
  #root .calculator-page .plan-step-nav button.is-active {
    background:transparent;
    color:#081322;
    font-weight:700;
  }
  #root .calculator-page .plan-step-nav button.is-active span {color:#d5a000;}
  #root .calculator-page .plan-step-nav button.is-active::before {
    left:0;
    right:0;
    top:auto;
    bottom:0;
    width:auto;
    height:2px;
    background:var(--accent);
  }

  #root .calculator-page .plan-step-panel {
    padding:30px var(--calc-mobile-gutter) 38px;
  }
  #root .calculator-page .calc-panel-intro {
    margin-bottom:24px;
  }
  #root .calculator-page .calc-panel-intro h2,
  #root .calculator-page .plan-step-panel-heading h2 {
    margin:0 0 8px;
    font-size:24px;
    line-height:1.05;
    font-weight:500;
    letter-spacing:-.035em;
  }
  #root .calculator-page .calc-panel-intro p,
  #root .calculator-page .plan-step-panel-heading p {
    margin:0;
    font-size:11.5px;
    line-height:1.5;
  }

  #root .calculator-page .plan-parameter-grid,
  #root .calculator-page .plan-scope-grid,
  #root .calculator-page .plan-team-layout {
    grid-template-columns:1fr!important;
    gap:22px;
  }
  #root .calculator-page .plan-field-label {
    margin-bottom:8px;
    font-size:12px;
  }
  #root .calculator-page .plan-stepper,
  #root .calculator-page .plan-segmented {
    min-height:46px;
    height:46px;
    border-radius:2px;
  }
  #root .calculator-page .plan-stepper button {width:44px;}
  #root .calculator-page .plan-stepper input {font-size:16px;}
  #root .calculator-page .plan-segmented button {
    min-width:0;
    padding:7px 6px;
    font-size:11px;
  }
  #root .calculator-page .plan-number-field>small,
  #root .calculator-page .plan-field-group>small {
    margin-top:7px;
    font-size:10px;
    line-height:1.35;
  }
  #root .calculator-page .plan-predrilling {
    margin-top:5px;
    padding:9px 0 0;
    font-size:11px;
  }

  #root .calculator-page .plan-step-panel-heading {
    display:block;
    margin-bottom:20px;
  }
  #root .calculator-page .plan-step-panel-heading>div>span {
    margin-bottom:7px;
    font-size:8px;
    letter-spacing:1.6px;
    text-transform:uppercase;
  }
  #root .calculator-page .plan-scope-actions {
    display:flex;
    gap:18px;
    margin-top:13px;
  }
  #root .calculator-page .plan-scope-actions button {
    padding:5px 0;
    font-size:10px;
  }
  #root .calculator-page .plan-scope-grid {gap:8px;}
  #root .calculator-page .plan-scope-grid button {
    min-height:48px;
    padding:11px 12px;
    font-size:11px;
    line-height:1.3;
  }

  #root .calculator-page .plan-planning-toggle {gap:8px;}
  #root .calculator-page .plan-planning-toggle button {
    min-height:62px;
    gap:11px;
    padding:12px;
  }
  #root .calculator-page .plan-planning-icon {width:20px;height:20px;}
  #root .calculator-page .plan-planning-toggle b {font-size:11.5px;}
  #root .calculator-page .plan-planning-toggle small {font-size:9.5px;}

  /* Schedule: preserve the useful timeline, but make the section readable first. */
  #root .calculator-page .plan-schedule {
    margin:0;
    padding:34px var(--calc-mobile-gutter) 38px;
    border-top:1px solid #e2e7eb;
    background:#f8fafb;
  }
  #root .calculator-page .plan-schedule aside {
    display:grid;
    grid-template-columns:1fr auto;
    gap:6px 14px;
    margin-bottom:16px;
  }
  #root .calculator-page .plan-schedule aside>span {
    grid-column:1/-1;
    font-size:8px;
    letter-spacing:1.7px;
  }
  #root .calculator-page .plan-schedule aside>strong {
    font-size:24px;
    line-height:1;
  }
  #root .calculator-page .plan-schedule aside p {
    align-self:end;
    text-align:right;
    font-size:10px;
  }
  #root .calculator-page .plan-schedule aside em {
    grid-column:1/-1;
    margin-top:6px;
    font-size:9.5px;
    line-height:1.4;
  }
  #root .calculator-page .calc-timeline-scroll {
    width:100%;
    overflow-x:auto;
    border:1px solid #dbe1e7;
    background:#fff;
    scrollbar-width:thin;
  }
  #root .calculator-page .plan-gantt {min-width:690px;}

  /* Final CTA works as a clear end-state, not a desktop rail. */
  #root .calculator-page .calc-quote {
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    padding:34px var(--calc-mobile-gutter) 38px;
    background:#fff;
  }
  #root .calculator-page .calc-quote h2 {
    margin:0 0 8px;
    font-size:29px!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  #root .calculator-page .calc-quote p {
    font-size:11.5px;
    line-height:1.45;
  }
  #root .calculator-page .calc-primary {
    width:100%;
    min-height:46px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 14px;
    border-radius:2px;
    font-size:12px;
  }
  #root .calculator-page .calc-quote>span {
    font-size:9.5px;
    line-height:1.35;
    color:#6c7887;
  }
}

@media (max-width:390px) {
  #root .calculator-page .plan-hero-copy h1 {font-size:30px!important;}
  #root .calculator-page .plan-step-nav button {min-width:96px;}
  #root .calculator-page .plan-overview {margin-top:18px;}
  #root .calculator-page .plan-mini-stat {min-height:74px;}
  #root .calculator-page .plan-mini-stat strong {font-size:18px;}
}
/* === end mobile calculator full UX pass === */

/* === 2026-09-24 mobile schedule redesign — compact timeline cards === */
@media (max-width:599px) {
  #root .calculator-page .plan-schedule {
    padding-top:30px;
  }

  #root .calculator-page .plan-schedule aside {
    margin-bottom:18px;
  }

  #root .calculator-page .calc-timeline-scroll {
    overflow:visible;
    border:0;
    background:transparent;
  }

  #root .calculator-page .plan-gantt {
    min-width:0;
    width:100%;
  }

  #root .calculator-page .plan-gantt-head {
    display:none;
  }

  #root .calculator-page .plan-gantt-body {
    display:grid;
    gap:10px;
  }

  #root .calculator-page .plan-gantt-row {
    position:relative;
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    min-height:0;
    padding:13px 14px 14px;
    border:1px solid #dfe4e8;
    background:#fff;
  }

  #root .calculator-page .plan-gantt-row + .plan-gantt-row {
    border-top:1px solid #dfe4e8;
  }

  #root .calculator-page .plan-gantt-row > div:first-child {
    display:grid;
    grid-template-columns:30px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:3px 8px;
    padding:0;
    border:0;
  }

  #root .calculator-page .plan-gantt-step {
    display:block!important;
    grid-column:1;
    grid-row:1 / 3;
    align-self:start;
    padding-top:1px;
    color:#a67800!important;
    font-size:10px!important;
    line-height:1.2;
    font-weight:700!important;
    letter-spacing:.12em;
  }

  #root .calculator-page .plan-gantt-row > div:first-child > span {
    grid-column:2;
    grid-row:1;
    min-width:0;
    color:#081322;
    font-size:12px;
    line-height:1.25;
    font-weight:700;
  }

  #root .calculator-page .plan-gantt-row > div:first-child > small {
    grid-column:2;
    grid-row:2;
    min-width:0;
    color:#6c7887;
    font-size:9.5px;
    line-height:1.35;
  }

  #root .calculator-page .plan-gantt-duration {
    position:absolute;
    top:13px;
    right:14px;
    left:auto;
    z-index:2;
    padding:3px 6px;
    border:1px solid #e4e8ec;
    background:#f8fafb;
    color:#596778;
    font-size:9px;
    line-height:1.2;
    white-space:nowrap;
  }

  #root .calculator-page .plan-gantt-track {
    position:relative;
    height:18px;
    margin-left:38px;
    overflow:hidden;
    background:#f6f8fa;
  }

  #root .calculator-page .calc-timeline-grid {
    opacity:.55;
  }

  #root .calculator-page .calc-timeline-grid span {
    border-right:1px solid #e7ebef;
  }

  #root .calculator-page .plan-gantt-bar {
    top:50%;
    height:4px;
    transform:translateY(-50%);
    box-shadow:none;
  }
}
/* === end mobile schedule redesign === */

/* === 2026-09-24 CLEAN SHORT-LAPTOP HERO === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .calculator-page { --calc-short-hero:clamp(500px,calc(100svh - 28px),548px); }
  #root .calculator-page .plan-hero {grid-template-columns:minmax(0,42%) minmax(0,58%)!important;height:auto!important;min-height:var(--calc-short-hero)!important;max-height:none!important;overflow:visible!important;}
  #root .calculator-page .plan-hero-copy {min-height:var(--calc-short-hero)!important;height:auto!important;max-height:none!important;padding:22px 32px 26px 40px!important;overflow:visible!important;}
  #root .calculator-page .calc-brand {margin:0 0 22px!important;}
  #root .calculator-page .plan-eyebrow {font-size:8px!important;line-height:1.25!important;letter-spacing:1.7px!important;}
  #root .calculator-page h1 {margin:8px 0 10px!important;font-size:clamp(33px,2.9vw,37px)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:500!important;max-width:100%!important;overflow:visible!important;text-wrap:pretty!important;}
  #root .calculator-page h1 br {line-height:.7!important;}
  #root .calculator-page h1 > span {white-space:normal!important;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;overflow:visible!important;}
  #root .calculator-page .plan-hero-copy>p {font-size:12px!important;line-height:1.42!important;max-width:36em!important;}
  #root .calculator-page .plan-overview {margin-top:18px!important;}
  #root .calculator-page .plan-mini-stat {padding-inline:10px!important;}
  #root .calculator-page .plan-mini-stat strong {font-size:14px!important;}
  #root .calculator-page .plan-mini-stat strong span,#root .calculator-page .plan-mini-stat em {font-size:9px!important;}
  #root .calculator-page .plan-mini-stat small {font-size:9px!important;line-height:1.3!important;margin-top:4px!important;}
  #root .calculator-page .calc-photo {align-self:stretch!important;min-height:var(--calc-short-hero)!important;height:auto!important;overflow:hidden!important;}
  #root .calculator-page .calc-photo>img {height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .calculator-page { --calc-short-hero:500px; }
  #root .calculator-page .plan-hero-copy {padding-top:18px!important;padding-bottom:22px!important;}
  #root .calculator-page .calc-brand {margin-bottom:16px!important;}
  #root .calculator-page h1 {font-size:clamp(31px,2.7vw,34px)!important;margin-top:6px!important;margin-bottom:8px!important;}
  #root .calculator-page .plan-hero-copy>p {font-size:11.5px!important;line-height:1.38!important;}
  #root .calculator-page .plan-overview {margin-top:14px!important;}
}
/* === end clean short-laptop hero === */


/* === 2026-09-24 short-laptop breathing room pass === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .calculator-page { --calc-short-hero:clamp(540px,78svh,580px); }
  #root .calculator-page .plan-hero {min-height:var(--calc-short-hero)!important;}
  #root .calculator-page .plan-hero-copy {min-height:var(--calc-short-hero)!important;padding:28px 38px 34px 46px!important;}
  #root .calculator-page .calc-brand {margin-bottom:30px!important;}
  #root .calculator-page .plan-eyebrow {margin-bottom:10px!important;}
  #root .calculator-page h1 {font-size:clamp(32px,2.8vw,38px)!important;line-height:1.025!important;margin:10px 0 16px!important;}
  #root .calculator-page .plan-hero-copy>p {font-size:12.5px!important;line-height:1.5!important;max-width:35em!important;}
  #root .calculator-page .plan-overview {margin-top:24px!important;padding-top:4px!important;}
  #root .calculator-page .plan-mini-stat {padding-inline:12px!important;}
  #root .calculator-page .plan-mini-stat strong {font-size:15px!important;}
  #root .calculator-page .plan-mini-stat small {font-size:9.5px!important;line-height:1.35!important;margin-top:5px!important;}
  #root .calculator-page .calc-photo {min-height:var(--calc-short-hero)!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .calculator-page { --calc-short-hero:540px; }
  #root .calculator-page .plan-hero-copy {padding:24px 36px 30px 44px!important;}
  #root .calculator-page .calc-brand {margin-bottom:26px!important;}
  #root .calculator-page h1 {font-size:clamp(30px,2.6vw,34px)!important;margin:8px 0 14px!important;}
  #root .calculator-page .plan-hero-copy>p {font-size:12px!important;line-height:1.46!important;}
  #root .calculator-page .plan-overview {margin-top:20px!important;}
}
/* === end short-laptop breathing room pass === */


/* === 2026-09-24 SHORT VIEWPORT SYSTEM — height-first, width-agnostic === */
@media (min-width:1024px) and (max-height:820px) {
  #root .calculator-page { --calc-short-h:clamp(590px,92svh,670px); }
  #root .calculator-page .plan-hero {grid-template-columns:minmax(0,40%) minmax(0,60%)!important;min-height:var(--calc-short-h)!important;height:auto!important;max-height:none!important;overflow:visible!important;}
  #root .calculator-page .plan-hero-copy {min-height:var(--calc-short-h)!important;height:auto!important;padding:30px clamp(40px,3vw,54px) 34px clamp(46px,3.4vw,60px)!important;overflow:visible!important;}
  #root .calculator-page .calc-brand {margin:0 0 clamp(28px,4.5vh,38px)!important;}
  #root .calculator-page .plan-eyebrow {margin-bottom:10px!important;}
  #root .calculator-page h1 {font-size:clamp(32px,5.2vh,44px)!important;line-height:1.025!important;letter-spacing:-.047em!important;margin:8px 0 17px!important;max-width:100%!important;overflow:visible!important;}
  #root .calculator-page h1 > span {white-space:normal!important;overflow:visible!important;clip-path:none!important;}
  #root .calculator-page .plan-hero-copy>p {font-size:clamp(12.5px,1.75vh,14px)!important;line-height:1.5!important;max-width:34em!important;}
  #root .calculator-page .plan-overview {margin-top:28px!important;padding-top:4px!important;}
  #root .calculator-page .plan-mini-stat {padding-inline:12px!important;}
  #root .calculator-page .plan-mini-stat strong {font-size:15px!important;}
  #root .calculator-page .plan-mini-stat small {font-size:9.5px!important;line-height:1.35!important;margin-top:5px!important;}
  #root .calculator-page .calc-photo {min-height:var(--calc-short-h)!important;height:auto!important;align-self:stretch!important;overflow:hidden!important;}
  #root .calculator-page .calc-photo>img {height:100%!important;object-fit:cover!important;}
}
@media (min-width:1024px) and (max-height:680px) {
  #root .calculator-page { --calc-short-h:570px; }
  #root .calculator-page .plan-hero-copy {padding-top:26px!important;padding-bottom:30px!important;}
  #root .calculator-page .calc-brand {margin-bottom:26px!important;}
  #root .calculator-page h1 {font-size:clamp(30px,4.8vh,35px)!important;margin-bottom:15px!important;}
  #root .calculator-page .plan-hero-copy>p {font-size:12px!important;line-height:1.46!important;}
  #root .calculator-page .plan-overview {margin-top:24px!important;}
}
/* === end short viewport system === */

/* Realizacje — clean corporate / premium industrial */
html:has(#root#root .portfolio-page),
body:has(#root#root .portfolio-page),
#root#root:has(.portfolio-page),
#root#root .lexo-shell:has(.portfolio-page),
#root#root:has(.portfolio-page) .presentation-main,
#root#root:has(.portfolio-page) .presentation-viewport,
#root#root:has(.portfolio-page) .presentation-frame {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  animation: none !important;
  background: #fff !important;
  color: #081322 !important;
}

#root#root:has(.portfolio-page) .lexo-shell > header,
#root#root:has(.portfolio-page) .story-footer,
#root#root:has(.portfolio-page) .hero-opening-beam {
  display: none !important;
}



.portfolio-page {
  --portfolio-rail: var(--lexo-rail-width, clamp(96px, 6.7vw, 126px));
  --portfolio-gutter: clamp(24px, 3.8vw, 60px);
  --portfolio-ink: #081322;
  --portfolio-muted: #526071;
  --portfolio-line: #dfe3e8;
  --portfolio-yellow: #ffd400;
  --portfolio-gold: #dfa900;
  padding-right: var(--portfolio-rail);
  background: #fff;
  color: var(--portfolio-ink);
  font-family: Arial, Helvetica, sans-serif;
}

.portfolio-page *,
.portfolio-page *::before,
.portfolio-page *::after {
  box-sizing: border-box;
}

.portfolio-page button {
  font: inherit;
}

.portfolio-page button:focus-visible {
  outline: 2px solid #987400;
  outline-offset: 4px;
}

.portfolio-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #687585;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 2.2px;
  text-transform: uppercase;
}

.portfolio-eyebrow::before {
  content: "";
  width: 30px;
  height: 1px;
  background: var(--portfolio-yellow);
}

.portfolio-hero {
  display: grid;
  grid-template-columns: minmax(0, 42%) minmax(0, 58%);
  min-height: clamp(560px, 63svh, 680px);
  background: #fff;
}

.portfolio-intro {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 24px;
  min-width: 0;
  padding: 28px clamp(36px, 3vw, 58px) 34px var(--portfolio-gutter);
}

.portfolio-brand {
  display: inline-flex;
  justify-self: start;
  padding: 0;
  border: 0;
  background: transparent;
}

.portfolio-copy {
  align-self: center;
  max-width: 650px;
  min-width: 0;
  container-type: inline-size;
}

#root .portfolio-page h1 {
  margin: 24px 0 22px;
  color: var(--portfolio-ink);
  font-size: clamp(44px, 9.2cqi, 66px);
  line-height: 1.015;
  font-weight: 700;
  letter-spacing: -.055em;
}

#root .portfolio-page h1 span,
#root .portfolio-page h1 strong {
  display: block;
}

#root .portfolio-page h1 strong {
  color: var(--portfolio-gold);
  font-weight: inherit;
}

.portfolio-copy > p {
  max-width: 36em;
  margin: 0;
  color: var(--portfolio-muted);
  font-size: clamp(14px, 1vw, 16px);
  line-height: 1.55;
}

.portfolio-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
  margin-top: 28px;
}

.portfolio-primary,
.portfolio-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 220px;
  min-height: 46px;
  max-width: 100%;
  padding: 12px 16px;
  border: 0;
  color: var(--portfolio-ink);
  background: transparent;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 650;
  white-space: nowrap;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease, border-color .2s ease;
}

.portfolio-primary {
  background: var(--portfolio-yellow);
}

.portfolio-primary:hover,
.portfolio-secondary:hover {
  transform: translateY(-1px);
}

.portfolio-primary:hover {
  background: #f3c800;
}

.portfolio-secondary {
  padding-inline: 0;
  border-bottom: 1px solid #d9b51a;
}

.portfolio-secondary:hover {
  border-bottom-color: var(--portfolio-ink);
}

.portfolio-primary svg,
.portfolio-secondary svg {
  width: 18px;
  height: 18px;
  flex: none;
}

.portfolio-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
}

.portfolio-stats > div {
  position: relative;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
  padding: 0 18px;
}

.portfolio-stats > div:first-child {
  padding-left: 0;
}

.portfolio-stats > div:last-child {
  padding-right: 0;
}

.portfolio-stats > div:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background: var(--portfolio-line);
}

.portfolio-stats svg {
  width: 21px;
  height: 21px;
  color: var(--portfolio-gold);
}

.portfolio-stats b {
  display: block;
  color: var(--portfolio-ink);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 750;
}

.portfolio-stats small {
  display: block;
  margin-top: 3px;
  color: #6b7786;
  font-size: 10px;
  line-height: 1.35;
}

.portfolio-featured {
  position: relative;
  min-width: 0;
  min-height: inherit;
  overflow: hidden;
  background: #d9e0e5;
}

.portfolio-featured > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.portfolio-featured::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(8,19,34,.05), rgba(8,19,34,0) 45%, rgba(8,19,34,.08));
}

.portfolio-featured-top {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 9px 12px;
  color: #fff;
  background: rgba(8, 19, 34, .58);
  backdrop-filter: blur(10px);
}

.portfolio-featured-top > span {
  font-size: 10px;
  letter-spacing: .08em;
}

.portfolio-featured-arrows {
  display: flex;
  gap: 5px;
}

.portfolio-featured-arrows button {
  width: 28px;
  height: 28px;
  border: 0;
  color: #fff;
  background: rgba(255,255,255,.12);
  cursor: pointer;
}

.portfolio-featured-arrows button:hover {
  background: var(--portfolio-yellow);
  color: var(--portfolio-ink);
}

.portfolio-featured-caption {
  position: absolute;
  left: 26px;
  bottom: 28px;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr auto;
  min-width: 270px;
  max-width: min(360px, calc(100% - 52px));
  padding: 17px 18px 18px 22px;
  border: 1px solid rgba(255,255,255,.65);
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(12px);
  text-align: left;
  cursor: pointer;
}

.portfolio-featured-caption::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 14px;
  bottom: 14px;
  width: 2px;
  background: var(--portfolio-yellow);
}

.portfolio-featured-caption span {
  grid-column: 1 / -1;
  margin-bottom: 6px;
  color: #5c6978;
  font-size: 11px;
}

.portfolio-featured-caption strong {
  color: var(--portfolio-ink);
  font-size: clamp(25px, 2.1vw, 36px);
  line-height: 1;
  font-weight: 750;
  letter-spacing: -.045em;
}

.portfolio-featured-caption i {
  align-self: end;
  color: var(--portfolio-ink);
  font-style: normal;
  font-size: 18px;
}

.portfolio-dots {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 14px;
  z-index: 3;
  display: flex;
  gap: 5px;
}

.portfolio-dots button {
  flex: 1;
  height: 2px;
  padding: 0;
  border: 0;
  background: rgba(255,255,255,.55);
}

.portfolio-dots button.is-active {
  background: var(--portfolio-yellow);
}

.portfolio-selected {
  scroll-margin-top: 20px;
  padding: 70px var(--portfolio-gutter) 76px;
  background: #fff;
}

.portfolio-section-heading {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: end;
  gap: 24px;
  margin-bottom: 28px;
}

.portfolio-section-heading .portfolio-eyebrow {
  margin-bottom: 16px;
}

.portfolio-section-heading h2,
.portfolio-reach h2 {
  margin: 0;
  color: var(--portfolio-ink);
  font-size: clamp(34px, 3vw, 52px);
  line-height: 1.03;
  font-weight: 500;
  letter-spacing: -.045em;
}

.portfolio-link {
  margin-bottom: 4px;
  padding: 9px 0;
  border: 0;
  border-bottom: 1px solid #dbb91b;
  color: var(--portfolio-ink);
  background: transparent;
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
  cursor: pointer;
}

.portfolio-link span {
  margin-left: 18px;
}

.portfolio-selected-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.portfolio-selected-grid.is-expanded {
  row-gap: 26px;
}

.portfolio-card {
  min-width: 0;
  padding: 0;
  border: 1px solid var(--portfolio-line);
  background: #fff;
  color: var(--portfolio-ink);
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.portfolio-card-photo {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #e4e8eb;
}

.portfolio-card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .42s cubic-bezier(.22,.75,.2,1);
}

.portfolio-card-copy {
  position: relative;
  display: block;
  min-height: 145px;
  padding: 17px 46px 18px 18px;
}

.portfolio-card-copy strong {
  display: block;
  margin-bottom: 5px;
  color: var(--portfolio-ink);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
}

.portfolio-card-copy b {
  display: block;
  margin-bottom: 7px;
  color: var(--portfolio-gold);
  font-size: 17px;
  line-height: 1.2;
  font-weight: 650;
}

.portfolio-card-copy span {
  display: block;
  color: #697584;
  font-size: 11px;
  line-height: 1.45;
}

.portfolio-card-copy i {
  position: absolute;
  right: 18px;
  top: 50%;
  font-style: normal;
  font-size: 18px;
  transform: translateY(-50%);
  transition: transform .22s ease;
}

.portfolio-card:hover {
  border-color: #c4ae50;
  box-shadow: 0 14px 30px rgba(8,19,34,.06);
}

.portfolio-card:hover img {
  transform: scale(1.025);
}

.portfolio-card:hover i {
  transform: translate(3px, -50%);
}

.portfolio-reach {
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(360px,1.2fr) minmax(280px,.8fr);
  gap: clamp(28px, 4vw, 68px);
  align-items: center;
  padding: 66px var(--portfolio-gutter);
  background: #f6f8fa;
}

.portfolio-reach-copy {
  min-width: 0;
}

.portfolio-reach-copy .portfolio-eyebrow {
  margin-bottom: 18px;
}

.portfolio-reach-copy p {
  max-width: 35em;
  margin: 20px 0 26px;
  color: var(--portfolio-muted);
  font-size: 13px;
  line-height: 1.6;
}

.portfolio-map {
  min-width: 0;
}

.portfolio-map svg {
  display: block;
  width: 100%;
  height: auto;
}

.portfolio-country {
  fill: #e9edf0;
  stroke: #fff;
  stroke-width: .8;
}

.portfolio-market {
  fill: #ffd861;
  stroke: #fff;
  stroke-width: .8;
}

.portfolio-map-label-bg {
  fill: #ffd861;
}

.portfolio-map text {
  fill: #414d5a;
  font-size: 11px;
  font-weight: 700;
}

.portfolio-reach-list {
  display: grid;
  gap: 8px;
}

.portfolio-reach-list button {
  display: grid;
  grid-template-columns: 28px minmax(0,1fr);
  align-items: start;
  gap: 12px;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid #e0e5e8;
  background: transparent;
  color: var(--portfolio-ink);
  text-align: left;
  cursor: pointer;
}

.portfolio-reach-list svg {
  width: 20px;
  height: 20px;
  color: var(--portfolio-gold);
  stroke-width: 1.8;
}

.portfolio-reach-list strong,
.portfolio-reach-list small {
  display: block;
}

.portfolio-reach-list strong {
  margin-bottom: 3px;
  font-size: 13px;
}

.portfolio-reach-list small {
  color: #73808d;
  font-size: 10px;
  line-height: 1.4;
}

.portfolio-plus {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1px solid var(--portfolio-gold);
  border-radius: 50%;
  color: var(--portfolio-gold);
  font-size: 16px;
  line-height: 1;
}

@media (min-width: 1200px) {
  .portfolio-page {
    --portfolio-gutter: clamp(52px, 5.2vw, 104px);
  }

  .portfolio-hero {
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    min-height: clamp(600px, 64svh, 720px);
  }

  .portfolio-intro {
    padding-top: 36px;
    padding-bottom: 42px;
  }

  .portfolio-primary,
  .portfolio-secondary {
    width: 228px;
    min-height: 48px;
  }
}

@media (max-width: 1199px) {
  .portfolio-page {
    --portfolio-gutter: clamp(28px, 4vw, 44px);
  }

  .portfolio-hero {
    grid-template-columns: minmax(0, 42%) minmax(0, 58%);
    min-height: 570px;
  }

  #root .portfolio-page h1 {
    font-size: clamp(42px, 8.8cqi, 58px);
  }

  .portfolio-stats {
    grid-template-columns: repeat(2, minmax(0,1fr));
    row-gap: 18px;
  }

  .portfolio-stats > div:nth-child(3) {
    padding-left: 0;
  }

  .portfolio-stats > div:nth-child(3)::before {
    display: none;
  }

  .portfolio-reach {
    grid-template-columns: minmax(0,1fr) minmax(330px,1.1fr);
  }

  .portfolio-reach-list {
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 18px;
  }

  .portfolio-reach-list button {
    border-bottom: 0;
  }
}

@media (max-width: 920px) {
  .portfolio-page {
    padding-right: 0;
  }

  .portfolio-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .portfolio-intro {
    min-height: 540px;
    padding: 28px var(--portfolio-gutter) 36px;
  }

  .portfolio-featured {
    min-height: clamp(360px, 58vw, 500px);
  }

  .portfolio-selected-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .portfolio-section-heading {
    grid-template-columns: 1fr;
  }

  .portfolio-link {
    justify-self: start;
  }

  .portfolio-reach {
    grid-template-columns: 1fr;
  }

  .portfolio-map {
    max-width: 620px;
    width: 100%;
    justify-self: center;
  }

  .portfolio-reach-list {
    grid-column: auto;
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 620px) {
  .portfolio-page {
    --portfolio-gutter: 22px;
  }

  .portfolio-intro {
    min-height: 0;
    gap: 34px;
    padding-top: 24px;
  }

  #root .portfolio-page h1 {
    font-size: clamp(38px, 10.6vw, 52px);
    line-height: 1.04;
  }

  .portfolio-copy > p {
    font-size: 14px;
  }

  .portfolio-actions {
    gap: 12px 16px;
  }

  .portfolio-primary,
  .portfolio-secondary {
    width: 220px;
    max-width: 100%;
  }

  .portfolio-stats {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .portfolio-featured {
    min-height: 360px;
  }

  .portfolio-featured-top {
    top: 16px;
    right: 16px;
  }

  .portfolio-featured-caption {
    left: 18px;
    bottom: 24px;
    max-width: calc(100% - 36px);
  }

  .portfolio-dots {
    left: 18px;
    right: 18px;
  }

  .portfolio-selected {
    padding-block: 52px 58px;
  }

  .portfolio-selected-grid {
    grid-template-columns: 1fr;
  }

  .portfolio-reach {
    padding-block: 52px;
  }

  .portfolio-reach-list {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .portfolio-reach-list button {
    border-bottom: 1px solid #e0e5e8;
  }
}

@media (prefers-reduced-motion: reduce) {
  .portfolio-card img,
  .portfolio-card i,
  .portfolio-primary,
  .portfolio-secondary {
    transition: none !important;
  }
}

/* === 2026-09-15 PROJECT EXPLORER REDESIGN === */

/* Shared restrained reveal language */
.portfolio-page [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  transition:
    opacity .64s ease var(--reveal-delay, 0ms),
    transform .64s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.portfolio-page [data-reveal="media"] {
  opacity: 0;
  transform: scale(1.018);
  clip-path: inset(0 3% 0 0);
  transition:
    opacity .78s ease var(--reveal-delay, 0ms),
    transform .9s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms),
    clip-path .86s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms);
}
.portfolio-page [data-reveal].is-visible {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}

/* Execution model — full-width editorial process block. */
.portfolio-execution {
  position: relative;
  display: block;
  min-height: 0;
  padding: clamp(72px, 7vw, 112px) var(--portfolio-gutter) clamp(68px, 6vw, 96px);
  overflow: hidden;
  background: #fff;
}

.portfolio-execution-head {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  gap: clamp(48px, 7vw, 120px);
  align-items: end;
  margin-bottom: clamp(46px, 5vw, 72px);
}

.portfolio-execution-title-block {
  min-width: 0;
}

.portfolio-execution-title-block .portfolio-eyebrow {
  margin-bottom: 18px;
}

.portfolio-execution-title-block h2 {
  max-width: 15ch;
  margin: 0;
  color: var(--portfolio-ink);
  font-size: clamp(44px, 4.8vw, 76px);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.portfolio-execution-side {
  align-self: end;
  max-width: 560px;
  justify-self: end;
}

.portfolio-execution-side > p {
  margin: 0 0 24px;
  color: var(--portfolio-muted);
  font-size: clamp(14px, .9vw, 16px);
  line-height: 1.62;
}

.portfolio-execution-cta {
  display: grid;
  grid-template-columns: auto minmax(60px, 1fr) auto;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--portfolio-ink);
  text-align: left;
  cursor: pointer;
}

.portfolio-execution-cta span {
  font-size: 10px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  white-space: nowrap;
}

.portfolio-execution-cta i {
  display: block;
  height: 1px;
  background: var(--portfolio-yellow);
  transform-origin: left center;
  transition: transform .24s cubic-bezier(.2,0,0,1);
}

.portfolio-execution-cta b {
  font-size: 22px;
  line-height: 1;
  font-weight: 400;
  transition: transform .22s cubic-bezier(.2,0,0,1);
}

.portfolio-execution-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #d9dfe4;
}

.portfolio-execution-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 8px;
  min-width: 0;
  min-height: 168px;
  padding: 24px clamp(22px, 2.2vw, 40px) 30px 0;
  border-bottom: 1px solid #d9dfe4;
}

.portfolio-execution-steps li:not(:first-child) {
  padding-left: clamp(22px, 2.2vw, 40px);
  border-left: 1px solid #d9dfe4;
}

.portfolio-execution-number {
  grid-column: 1;
  grid-row: 1 / 3;
  padding-top: 3px;
  color: #a67800;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .14em;
}

.portfolio-execution-steps strong {
  grid-column: 2;
  grid-row: 1;
  display: block;
  margin: 0;
  color: var(--portfolio-ink);
  font-size: clamp(18px, 1.35vw, 23px);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -.025em;
}

.portfolio-execution-steps p {
  grid-column: 2;
  grid-row: 2;
  width: 100%;
  max-width: 29ch;
  margin: 0;
  color: #6b7888;
  font-size: 12px;
  line-height: 1.55;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

@media (hover:hover) and (pointer:fine) {
  .portfolio-execution-cta:hover i { transform: scaleX(.96); }
  .portfolio-execution-cta:hover b { transform: translateX(5px); }
}

@media (max-width: 1100px) {
  .portfolio-execution-head {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
    gap: 40px;
  }
  .portfolio-execution-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .portfolio-execution-steps li:nth-child(3) {
    border-left: 0;
    padding-left: 0;
  }
  .portfolio-execution-steps li:nth-child(3),
  .portfolio-execution-steps li:nth-child(4) {
    border-top: 1px solid #d9dfe4;
  }
}

@media (max-width: 820px) {
  .portfolio-execution {
    padding-top: 60px;
  }
  .portfolio-execution-head {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 42px;
  }
  .portfolio-execution-side {
    max-width: 640px;
    justify-self: start;
  }
  .portfolio-execution-title-block h2 {
    max-width: 16ch;
  }
}

@media (max-width: 620px) {
  .portfolio-execution {
    padding-top: 52px;
  }
  .portfolio-execution-title-block h2 {
    font-size: clamp(38px, 10.5vw, 52px);
  }
  .portfolio-execution-cta span {
    white-space: normal;
    letter-spacing: .12em;
  }
  .portfolio-execution-steps {
    grid-template-columns: 1fr;
  }
  .portfolio-execution-steps li,
  .portfolio-execution-steps li:not(:first-child),
  .portfolio-execution-steps li:nth-child(3) {
    min-height: 0;
    padding: 22px 0 24px;
    border-left: 0;
    border-top: 0;
  }
  .portfolio-execution-steps li + li {
    border-top: 1px solid #d9dfe4;
  }
}


/* Project explorer — editorial map + evidence list. */
.portfolio-explorer {
  scroll-margin-top: 20px;
  padding: clamp(72px, 7vw, 112px) var(--portfolio-gutter) clamp(76px, 7vw, 118px);
  background: #f6f8fa;
}

.portfolio-explorer-head {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .72fr);
  gap: clamp(40px, 7vw, 120px);
  align-items: end;
  margin-bottom: clamp(30px, 3vw, 48px);
}

.portfolio-explorer-title-block {
  min-width: 0;
}

.portfolio-explorer-head .portfolio-eyebrow {
  margin-bottom: 20px;
}

.portfolio-explorer-head h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--portfolio-ink);
  font-size: clamp(44px, 4.8vw, 78px);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.portfolio-explorer-head > p {
  align-self: end;
  max-width: 37em;
  margin: 0 0 8px;
  color: #68778a;
  font-size: clamp(14px, .9vw, 17px);
  line-height: 1.58;
}

.portfolio-explorer-body {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(440px, .84fr);
  gap: clamp(42px, 5vw, 82px);
  align-items: start;
}

.portfolio-explorer-left {
  min-width: 0;
}

.portfolio-filter-dropdown {
  position: relative;
  z-index: 12;
  width: min(100%, 340px);
  margin-bottom: clamp(28px, 3vw, 44px);
}

.portfolio-filter-dropdown summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 14px;
  align-items: center;
  gap: 13px;
  min-height: 56px;
  padding: 9px 14px 9px 17px;
  border: 1px solid #d9dfe5;
  border-radius: 3px;
  background: #fff;
  color: var(--portfolio-ink);
  cursor: pointer;
  list-style: none;
  user-select: none;
  transition:
    border-color var(--motion-fast, 180ms) ease,
    box-shadow var(--motion-fast, 180ms) ease,
    background-color var(--motion-fast, 180ms) ease;
}

.portfolio-filter-dropdown summary::-webkit-details-marker { display: none; }
.portfolio-filter-dropdown summary::marker { content: ""; }

.portfolio-filter-dropdown summary::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 11px;
  bottom: 11px;
  width: 2px;
  background: var(--portfolio-yellow);
}

.portfolio-filter-dropdown summary:hover {
  border-color: #c8d0d8;
  background: #fbfcfd;
}

.portfolio-filter-dropdown[open] summary {
  border-color: #d4ae00;
  box-shadow: 0 0 0 1px rgba(255,212,0,.12);
}

.portfolio-filter-summary-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.portfolio-filter-summary-copy small {
  color: #7b8794;
  font-size: 8.5px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 2px;
}

.portfolio-filter-summary-copy strong {
  overflow: hidden;
  color: var(--portfolio-ink);
  font-size: 13.5px;
  line-height: 1.2;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.portfolio-filter-summary-count {
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding-inline: 8px;
  border: 1px solid #e0e5ea;
  border-radius: 999px;
  background: #f6f8fa;
  color: #526071;
  font-size: 10.5px;
  line-height: 1;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.portfolio-filter-dropdown[open] .portfolio-filter-summary-count {
  border-color: var(--portfolio-yellow);
  background: var(--portfolio-yellow);
  color: var(--portfolio-ink);
}

.portfolio-filter-chevron {
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #566575;
  border-bottom: 1.5px solid #566575;
  transform: translateY(-2px) rotate(45deg);
  transform-origin: center;
  transition: transform .2s cubic-bezier(.2,0,0,1);
}

.portfolio-filter-dropdown[open] .portfolio-filter-chevron {
  transform: translateY(2px) rotate(225deg);
}

.portfolio-filter-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  width: 100%;
  padding: 6px;
  border: 1px solid #d9dfe5;
  border-radius: 3px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 16px 34px rgba(8,19,34,.11);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.portfolio-filter-menu button {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 42px;
  padding: 9px 10px 9px 12px;
  border: 0;
  border-radius: 2px;
  background: transparent;
  color: #344252;
  text-align: left;
  font-size: 12.5px;
  line-height: 1.2;
  font-weight: 600;
  cursor: pointer;
  transition: background-color .18s ease, color .18s ease;
}

.portfolio-filter-menu button:hover,
.portfolio-filter-menu button:focus-visible {
  background: #f5f7f9;
  color: var(--portfolio-ink);
  outline: none;
}

.portfolio-filter-menu button.is-active {
  background: #fff9d9;
  color: var(--portfolio-ink);
  box-shadow: inset 2px 0 0 var(--portfolio-yellow);
}

.portfolio-filter-menu button small {
  display: grid;
  place-items: center;
  min-width: 27px;
  height: 24px;
  padding-inline: 7px;
  border-radius: 999px;
  background: #eef2f5;
  color: #617083;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.portfolio-filter-menu button.is-active small {
  background: var(--portfolio-yellow);
  color: var(--portfolio-ink);
}

.portfolio-map-panel {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.portfolio-map {
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 860px;
  margin: 0;
  overflow: hidden;
}

.portfolio-map svg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 640 / 700;
  overflow: hidden;
}

.portfolio-map::after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 0;
  right: 0;
  bottom: 0;
  height: 17%;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.88) 68%, #fff 96%);
}

.portfolio-country {
  fill: #e2e6ea;
  stroke: #fff;
  stroke-width: .9;
  vector-effect: non-scaling-stroke;
  shape-rendering: geometricPrecision;
  transition:
    fill var(--motion-fast, 180ms) ease,
    stroke var(--motion-fast, 180ms) ease,
    opacity var(--motion-fast, 180ms) ease;
}

.portfolio-country.has-unpublished-projects {
  fill: #fff0b5;
  stroke: #fff;
  stroke-width: .9;
}

.portfolio-country.is-context {
  fill: #edf0f2;
  stroke: #fff;
  opacity: .62;
  pointer-events: none;
}

.portfolio-country.has-projects {
  fill: #ffd127;
  cursor: pointer;
}

.portfolio-country.has-projects:hover,
.portfolio-country.has-projects.is-active {
  fill: #ffc900;
  stroke: #fff;
  stroke-width: 1;
}

.portfolio-country[role="button"]:focus-visible {
  outline: none;
  stroke: #081322;
  stroke-width: 2;
}

.portfolio-explorer-results {
  min-width: 0;
}

.portfolio-results-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 14px;
  padding: 0 0 18px;
  border-bottom: 1px solid #dfe4e8;
}

.portfolio-results-head span {
  color: #657486;
  font-size: 10px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.portfolio-results-head strong {
  color: var(--portfolio-ink);
  font-size: clamp(36px, 3.2vw, 54px);
  line-height: .9;
  font-weight: 500;
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
}

.portfolio-explorer-grid {
  display: grid;
  gap: 0;
}

.portfolio-explorer-card {
  display: grid;
  grid-template-columns: clamp(126px, 10vw, 178px) minmax(0, 1fr);
  gap: clamp(16px, 1.8vw, 24px);
  align-items: center;
  min-width: 0;
  padding: 16px 0;
  border: 0;
  border-bottom: 1px solid #dfe4e8;
  background: transparent;
  color: var(--portfolio-ink);
  text-align: left;
  cursor: pointer;
}

.portfolio-explorer-card:first-child {
  padding-top: 0;
}

.portfolio-explorer-photo {
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #e3e8eb;
}

.portfolio-explorer-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 320ms var(--ease-standard, cubic-bezier(.2,0,0,1));
}

.portfolio-explorer-copy {
  position: relative;
  display: block;
  min-width: 0;
  padding-right: 42px;
}

.portfolio-explorer-meta {
  display: block;
  margin-bottom: 7px;
  color: #c18f00;
  font-size: 10px;
  line-height: 1.25;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.portfolio-explorer-copy strong {
  display: block;
  margin-bottom: 6px;
  color: var(--portfolio-ink);
  font-size: clamp(17px, 1.2vw, 22px);
  line-height: 1.17;
  font-weight: 600;
  letter-spacing: -.025em;
}

.portfolio-explorer-copy small {
  display: block;
  max-width: 46ch;
  color: #6b7889;
  font-size: 12px;
  line-height: 1.46;
}

.portfolio-explorer-copy i {
  position: absolute;
  right: 0;
  top: 50%;
  color: var(--portfolio-ink);
  font-size: 20px;
  font-style: normal;
  transform: translateY(-50%);
  transition: transform 220ms var(--ease-standard, cubic-bezier(.2,0,0,1));
}

.portfolio-explorer-card:hover .portfolio-explorer-photo img { transform: scale(1.025); }
.portfolio-explorer-card:hover .portfolio-explorer-copy i { transform: translate(5px,-50%); }

.portfolio-explorer-all {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 18px;
  width: 100%;
  min-height: 48px;
  margin-top: 18px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--portfolio-ink);
  cursor: pointer;
  text-align: left;
}

.portfolio-explorer-all span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  white-space: nowrap;
}

.portfolio-explorer-all i {
  display: block;
  height: 1px;
  background: var(--portfolio-yellow);
  transform-origin: left center;
  transition: transform 240ms var(--ease-standard, cubic-bezier(.2,0,0,1));
}

.portfolio-explorer-all b {
  font-size: 22px;
  line-height: 1;
  font-weight: 400;
  transition: transform 220ms var(--ease-standard, cubic-bezier(.2,0,0,1));
}

.portfolio-explorer-all:hover i { transform: scaleX(.96); }
.portfolio-explorer-all:hover b { transform: translateX(5px); }

@media (min-width: 1800px) {
  .portfolio-explorer-body {
    grid-template-columns: minmax(0, 1.2fr) minmax(520px, .8fr);
    gap: 86px;
  }

  .portfolio-map { max-width: 900px; }
}

@media (max-width: 1199px) {
  .portfolio-explorer-head {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .8fr);
    gap: 42px;
  }

  .portfolio-explorer-body {
    grid-template-columns: minmax(0, 1.08fr) minmax(410px, .92fr);
    gap: 34px;
  }

  .portfolio-explorer-card {
    grid-template-columns: 132px minmax(0,1fr);
    gap: 16px;
  }
}

@media (max-width: 920px) {
  .portfolio-explorer {
    padding-block: 64px 72px;
  }

  .portfolio-explorer-head {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .portfolio-explorer-head h2 {
    max-width: 15ch;
  }

  .portfolio-explorer-head > p {
    max-width: 46em;
  }

  .portfolio-explorer-body {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .portfolio-explorer-results {
    order: 1;
  }

  .portfolio-explorer-left {
    order: 2;
  }

  .portfolio-map {
    max-width: 720px;
    margin-inline: auto;
  }
}

@media (max-width: 620px) {
  .portfolio-explorer {
    padding-block: 54px 62px;
  }

  .portfolio-explorer-head h2 {
    font-size: clamp(38px, 11vw, 52px);
  }

  .portfolio-filter-dropdown {
    width: 100%;
    margin-bottom: 24px;
  }

  .portfolio-filter-dropdown summary {
    min-height: 52px;
    padding: 8px 12px 8px 15px;
  }

  .portfolio-filter-menu {
    top: calc(100% + 6px);
  }


  .portfolio-explorer-card {
    grid-template-columns: 108px minmax(0,1fr);
    gap: 13px;
    padding: 14px 0;
  }

  .portfolio-explorer-copy {
    padding-right: 28px;
  }

  .portfolio-explorer-copy strong {
    font-size: 15px;
  }

  .portfolio-explorer-copy small {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 11px;
  }

  .portfolio-explorer-all {
    gap: 12px;
  }

  .portfolio-explorer-all span {
    font-size: 9px;
    letter-spacing: .13em;
  }
}

@media (prefers-reduced-motion: reduce) {
  .portfolio-page [data-reveal] {
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    transition:none!important;
  }
}

/* === 2026-09-16 motion & depth pass === */
.portfolio-page [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity .66s ease var(--reveal-delay, 0ms),
    transform .72s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}
.portfolio-page [data-reveal="media"] {
  opacity: 0;
  transform: scale(1.018);
  clip-path: inset(0 3.5% 0 0);
  transition:
    opacity .78s ease var(--reveal-delay, 0ms),
    transform .95s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms),
    clip-path .9s cubic-bezier(.22,.75,.2,1) var(--reveal-delay, 0ms);
}
.portfolio-page [data-reveal].is-visible {
  opacity: 1;
  transform: none;
  clip-path: inset(0);
}

.portfolio-featured-image {
  animation: portfolioFeaturedImageIn .72s cubic-bezier(.22,.75,.2,1) both;
  transform-origin: center;
}
.portfolio-featured-caption {
  animation: portfolioFeaturedCaptionIn .46s cubic-bezier(.22,.75,.2,1) both;
}
@keyframes portfolioFeaturedImageIn {
  from { opacity: .42; transform: scale(1.028); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes portfolioFeaturedCaptionIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

.portfolio-dots button {
  position: relative;
  overflow: hidden;
  transition: opacity .22s ease;
}
.portfolio-dots button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--portfolio-yellow);
  transform: scaleX(0);
  transform-origin: left center;
}
.portfolio-dots button.is-active::after {
  animation: portfolioDotProgress 9s linear both;
}
@keyframes portfolioDotProgress { to { transform: scaleX(1); } }

.portfolio-showcase-card {
  isolation: isolate;
}
.portfolio-showcase-card img {
  transition: transform .7s cubic-bezier(.22,.75,.2,1), filter .45s ease;
}
.portfolio-showcase-overlay {
  transition: opacity .38s ease;
}
.portfolio-showcase-copy > * {
  transition: transform .34s cubic-bezier(.22,.75,.2,1), opacity .34s ease;
}
@media (hover:hover) and (pointer:fine) {
  .portfolio-showcase-card:hover img { transform: scale(1.035); filter: saturate(1.03) contrast(1.02); }
  .portfolio-showcase-card:hover .portfolio-showcase-overlay { opacity: .9; }
  .portfolio-showcase-card:hover .portfolio-showcase-copy strong { transform: translateY(-2px); }
  .portfolio-showcase-card:hover .portfolio-showcase-copy i { transform: translateX(6px); }
  .portfolio-explorer-card { transition: transform .28s cubic-bezier(.22,.75,.2,1), opacity .28s ease; }
  .portfolio-explorer-card:hover { transform: translateX(5px); }
}

.portfolio-filter-chips button {
  transition: background-color .24s ease, color .24s ease, border-color .24s ease, transform .24s cubic-bezier(.22,.75,.2,1);
}
@media (hover:hover) and (pointer:fine) {
  .portfolio-filter-chips button:hover { transform: translateY(-2px); }
}
.portfolio-country.has-projects.is-active {
  animation: portfolioCountryPulse 1.7s ease-in-out infinite alternate;
}
@keyframes portfolioCountryPulse {
  from { filter: drop-shadow(0 3px 6px rgba(8,19,34,.08)); }
  to { filter: drop-shadow(0 7px 13px rgba(8,19,34,.16)); }
}
.portfolio-map-label.is-active circle {
  animation: portfolioLabelPulse 1.6s ease-in-out infinite alternate;
}
@keyframes portfolioLabelPulse {
  from { transform: scale(1.05); }
  to { transform: scale(1.14); }
}

@media (prefers-reduced-motion: reduce) {
  .portfolio-page [data-reveal],
  .portfolio-featured-image,
  .portfolio-featured-caption,
  .portfolio-dots button::after,
  .portfolio-country.has-projects.is-active,
  .portfolio-map-label.is-active circle {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
    clip-path: inset(0) !important;
  }
}


/* === 2026-09-16 premium motion pass II: masked type + pointer depth === */
.portfolio-page [data-reveal="line"]{display:block;opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,22px,0);transition:opacity .70s ease var(--reveal-delay,0ms),transform .78s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms),clip-path .78s cubic-bezier(.22,.75,.2,1) var(--reveal-delay,0ms)}
.portfolio-page [data-reveal="line"].is-visible{opacity:1;transform:none;clip-path:inset(0)}
.portfolio-featured{--media-x:0px;--media-y:0px}
.portfolio-featured-image{translate:var(--media-x) var(--media-y);scale:1.012;transition:translate .72s cubic-bezier(.22,.75,.2,1),transform .72s cubic-bezier(.22,.75,.2,1),filter .5s ease}
.portfolio-eyebrow::before{transform:scaleX(0);transform-origin:left center;transition:transform .56s cubic-bezier(.22,.75,.2,1) .1s}
.portfolio-eyebrow.is-visible::before,.portfolio-section-heading.is-visible .portfolio-eyebrow::before,.portfolio-explorer-head.is-visible .portfolio-eyebrow::before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
 .portfolio-page [data-reveal="line"]{opacity:1!important;transform:none!important;clip-path:inset(0)!important;transition:none!important}
 .portfolio-featured-image{translate:0 0!important;transition:none!important}
 .portfolio-eyebrow::before{transform:scaleX(1)!important;transition:none!important}
}

/* 2026-09-17 map interaction correction */
.portfolio-country.has-projects.is-active {
  animation: none !important;
  filter: none !important;
}
.portfolio-map-panel {
  position: relative;
}


/* === 2026-09-17 map composition correction === */
.portfolio-explorer-head {
  display: block;
  margin-bottom: clamp(26px, 2.6vw, 40px);
}
.portfolio-explorer-head > p { display: none !important; }

.portfolio-map {
  width: min(100%, 760px);
  margin-inline: 0;
}
.portfolio-map svg {
  width: 100%;
  aspect-ratio: 640 / 700;
  overflow: hidden;
}
.portfolio-map::after {
  display: block;
  height: 15%;
  background: linear-gradient(180deg, rgba(246,248,250,0), rgba(246,248,250,.82) 62%, #f6f8fa 96%);
}

@media (min-width: 1200px) {
  .portfolio-explorer-left {
    padding-right: clamp(8px, 1vw, 18px);
  }
}

@media (max-width: 920px) {
  .portfolio-map {
    width: min(100%, 700px);
    margin-inline: auto;
  }
}

/* === 2026-09-17 explorer centering pass === */
@media (min-width: 1200px) {
  .portfolio-explorer-head,
  .portfolio-explorer-body {
    width: min(100%, 1580px);
    margin-inline: auto;
  }

  .portfolio-explorer-head {
    margin-bottom: clamp(26px, 2.6vw, 40px);
  }

  .portfolio-explorer-body {
    grid-template-columns: minmax(0, 740px) minmax(520px, 680px);
    justify-content: center;
    gap: clamp(44px, 3.2vw, 64px);
  }

  .portfolio-explorer-left {
    width: 100%;
    padding-right: 0;
    justify-self: end;
  }

  .portfolio-explorer-results {
    width: 100%;
    justify-self: start;
  }

  .portfolio-map {
    width: min(100%, 720px);
    max-width: 720px;
    margin-inline: 0;
  }
}


/* === 2026-09-17 explorer heading + filter reliability pass === */
.portfolio-explorer-head h2 {
  width: 100%;
  max-width: none;
  font-size: clamp(48px, 4.65vw, 78px);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.052em;
  text-wrap: balance;
}
@media (min-width: 1200px) {
  .portfolio-explorer-head h2 {
    white-space: nowrap;
  }
}
.portfolio-filter-chips {
  position: relative;
  z-index: 8;
  pointer-events: auto;
}
.portfolio-filter-chips button {
  position: relative;
  z-index: 1;
  pointer-events: auto;
  touch-action: manipulation;
}
@media (max-width: 620px) {
  .portfolio-explorer-head h2 {
    max-width: none;
    font-size: clamp(38px, 10vw, 50px);
    line-height: 1.03;
    white-space: normal;
  }
}

/* === 2026-09-17 hover clipping guard ===
   Generic reveal elements must not remain clip containers after the reveal.
   Keep clipping only for explicitly masked line reveals. */
.portfolio-page [data-reveal].is-visible:not([data-reveal="line"]) {
  clip-path: none !important;
}

/* Do not move the entire result row outside its layout box on hover. */
@media (hover:hover) and (pointer:fine) {
  .portfolio-explorer-card:hover {
    transform: none !important;
  }

  .portfolio-explorer-card:hover .portfolio-explorer-copy i {
    transform: translate(3px, -50%);
  }

  .portfolio-explorer-all:hover b {
    transform: translateX(2px);
  }
}

.portfolio-explorer-results,
.portfolio-explorer-grid,
.portfolio-explorer-all {
  overflow: visible;
}

.portfolio-explorer-copy {
  padding-right: 50px;
}

.portfolio-explorer-copy i {
  right: 8px;
}

.portfolio-explorer-all {
  padding-right: 10px;
}


/* === 2026-09-17 unified CTA system === */
.portfolio-primary,
.portfolio-secondary {
  min-height:48px;
  font-size:13px!important;
  line-height:1.35;
  font-weight:600!important;
  color:#081322!important;
}
.portfolio-primary {
  background:#ffd400;
  padding:12px 18px;
}
.portfolio-primary:hover { background:#f3c800; }
.portfolio-secondary {
  background:transparent;
  padding:12px 18px;
  border-bottom:1px solid #d9b51a;
}
.portfolio-secondary:hover { border-bottom-color:#081322; }
.portfolio-primary svg,
.portfolio-secondary svg,
.portfolio-execution-cta svg,
.portfolio-explorer-all svg,
.portfolio-explorer-card .portfolio-action-arrow,
.portfolio-featured-caption .portfolio-action-arrow {
  width:18px;
  height:18px;
  flex:none;
  stroke-width:1.6;
}
.portfolio-execution-cta,
.portfolio-explorer-all {
  min-height:48px;
  color:#081322;
}
.portfolio-execution-cta span,
.portfolio-explorer-all span {
  font-size:13px!important;
  line-height:1.35;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.portfolio-execution-cta i,
.portfolio-explorer-all i {
  height:1px;
  background:#d9b51a;
}
.portfolio-execution-cta .portfolio-action-arrow,
.portfolio-explorer-all .portfolio-action-arrow {
  transition:transform .22s cubic-bezier(.2,0,0,1);
}
@media (hover:hover) and (pointer:fine) {
  .portfolio-execution-cta:hover .portfolio-action-arrow,
  .portfolio-explorer-all:hover .portfolio-action-arrow { transform:translateX(4px); }
}
.portfolio-explorer-copy .portfolio-action-arrow {
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  color:#081322;
  transition:transform .22s cubic-bezier(.2,0,0,1);
}
.portfolio-explorer-card:hover .portfolio-explorer-copy .portfolio-action-arrow {
  transform:translate(4px,-50%);
}
.portfolio-featured-caption .portfolio-action-arrow {
  align-self:end;
  color:#081322;
}


/* === 2026-09-22 final hero typography sync with Home === */
#root .portfolio-page .portfolio-copy h1 {
  margin:0 0 18px!important;
  max-width:100%;
  color:var(--portfolio-ink)!important;
  font-size:clamp(42px,9.1cqi,58px)!important;
  line-height:1.045!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
}
#root .portfolio-page .portfolio-copy h1 :is(span,strong) {
  font-weight:inherit!important;
}
@media (min-width:1200px) {
  #root .portfolio-page .portfolio-copy h1 {
    font-size:clamp(50px,9.7cqi,72px)!important;
    line-height:1.035!important;
    letter-spacing:-.055em!important;
    margin-bottom:24px!important;
  }
}
@media (max-width:599px) {
  #root .portfolio-page .portfolio-copy h1 {
    font-size:clamp(36px,9.2cqi,42px)!important;
    line-height:1.08!important;
    margin-bottom:22px!important;
  }
}

/* === 2026-09-22 unified site heading scale === */
#root .portfolio-page .portfolio-copy h1 {
  max-width:100%!important;
  font-size:var(--lexo-display-1-size)!important;
  line-height:var(--lexo-display-1-line)!important;
  font-weight:var(--lexo-display-1-weight)!important;
  letter-spacing:var(--lexo-display-1-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .portfolio-page .portfolio-copy h1 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
#root .portfolio-page :is(
  .portfolio-section-heading h2,
  .portfolio-reach h2,
  .portfolio-execution-title-block h2,
  .portfolio-explorer-head h2
) {
  max-width:100%!important;
  font-size:var(--lexo-display-2-size)!important;
  line-height:var(--lexo-display-2-line)!important;
  font-weight:var(--lexo-display-2-weight)!important;
  letter-spacing:var(--lexo-display-2-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .portfolio-page :is(
  .portfolio-section-heading h2,
  .portfolio-reach h2,
  .portfolio-execution-title-block h2,
  .portfolio-explorer-head h2
) :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
/* === end unified site heading scale === */

/* === 2026-09-22 hero accent + shared BrandLogo === */
#root .portfolio-page .portfolio-copy h1 .portfolio-title-accent {
  color:var(--portfolio-gold)!important;
}
#root .portfolio-page .portfolio-brand {
  display:inline-flex;
  align-items:center;
  width:fit-content;
}

/* === 2026-09-24 execution steps — same visual language as Career process === */
.portfolio-execution-steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(28px,4vw,72px);
  margin:0;
  padding:0;
  list-style:none;
  border:0!important;
}

.portfolio-execution-steps li,
.portfolio-execution-steps li:not(:first-child) {
  position:relative;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  grid-template-areas:
    "number icon ."
    "title title title"
    "copy copy copy";
  align-content:start;
  justify-content:start;
  column-gap:14px;
  row-gap:0;
  min-width:0;
  min-height:0;
  padding:0!important;
  border:0!important;
  background:transparent;
}

.portfolio-execution-number {
  grid-area:number;
  align-self:center;
  padding:0;
  color:#d0d6dc!important;
  font-size:2.2rem!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.055em!important;
  transition:color .3s ease,transform .3s cubic-bezier(.22,.75,.2,1);
}

.portfolio-execution-icon {
  grid-area:icon;
  align-self:center;
  width:1.8rem;
  height:1.8rem;
  margin:0;
  color:#e3b000;
  stroke-width:1.65;
  transition:transform .3s cubic-bezier(.22,.75,.2,1),color .3s ease;
}

.portfolio-execution-steps strong {
  grid-area:title;
  display:block;
  margin:.95rem 0 .55rem;
  color:var(--portfolio-ink);
  font-size:1rem;
  line-height:1.3;
  font-weight:700;
  letter-spacing:-.01em;
}

.portfolio-execution-steps p {
  grid-area:copy;
  width:100%;
  max-width:31ch;
  margin:0;
  color:#627082;
  font-size:.85rem;
  line-height:1.5;
}

@media (hover:hover) and (pointer:fine) {
  .portfolio-execution-steps li {transition:transform .3s cubic-bezier(.22,.75,.2,1);}
  .portfolio-execution-steps li:hover {transform:translateY(-4px);}
  .portfolio-execution-steps li:hover .portfolio-execution-icon {transform:translateY(-3px) scale(1.03);color:#b78d00;}
  .portfolio-execution-steps li:hover .portfolio-execution-number {color:#b8c1ca!important;transform:translateY(-2px);}
}

@media (max-width:1100px) {
  .portfolio-execution-steps {grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 3.5rem;}
  .portfolio-execution-steps li:nth-child(3),
  .portfolio-execution-steps li:nth-child(4) {border:0!important;}
}

@media (max-width:620px) {
  .portfolio-execution-steps {grid-template-columns:1fr;gap:2rem;}
  .portfolio-execution-steps li,
  .portfolio-execution-steps li:not(:first-child) {
    grid-template-columns:2.8rem auto minmax(0,1fr);
    grid-template-areas:
      "number icon ."
      ". title title"
      ". copy copy";
    column-gap:12px;
  }
  .portfolio-execution-steps strong {margin:.35rem 0 .45rem;}
}
/* === end execution steps Career sync === */

/* === 2026-09-24 mobile Realizacje polish === */
@media (max-width:599px) {
  .portfolio-page {
    --portfolio-gutter:18px;
    padding-right:0;
    background:#fff;
  }

  /* fixed mobile header shared with Home / O nas */
  .portfolio-intro::before {
    content:"";
    position:fixed;
    z-index:69;
    inset:0 0 auto;
    height:56px;
    background:#fff;
    border-bottom:1px solid #edf0f3;
  }

  .portfolio-brand {
    position:fixed;
    z-index:71;
    top:10px;
    left:14px;
    margin:0;
    transform:scale(.84);
    transform-origin:left top;
  }

  .portfolio-hero {
    display:block;
    min-height:0;
    background:#fff;
  }

  .portfolio-intro {
    display:block;
    min-height:0;
    padding:82px 18px 28px;
  }

  .portfolio-copy {
    max-width:none;
  }

  .portfolio-eyebrow {
    gap:10px;
    margin-bottom:11px;
    font-size:8px;
    line-height:1.25;
    letter-spacing:1.75px;
  }

  .portfolio-eyebrow::before {
    width:24px;
  }

  #root .portfolio-page .portfolio-copy h1 {
    margin:0 0 14px!important;
    max-width:13ch!important;
    font-size:clamp(32px,8.3vw,39px)!important;
    line-height:1.015!important;
    letter-spacing:-.05em!important;
    text-wrap:balance;
  }

  .portfolio-copy > p {
    max-width:31em;
    font-size:12.5px;
    line-height:1.45;
  }

  .portfolio-actions {
    display:grid;
    grid-template-columns:1fr;
    width:min(100%,238px);
    gap:8px;
    margin-top:18px;
  }

  .portfolio-primary,
  .portfolio-secondary {
    width:100%;
    min-height:42px;
    padding:10px 13px;
    border-radius:2px;
    font-size:11.5px;
  }

  .portfolio-secondary {
    padding-inline:13px;
    border:1px solid #b9c2cb;
    background:#fff;
  }

  .portfolio-featured {
    min-height:0;
    height:315px;
  }

  .portfolio-featured > img,
  .portfolio-featured-image {
    object-position:center 50%;
  }

  .portfolio-featured-top {
    top:12px;
    right:12px;
    gap:8px;
    padding:6px 7px;
    background:rgba(8,19,34,.56);
    backdrop-filter:blur(8px);
  }

  .portfolio-featured-top > span {
    font-size:9px;
    letter-spacing:.06em;
  }

  .portfolio-featured-arrows {
    gap:4px;
  }

  .portfolio-featured-arrows button {
    width:30px;
    height:30px;
    border:1px solid rgba(255,255,255,.26);
    border-radius:2px;
    background:rgba(255,255,255,.10);
    font-size:16px;
    line-height:1;
  }

  .portfolio-featured-caption {
    left:14px;
    right:14px;
    bottom:18px;
    width:auto;
    min-width:0;
    max-width:none;
    padding:13px 42px 13px 26px;
    border:1px solid rgba(8,19,34,.10);
    border-radius:2px;
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 24px rgba(8,19,34,.10);
    backdrop-filter:blur(8px);
  }

  .portfolio-featured-caption::before {
    left:11px;
    top:12px;
    bottom:12px;
  }

  .portfolio-featured-caption span {
    margin-bottom:3px;
    font-size:9.5px;
  }

  .portfolio-featured-caption strong {
    font-size:24px;
  }

  .portfolio-featured-caption .portfolio-action-arrow {
    position:absolute;
    right:14px;
    bottom:14px;
    width:18px;
    height:18px;
  }

  .portfolio-dots {
    left:14px;
    right:14px;
    bottom:8px;
    gap:4px;
  }

  /* process: readable mobile rows, not compressed desktop columns */
  .portfolio-execution {
    padding:42px 18px 38px;
  }

  .portfolio-execution-head {
    display:block;
    margin-bottom:22px;
  }

  .portfolio-execution-title-block h2 {
    margin-bottom:14px;
    font-size:clamp(30px,8vw,36px)!important;
    line-height:1.02!important;
  }

  .portfolio-execution-side {
    max-width:none;
  }

  .portfolio-execution-side > p {
    font-size:11.5px;
    line-height:1.48;
  }

  .portfolio-execution-cta {
    width:100%;
    margin-top:16px;
    min-height:42px;
    gap:10px;
    font-size:11.5px;
  }

  .portfolio-execution-cta i {
    min-width:24px;
  }

  .portfolio-execution-steps {
    grid-template-columns:1fr;
    gap:8px;
  }

  .portfolio-execution-steps li,
  .portfolio-execution-steps li:not(:first-child),
  .portfolio-execution-steps li:nth-child(3) {
    grid-template-columns:48px 24px minmax(0,1fr);
    grid-template-areas:
      "number icon title"
      "number . copy";
    align-items:start;
    column-gap:11px;
    min-height:0;
    padding:14px 14px!important;
    border:1px solid #e5eaee!important;
    border-radius:4px;
    background:#fff;
    box-shadow:0 6px 18px rgba(8,19,34,.035);
  }

  .portfolio-execution-steps li + li {
    border-top:1px solid #e5eaee!important;
  }

  .portfolio-execution-number {
    align-self:start;
    font-size:25px!important;
    color:#cbd3da!important;
  }

  .portfolio-execution-icon {
    width:20px;
    height:20px;
    margin-top:2px;
  }

  .portfolio-execution-steps strong {
    margin:0 0 4px;
    font-size:13px;
    line-height:1.25;
  }

  .portfolio-execution-steps p {
    max-width:none;
    font-size:10.5px;
    line-height:1.42;
  }

  /* explorer */
  .portfolio-explorer {
    padding:42px 18px 52px;
  }

  .portfolio-explorer-head {
    margin-bottom:18px;
  }

  .portfolio-explorer-head h2 {
    font-size:clamp(30px,8vw,36px)!important;
    line-height:1.02!important;
  }

  .portfolio-explorer-body {
    display:flex;
    flex-direction:column;
    gap:30px;
  }

  .portfolio-explorer-results {
    order:1;
  }

  .portfolio-explorer-left {
    order:2;
  }

  .portfolio-filter-chips {
    order:0;
    display:flex;
    flex-wrap:nowrap;
    gap:7px;
    margin:0 -18px 18px;
    padding:0 18px 4px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .portfolio-filter-chips::-webkit-scrollbar { display:none; }

  .portfolio-filter-chips button {
    flex:none;
    min-height:38px;
    padding:8px 12px;
    gap:8px;
    border-radius:2px;
    font-size:11px;
  }

  .portfolio-filter-chips button span {
    min-width:22px;
    height:20px;
    padding-inline:5px;
    font-size:9px;
  }

  .portfolio-results-head {
    align-items:center;
    margin-bottom:6px;
    padding-bottom:12px;
  }

  .portfolio-results-head span {
    font-size:8.5px;
    letter-spacing:.16em;
  }

  .portfolio-results-head strong {
    font-size:30px;
  }

  .portfolio-explorer-card {
    grid-template-columns:104px minmax(0,1fr);
    gap:12px;
    padding:12px 0;
  }

  .portfolio-explorer-photo {
    aspect-ratio:4 / 3;
    border-radius:2px;
  }

  .portfolio-explorer-copy {
    padding-right:26px;
  }

  .portfolio-explorer-meta {
    margin-bottom:4px;
    font-size:8.5px;
  }

  .portfolio-explorer-copy strong {
    margin-bottom:4px;
    font-size:14px;
  }

  .portfolio-explorer-copy small {
    font-size:10px;
    line-height:1.35;
    -webkit-line-clamp:2;
  }

  .portfolio-explorer-copy .portfolio-action-arrow {
    width:17px;
    height:17px;
  }

  .portfolio-explorer-all {
    min-height:42px;
    margin-top:10px;
  }

  .portfolio-explorer-all span {
    font-size:8.5px;
    letter-spacing:.12em;
  }

  .portfolio-map-panel {
    margin-top:4px;
  }

  .portfolio-map {
    width:100%;
    max-width:420px;
    margin-inline:auto;
  }

  .portfolio-map svg {
    aspect-ratio:640 / 650;
  }

  .portfolio-map::after {
    height:12%;
  }
}

@media (max-width:390px) {
  .portfolio-intro { padding-inline:14px; }
  .portfolio-execution,
  .portfolio-explorer { padding-left:14px; padding-right:14px; }
  .portfolio-filter-chips { margin-left:-14px; margin-right:-14px; padding-left:14px; padding-right:14px; }
  #root .portfolio-page .portfolio-copy h1 {font-size:31px!important;}
  .portfolio-featured {height:292px;}
  .portfolio-execution-steps li,
  .portfolio-execution-steps li:not(:first-child),
  .portfolio-execution-steps li:nth-child(3) {padding:13px 12px!important;}
}
/* === end mobile Realizacje polish === */

/* === 2026-09-24 CLEAN SHORT-LAPTOP HERO === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .portfolio-page { --portfolio-short-hero:clamp(500px,calc(100svh - 28px),548px); }
  #root .portfolio-hero {grid-template-columns:minmax(0,42%) minmax(0,58%)!important;height:auto!important;min-height:var(--portfolio-short-hero)!important;max-height:none!important;overflow:visible!important;}
  #root .portfolio-intro {grid-template-rows:auto 1fr auto!important;min-height:var(--portfolio-short-hero)!important;padding:22px 32px 26px 40px!important;gap:0!important;overflow:visible!important;}
  #root .portfolio-brand {min-height:34px!important;margin:0!important;}
  #root .portfolio-copy {align-self:start!important;max-width:none!important;width:100%!important;margin-top:22px!important;overflow:visible!important;}
  #root .portfolio-eyebrow {margin:0 0 8px!important;gap:10px!important;font-size:8px!important;line-height:1.25!important;letter-spacing:1.7px!important;}
  #root .portfolio-page h1 {margin:0 0 10px!important;font-size:clamp(33px,2.9vw,37px)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:500!important;max-width:100%!important;overflow:visible!important;text-wrap:pretty!important;}
  #root .portfolio-page h1 > :is(span,strong,em) {display:inline!important;white-space:normal!important;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;overflow:visible!important;}
  #root .portfolio-page h1 > :is(span,strong,em):not(:last-child)::after {content:" ";}
  #root .portfolio-copy>p {font-size:12px!important;line-height:1.42!important;max-width:36em!important;}
  #root .portfolio-actions {margin-top:14px!important;gap:10px!important;flex-wrap:nowrap!important;width:min(100%,380px)!important;}
  #root :is(.portfolio-primary,.portfolio-secondary) {flex:1 1 0!important;width:auto!important;min-width:0!important;min-height:39px!important;padding:8px 11px!important;font-size:10.5px!important;}
  #root .portfolio-stats {align-self:end!important;}
  #root .portfolio-stats>div {padding-inline:10px!important;}
  #root .portfolio-stats b {font-size:10.5px!important;}
  #root .portfolio-stats small {font-size:8.5px!important;}
  #root .portfolio-featured {align-self:stretch!important;min-height:var(--portfolio-short-hero)!important;height:auto!important;overflow:hidden!important;}
  #root .portfolio-featured>img {height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;}
  #root .portfolio-featured-caption {left:24px!important;bottom:22px!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .portfolio-page { --portfolio-short-hero:500px; }
  #root .portfolio-intro {padding-top:18px!important;padding-bottom:22px!important;}
  #root .portfolio-copy {margin-top:16px!important;}
  #root .portfolio-page h1 {font-size:clamp(31px,2.7vw,34px)!important;margin-bottom:8px!important;}
  #root .portfolio-copy>p {font-size:11.5px!important;line-height:1.38!important;}
  #root .portfolio-actions {margin-top:11px!important;}
}
/* === end clean short-laptop hero === */


/* === 2026-09-24 short-laptop breathing room pass === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .portfolio-page { --portfolio-short-hero:clamp(540px,78svh,580px); }
  #root .portfolio-hero {min-height:var(--portfolio-short-hero)!important;}
  #root .portfolio-intro {min-height:var(--portfolio-short-hero)!important;padding:28px 38px 34px 46px!important;}
  #root .portfolio-brand {min-height:36px!important;}
  #root .portfolio-copy {margin-top:30px!important;}
  #root .portfolio-eyebrow {margin-bottom:12px!important;}
  #root .portfolio-page h1 {font-size:clamp(32px,2.8vw,38px)!important;line-height:1.025!important;margin-bottom:16px!important;}
  #root .portfolio-copy>p {font-size:12.5px!important;line-height:1.5!important;max-width:35em!important;}
  #root .portfolio-actions {margin-top:20px!important;gap:12px!important;width:min(100%,410px)!important;}
  #root :is(.portfolio-primary,.portfolio-secondary) {min-height:42px!important;padding:10px 13px!important;font-size:11px!important;}
  #root .portfolio-stats {padding-top:18px!important;}
  #root .portfolio-featured {min-height:var(--portfolio-short-hero)!important;}
  #root .portfolio-featured-caption {left:28px!important;bottom:28px!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .portfolio-page { --portfolio-short-hero:540px; }
  #root .portfolio-intro {padding:24px 36px 30px 44px!important;}
  #root .portfolio-copy {margin-top:26px!important;}
  #root .portfolio-page h1 {font-size:clamp(30px,2.6vw,34px)!important;margin-bottom:14px!important;}
  #root .portfolio-copy>p {font-size:12px!important;line-height:1.46!important;}
  #root .portfolio-actions {margin-top:18px!important;}
  #root .portfolio-stats {padding-top:14px!important;}
}
/* === end short-laptop breathing room pass === */


/* === 2026-09-24 SHORT VIEWPORT SYSTEM — height-first, width-agnostic === */
@media (min-width:1024px) and (max-height:820px) {
  #root .portfolio-page { --portfolio-short-h:clamp(590px,92svh,670px); }
  #root .portfolio-hero {grid-template-columns:minmax(0,40%) minmax(0,60%)!important;min-height:var(--portfolio-short-h)!important;height:auto!important;max-height:none!important;overflow:visible!important;}
  #root .portfolio-intro {grid-template-rows:auto 1fr auto!important;min-height:var(--portfolio-short-h)!important;height:auto!important;padding:30px clamp(40px,3vw,54px) 34px clamp(46px,3.4vw,60px)!important;gap:0!important;overflow:visible!important;}
  #root .portfolio-brand {min-height:38px!important;}
  #root .portfolio-copy {align-self:start!important;width:100%!important;max-width:560px!important;margin-top:clamp(30px,5vh,42px)!important;overflow:visible!important;}
  #root .portfolio-eyebrow {margin:0 0 12px!important;}
  #root .portfolio-page h1 {font-size:clamp(32px,5.2vh,44px)!important;line-height:1.025!important;letter-spacing:-.047em!important;margin:0 0 17px!important;max-width:100%!important;overflow:visible!important;}
  #root .portfolio-page h1 > :is(span,strong,em) {white-space:normal!important;overflow:visible!important;clip-path:none!important;}
  #root .portfolio-copy>p {font-size:clamp(12.5px,1.75vh,14px)!important;line-height:1.5!important;max-width:34em!important;}
  #root .portfolio-actions {margin-top:22px!important;gap:12px 18px!important;}
  #root :is(.portfolio-primary,.portfolio-secondary) {min-height:43px!important;font-size:11px!important;padding:10px 14px!important;}
  #root .portfolio-stats {align-self:end!important;margin-top:28px!important;}
  #root .portfolio-stats>div {padding-inline:12px!important;}
  #root .portfolio-stats b {font-size:11px!important;}
  #root .portfolio-stats small {font-size:9px!important;line-height:1.35!important;}
  #root .portfolio-featured {min-height:var(--portfolio-short-h)!important;height:auto!important;align-self:stretch!important;}
  #root .portfolio-featured>img {height:100%!important;object-fit:cover!important;}
}
@media (min-width:1024px) and (max-height:680px) {
  #root .portfolio-page { --portfolio-short-h:570px; }
  #root .portfolio-intro {padding-top:26px!important;padding-bottom:30px!important;}
  #root .portfolio-copy {margin-top:26px!important;}
  #root .portfolio-page h1 {font-size:clamp(30px,4.8vh,35px)!important;margin-bottom:15px!important;}
  #root .portfolio-copy>p {font-size:12px!important;line-height:1.46!important;}
  #root .portfolio-actions {margin-top:18px!important;}
  #root .portfolio-stats {margin-top:24px!important;}
}
/* === end short viewport system === */


/* === 2026-09-25 Realizacje hero eyebrow — physical SVG line === */
#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  gap:14px!important;
  width:fit-content!important;
  padding:0!important;
}
#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow > .portfolio-hero-eyebrow-line {
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:2px!important;
  flex:0 0 24px!important;
  overflow:visible!important;
}
#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow > span {
  display:inline!important;
}
@media (max-width:680px) {
  #root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow {gap:12px!important;}
  #root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow > .portfolio-hero-eyebrow-line {
    width:22px!important; min-width:22px!important; flex-basis:22px!important;
  }
}
/* === end physical SVG line === */

/* === 2026-09-25 remove project results count === */
.portfolio-results-head {
  justify-content:flex-start!important;
}
.portfolio-results-head > strong {
  display:none!important;
}
/* === end remove project results count === */


/* === 2026-09-25 country filter dropdown polish === */
@media (max-width:420px) {
  .portfolio-filter-summary-copy small {font-size:8px;letter-spacing:1.7px;}
  .portfolio-filter-summary-copy strong {font-size:13px;}
  .portfolio-filter-summary-count {min-width:26px;height:26px;font-size:10px;}
  .portfolio-filter-menu button {min-height:40px;font-size:12px;}
}


/* === 2026-09-25 FINAL MOBILE REALIZACJE SIMPLIFICATION === */
@media (max-width:767px){
  #root#root .portfolio-page .portfolio-explorer-body{display:flex!important;flex-direction:column!important;gap:18px!important;}
  #root#root .portfolio-page .portfolio-explorer-left{order:1!important;display:block!important;width:100%!important;}
  #root#root .portfolio-page .portfolio-map-panel{display:none!important;}
  #root#root .portfolio-page .portfolio-explorer-results{order:2!important;width:100%!important;}
  #root#root .portfolio-page .portfolio-filter-dropdown{width:100%!important;margin:0!important;}
}
/* === end FINAL MOBILE REALIZACJE SIMPLIFICATION === */

/* === 2026-09-25 MOBILE country filter reliability === */
@media (max-width:767px){
  #root#root .portfolio-page .portfolio-filter-dropdown{
    position:relative!important;
    z-index:20!important;
    width:100%!important;
    margin:0 0 18px!important;
  }
  #root#root .portfolio-page .portfolio-filter-dropdown summary{
    min-height:54px!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  #root#root .portfolio-page .portfolio-filter-menu{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    margin-top:8px!important;
    padding:5px!important;
    box-shadow:0 10px 24px rgba(8,19,34,.08)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  #root#root .portfolio-page .portfolio-filter-menu button{
    min-height:46px!important;
    padding:11px 12px!important;
    touch-action:manipulation!important;
  }
}
/* === end MOBILE country filter reliability === */


html:has(#root#root .recruit-page),body:has(#root#root .recruit-page),
#root#root:has(.recruit-page),#root#root .lexo-shell:has(.recruit-page),
#root#root:has(.recruit-page) .presentation-main,#root#root:has(.recruit-page) .presentation-viewport,
#root#root:has(.recruit-page) .presentation-frame {
 display:block!important;position:static!important;width:100%!important;max-width:none!important;
 height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;
 margin:0!important;padding:0!important;transform:none!important;animation:none!important;background:#fff!important;color:#0b1520!important;
}
#root#root:has(.recruit-page) .lexo-shell>header,#root#root:has(.recruit-page) .story-footer,
#root#root:has(.recruit-page) .hero-opening-beam {display:none!important;}

.recruit-page {--yellow:#ffcf00;--border:#dce2e7;padding-right:clamp(6.25rem,7.2vw,8.125rem);font-family:Arial,Helvetica,sans-serif;color:#0b1520;background:#fff;}
.recruit-page * {box-sizing:border-box;min-width:0;}
.recruit-page button,.recruit-page input,.recruit-page select {font:inherit;}
.recruit-page button {cursor:pointer;}
.recruit-page :is(button,a,input,select):focus-visible {outline:2px solid #a67e00;outline-offset:3px;}
#root .recruit-page :is(h1,h2,h3,b) {color:#0b1520;font-weight:750;}
#root .recruit-page p {color:#5a6776;line-height:1.5;}
.recruit-hero {display:grid;grid-template-columns:44% 56%;}
.recruit-copy {padding:clamp(1.5rem,3.5vw,4rem);container-type:inline-size;}
.recruit-brand {display:flex;align-items:center;gap:.8rem;margin-bottom:clamp(2.5rem,5vw,5rem);text-decoration:none;color:inherit;width:fit-content;}
.recruit-brand img {width:2.8rem;height:2.8rem;object-fit:contain;}
.recruit-brand b {font-size:1.85rem;display:block;line-height:1;}
.recruit-brand small {display:block;font-size:.65rem;color:#657180;margin-top:.4rem;}
.recruit-eyebrow {font-size:.7rem;font-weight:700;letter-spacing:.14em;color:#6c7680;}
#root .recruit-page h1 {font-size:clamp(1.9rem,9.3cqi,4.5rem);letter-spacing:-.045em;line-height:1.05;margin:1.4rem 0 1.8rem;}
.recruit-page h1>span {display:block;}
#root .recruit-page h1>span:nth-child(2) {color:#e5b300;}
.recruit-copy>p {font-size:clamp(.95rem,1.05vw,1.2rem);margin:0 0 2rem;max-width:34rem;}
.recruit-roles {display:grid;gap:.65rem;}
.recruit-roles button {display:flex;align-items:center;gap:1rem;text-align:left;padding:1rem;border:0;border-bottom:1px solid var(--border);background:white;color:#0b1520;position:relative;}
.recruit-roles button[aria-pressed=true] {background:#fffbed;}
.recruit-roles button[aria-pressed=true]:before {content:"";position:absolute;top:0;left:0;bottom:0;width:2px;background:var(--yellow);}
.recruit-roles svg {width:1.7rem;height:1.7rem;flex:none;color:#555f68;}
.recruit-roles b {display:block;font-size:1rem;}
.recruit-roles small {display:block;font-size:.75rem;color:#647180;margin-top:.35rem;}
.recruit-roles button>span:last-child {margin-left:auto;font-size:1.4rem;}
.recruit-locations {display:flex;gap:.5rem;align-items:flex-start;font-size:.7rem;color:#647180;line-height:1.4;margin:1rem 0 2rem;}
.recruit-locations svg {width:1rem;height:1rem;color:#c39c00;flex:none;}
.recruit-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border);}
.recruit-stats>div {display:flex;align-items:flex-start;gap:.65rem;border-left:1px solid var(--border);padding:0 .8rem;}
.recruit-stats>div:first-child {padding-left:0;border:0;}
.recruit-stats svg {width:1.65rem;height:1.65rem;flex:none;color:#d3a600;}
.recruit-stats b {display:block;font-size:clamp(1rem,1.3vw,1.4rem);}
.recruit-stats small {display:block;font-size:.7rem;line-height:1.4;color:#647180;margin-top:.4rem;}
.recruit-visual {position:relative;display:flex;align-items:center;justify-content:flex-end;padding:clamp(2rem,4vw,5rem) clamp(1.25rem,3vw,3rem);min-height:48rem;}
.recruit-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% center;}
.recruit-form-card {position:relative;width:min(100%,33rem);background:#fffffffa;border:1px solid #ffffff80;padding:clamp(1.25rem,2vw,2rem);border-radius:3px;}
#root .recruit-form-card h2 {font-size:clamp(1.4rem,1.8vw,2rem);margin:0;line-height:1.2;}
.recruit-form-card>p {font-size:.8rem;margin:.6rem 0 1.5rem;}
.recruit-form-card fieldset {border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1rem;}
.recruit-form-card label {display:flex;flex-direction:column;gap:.5rem;font-size:.75rem;font-weight:600;color:#465360;}
.recruit-form-card input:not([type=checkbox]),.recruit-form-card select {width:100%;min-height:2.9rem;border:1px solid var(--border);border-radius:2px;background:#f8f9fa;color:#172330;padding:.65rem .75rem;font-size:1rem;}
.recruit-full {grid-column:1/-1;}
.recruit-upload {border-top:1px solid var(--border);padding-top:1rem;}
.recruit-upload>span {display:flex;gap:.6rem;align-items:center;}
.recruit-upload svg {width:1.5rem;height:1.5rem;color:#76818b;flex:none;}
.recruit-upload small {display:block;font-size:.7rem;font-weight:400;line-height:1.5;overflow-wrap:anywhere;}
.recruit-form-card input[type=file] {background:none;border:0;padding:.25rem 0;min-height:2.5rem;font-size:.75rem;}
.recruit-upload input::file-selector-button {background:#eef1f4;border:0;padding:.7rem;color:#243241;margin-right:.7rem;cursor:pointer;}
.recruit-submit {display:flex;justify-content:center;align-items:center;gap:1.5rem;background:var(--yellow);border:0;color:#0b1520;font-size:.9rem!important;font-weight:700!important;padding:1rem;min-height:3.1rem;}
.recruit-submit span {transition:transform .15s;}
.recruit-submit:hover:not(:disabled) {background:#f1c000;}
.recruit-submit:hover span {transform:translateX(3px);}
.recruit-submit:disabled {cursor:wait;opacity:.65;}
.recruit-form-card [aria-invalid=true] {border-color:#b34830!important;}
#root .recruit-page .recruit-error {color:#a43325;font-size:.75rem;line-height:1.4;font-weight:400;}
.recruit-success {border-left:2px solid #d6ac00;padding:1rem;background:#fffbed;font-size:.9rem;}
.recruit-process {padding:clamp(2rem,4vw,4.5rem);border-top:1px solid var(--border);}
#root .recruit-process h2 {font-size:clamp(1.8rem,2.5vw,3rem);margin:1rem 0 2.5rem;}
.recruit-process ol {padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem;}
.recruit-process li {display:grid;grid-template-columns:auto 1fr;gap:.6rem 1rem;align-content:start;position:relative;}
.recruit-step-number {font-size:2.2rem;font-weight:700;color:#d0d6dc;}
.recruit-process li>svg {width:1.8rem;height:1.8rem;color:#d6a700;margin:.3rem 0;}
.recruit-process h3 {grid-column:1/-1;font-size:1rem;margin:.5rem 0 0;}
.recruit-process li p {grid-column:1/-1;font-size:.85rem;margin:0;}
.recruit-benefit {border-left:2px solid #e8b800;padding:1rem 1.3rem;margin-top:2.5rem;max-width:35rem;background:#fafbfc;}
.recruit-benefit p {font-size:.85rem;margin:.4rem 0 0;}
.recruit-sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
@media(min-width:1700px){.recruit-visual {padding-top:11rem;padding-bottom:4rem;}}
@media(max-width:1279px){.recruit-copy {padding:2rem;}.recruit-visual {padding:2rem 1.25rem;}.recruit-form-card {padding:1.3rem;}.recruit-stats {grid-template-columns:1fr;gap:1rem;}.recruit-stats>div {border:0;padding:0;}.recruit-stats small {margin-top:.2rem;}}
@media(max-width:1023px){
 .recruit-page {padding-right:0;}.recruit-hero {grid-template-columns:1fr;}
 .recruit-copy {padding:2rem clamp(1.25rem,5vw,3rem);}.recruit-brand {margin-right:6rem;}
 #root .recruit-page h1 {font-size:clamp(1.9rem,8cqi,4rem);}
 .recruit-stats {grid-template-columns:repeat(3,minmax(0,1fr));}.recruit-stats>div:not(:first-child){border-left:1px solid var(--border);padding-left:1rem;}
 .recruit-visual {display:block;padding:0;min-height:0;}.recruit-photo {position:relative;display:block;height:clamp(20rem,58vw,35rem);object-position:center 35%;}
 .recruit-form-card {width:100%;border:0;border-radius:0;padding:2rem clamp(1.25rem,5vw,3rem);}
 .recruit-process ol {grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;}
}
@media(max-width:540px){
 .recruit-form-card fieldset {grid-template-columns:1fr;}.recruit-stats {grid-template-columns:1fr;}
 .recruit-stats>div:not(:first-child){border:0;padding-left:0;}.recruit-stats b {font-size:1.25rem;}
 .recruit-process {padding:2rem 1.25rem;}.recruit-process ol {grid-template-columns:1fr;gap:2rem;}
 .recruit-process li {grid-template-columns:2.8rem 1fr;}.recruit-process h3,.recruit-process li p {grid-column:2;}
}
@media(prefers-reduced-motion:reduce){.recruit-submit span {transition:none;}}

/* === 2026-09-16 premium motion pass === */
.recruit-page {
  --motion-ease: cubic-bezier(.22,.75,.2,1);
  --motion-fast: .26s;
  --motion-main: .68s;
}
.recruit-page [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity var(--motion-main) ease var(--reveal-delay,0ms),
    transform var(--motion-main) var(--motion-ease) var(--reveal-delay,0ms);
  will-change: opacity, transform;
}
.recruit-page [data-reveal="fade"] { transform: none; }
.recruit-page [data-reveal="media"] {
  opacity: 0;
  transform: scale(1.02);
  clip-path: inset(0 4% 0 0);
  transition:
    opacity .8s ease var(--reveal-delay,0ms),
    transform .95s var(--motion-ease) var(--reveal-delay,0ms),
    clip-path .9s var(--motion-ease) var(--reveal-delay,0ms);
}
.recruit-page [data-reveal].is-visible { opacity:1; transform:none; clip-path:inset(0); }

.recruit-eyebrow {
  display:flex;
  align-items:center;
  gap:14px;
}
.recruit-eyebrow::before {
  content:"";
  width:30px;
  height:1px;
  flex:none;
  background:var(--yellow);
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .58s var(--motion-ease) .12s;
}
.recruit-eyebrow.is-visible::before,
.recruit-process:has(.recruit-eyebrow.is-visible) .recruit-eyebrow::before { transform:scaleX(1); }

.recruit-photo-motion { animation: recruitRolePhotoIn .72s var(--motion-ease) both; }
@keyframes recruitRolePhotoIn {
  from { opacity:.35; transform:scale(1.035); filter:saturate(.9); }
  to { opacity:1; transform:scale(1); filter:none; }
}

.recruit-roles button {
  overflow:hidden;
  transition:background-color .26s ease,color .26s ease,transform .26s var(--motion-ease);
}
.recruit-roles button::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:#d9e0e5;
  transform-origin:left center;
  transition:transform .35s var(--motion-ease),background-color .25s ease;
}
.recruit-roles button[aria-pressed=true]::after { background:var(--yellow); transform:scaleX(1); }
.recruit-roles button>span:last-child { transition:transform .26s var(--motion-ease); }
@media (hover:hover) and (pointer:fine) {
  .recruit-roles button:hover { transform:translateX(4px); }
  .recruit-roles button:hover>span:last-child { transform:translateX(5px); }
  .recruit-roles button:hover svg { transform:translateY(-2px); }
}
.recruit-roles svg { transition:transform .26s var(--motion-ease),color .26s ease; }

.recruit-form-card {
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 18px 48px rgba(8,19,34,.10);
  transition:box-shadow .3s ease,transform .3s var(--motion-ease);
}
.recruit-form-card input:not([type=checkbox]),
.recruit-form-card select {
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s var(--motion-ease);
}
.recruit-form-card input:not([type=checkbox]):focus,
.recruit-form-card select:focus {
  border-color:#d4aa00;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,207,0,.12);
  transform:translateY(-1px);
}
.recruit-submit { transition:background-color .22s ease,transform .22s var(--motion-ease),box-shadow .22s ease; }
@media (hover:hover) and (pointer:fine) {
  .recruit-submit:hover:not(:disabled) { transform:translateY(-2px); box-shadow:0 10px 24px rgba(8,19,34,.10); }
}
.recruit-success { animation: recruitSuccessIn .45s var(--motion-ease) both; }
@keyframes recruitSuccessIn { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:none} }

.recruit-process li { transition:transform .3s var(--motion-ease); }
.recruit-process li>svg { transition:transform .3s var(--motion-ease),color .3s ease; }
.recruit-step-number { transition:color .3s ease,transform .3s var(--motion-ease); }
@media (hover:hover) and (pointer:fine) {
  .recruit-process li:hover { transform:translateY(-4px); }
  .recruit-process li:hover>svg { transform:translateY(-3px) scale(1.03); color:#b78d00; }
  .recruit-process li:hover .recruit-step-number { color:#b8c1ca; transform:translateY(-2px); }
}

@media(min-width:1200px){
  .recruit-hero{grid-template-columns:38% 62%;min-height:clamp(620px,68svh,780px)}
  .recruit-copy{padding:36px clamp(42px,3vw,60px) 48px clamp(48px,3.7vw,76px)}
  .recruit-visual{padding:clamp(42px,4vw,72px) clamp(34px,3vw,56px);min-height:inherit}
}

@media(prefers-reduced-motion:reduce){
  .recruit-page [data-reveal],.recruit-photo-motion,.recruit-success{opacity:1!important;transform:none!important;clip-path:inset(0)!important;animation:none!important;transition:none!important}
  .recruit-eyebrow::before{transform:scaleX(1)!important;transition:none!important}
  .recruit-roles button,.recruit-roles svg,.recruit-process li,.recruit-process li>svg,.recruit-step-number,.recruit-submit{transition:none!important}
}

#root .recruit-page h1>span:nth-child(2){color:#0b1520} #root .recruit-page h1>span:nth-child(3){color:#e5b300}


/* === 2026-09-16 premium motion pass II: masked type + pointer depth === */
.recruit-page [data-reveal="line"]{display:block;opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,22px,0);transition:opacity .70s ease var(--reveal-delay,0ms),transform .78s var(--motion-ease) var(--reveal-delay,0ms),clip-path .78s var(--motion-ease) var(--reveal-delay,0ms)}
.recruit-page [data-reveal="line"].is-visible{opacity:1;transform:none;clip-path:inset(0)}
.recruit-visual{--media-x:0px;--media-y:0px;overflow:hidden}
.recruit-photo{translate:var(--media-x) var(--media-y);scale:1.012;transition:translate .72s var(--motion-ease)}
@media(prefers-reduced-motion:reduce){.recruit-page [data-reveal="line"]{opacity:1!important;transform:none!important;clip-path:inset(0)!important;transition:none!important}.recruit-photo{translate:0 0!important;transition:none!important}}


/* === 2026-09-17 unified CTA system === */
.recruit-submit {
  min-height:48px;
  padding:12px 18px;
  background:#ffd400;
  color:#081322;
  font-size:13px!important;
  line-height:1.35;
  font-weight:600!important;
  align-items:center;
  justify-content:space-between;
}
.recruit-submit:hover:not(:disabled) { background:#f3c800; }
.recruit-submit svg {
  width:18px;
  height:18px;
  flex:none;
  stroke-width:1.6;
  transition:transform .22s cubic-bezier(.2,0,0,1);
}
@media (hover:hover) and (pointer:fine) {
  .recruit-submit:hover:not(:disabled) svg { transform:translateX(4px); }
}


/* === 2026-09-22 final hero typography sync with Home === */
#root .recruit-page .recruit-copy h1 {
  margin:0 0 18px!important;
  max-width:100%;
  color:#0b1520!important;
  font-size:clamp(42px,9.1cqi,58px)!important;
  line-height:1.045!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
}
#root .recruit-page .recruit-copy h1>span {
  font-weight:inherit!important;
}
@media (min-width:1200px) {
  #root .recruit-page .recruit-copy h1 {
    font-size:clamp(50px,9.7cqi,72px)!important;
    line-height:1.035!important;
    letter-spacing:-.055em!important;
    margin-bottom:24px!important;
  }
}
@media (max-width:599px) {
  #root .recruit-page .recruit-copy h1 {
    font-size:clamp(36px,9.2cqi,42px)!important;
    line-height:1.08!important;
    margin-bottom:22px!important;
  }
}

/* === 2026-09-22 recruitment wizard — 2-step production form === */
.recruit-form-card {
  position:relative;
  width:min(100%,38rem);
  max-width:38rem;
  padding:28px 30px 26px;
  overflow:visible;
  border:1px solid rgba(8,19,34,.08);
  border-radius:0;
  background:#fff;
  box-shadow:0 22px 56px rgba(8,19,34,.16);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}

.recruit-wizard-tab {
  position:absolute;
  left:0;
  top:0;
  transform:translateY(-100%);
  min-width:230px;
  padding:10px 18px 11px;
  background:#ffd400;
  color:#081322;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:-.01em;
}

.recruit-form-card form {margin:0;}
.recruit-form-card fieldset {border:0!important;padding:0!important;margin:0!important;}
.recruit-form-card .recruit-wizard-panel {display:block!important;background:#fff;}
.recruit-form-card .recruit-wizard-panel[hidden] {display:none!important;}

.recruit-wizard-stepper {
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin:0 0 28px;
  padding:0;
}
.recruit-wizard-stepper::before {
  content:"";
  position:absolute;
  left:25%;
  right:25%;
  top:15px;
  height:1px;
  background:#d9e0e6;
}
.recruit-wizard-stepper::after {
  content:"";
  position:absolute;
  left:25%;
  top:15px;
  width:0;
  height:2px;
  background:#ffd400;
  transition:width .28s cubic-bezier(.22,.75,.2,1);
}
.recruit-form-card:has(.recruit-wizard-stepper button:nth-child(2).is-active) .recruit-wizard-stepper::after {width:50%;}
.recruit-wizard-stepper button {
  position:relative;
  z-index:1;
  display:grid;
  justify-items:center;
  gap:7px;
  padding:0 8px;
  border:0;
  background:transparent;
  color:#768392;
  font:inherit;
  cursor:pointer;
}
.recruit-wizard-stepper button:disabled {cursor:default;opacity:1;}
.recruit-wizard-stepper button>span {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid #d5dde4;
  border-radius:50%;
  background:#f2f4f6;
  color:#647180;
  font-size:11px;
  font-weight:700;
  box-shadow:0 0 0 5px #fff;
}
.recruit-wizard-stepper button>small {
  color:inherit;
  font-size:10px;
  line-height:1.25;
  font-weight:600;
  white-space:nowrap;
}
.recruit-wizard-stepper button.is-active {color:#081322;}
.recruit-wizard-stepper button.is-active>span {
  border-color:#ddb000;
  background:#ffd400;
  color:#081322;
}
.recruit-wizard-stepper button.is-complete>span {
  border-color:#ccd5dd;
  background:#eef1f4;
  color:#081322;
}

.recruit-wizard-panel.is-active {animation:recruitWizardPanelIn .28s cubic-bezier(.22,.75,.2,1) both;}
@keyframes recruitWizardPanelIn {from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.recruit-wizard-heading {margin:0 0 22px;background:#fff;}
#root .recruit-form-card .recruit-wizard-heading h2 {
  margin:0 0 7px;
  max-width:15em;
  color:#081322;
  font-size:clamp(25px,2vw,31px);
  line-height:1.05;
  font-weight:600;
  letter-spacing:-.035em;
}
.recruit-wizard-heading p {
  margin:0!important;
  max-width:42em;
  color:#617083!important;
  font-size:12.5px!important;
  line-height:1.48!important;
}

.recruit-wizard-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px 16px;
  background:#fff;
}
.recruit-wizard-grid .recruit-full {grid-column:1/-1;}
.recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {
  display:flex;
  flex-direction:column;
  gap:7px;
  color:#3f4f5f;
  font-size:11.5px;
  line-height:1.25;
  font-weight:650;
}
.recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
.recruit-wizard-grid select {
  width:100%;
  min-height:48px;
  padding:11px 12px;
  border:1px solid #d4dce4;
  border-radius:0;
  background:#fff;
  color:#101b28;
  font:inherit;
  font-size:13px;
  box-shadow:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.recruit-wizard-grid input::placeholder {color:#9aa6b2;}
.recruit-wizard-grid input:not([type=checkbox]):not([type=file]):focus,
.recruit-wizard-grid select:focus {
  outline:0;
  border-color:#cba200;
  box-shadow:0 0 0 3px rgba(255,212,0,.10);
  transform:none;
}

.recruit-security-note {
  display:flex;
  align-items:center;
  gap:11px;
  margin:20px 0 0;
  padding:0;
  color:#5f6d7c;
}
.recruit-security-note>span {
  display:grid;
  place-items:center;
  width:27px;
  height:31px;
  flex:none;
  border:1px solid #738192;
  color:#081322;
  font-size:12px;
  font-weight:700;
  clip-path:polygon(50% 0,92% 15%,92% 60%,78% 82%,50% 100%,22% 82%,8% 60%,8% 15%);
}
.recruit-security-note p {display:grid;gap:2px;margin:0!important;}
.recruit-security-note b {font-size:11px;font-weight:700!important;}
.recruit-security-note small {font-size:10px;line-height:1.35;color:#7a8795;}

.recruit-upload-wrap {display:grid;gap:10px;}
.recruit-upload-title {display:flex;align-items:center;gap:10px;color:#3f4f5f;}
.recruit-upload-title>svg {width:22px;height:22px;flex:none;color:#536273;}
.recruit-upload-title>span {display:grid;gap:2px;}
.recruit-upload-title b {font-size:11.5px;font-weight:700!important;}
.recruit-upload-title small {font-size:9.5px;line-height:1.35;color:#7d8996;}
.recruit-dropzone {
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  justify-content:center;
  gap:12px!important;
  min-height:92px;
  padding:16px 18px;
  border:1px dashed #b7c3ce;
  background:#fff;
  color:#526071;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease;
}
.recruit-dropzone:hover,.recruit-dropzone.is-dragging {border-color:#cda300;background:#fffdf5;}
.recruit-dropzone input {display:none!important;}
.recruit-upload-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  flex:none;
  border:1px solid #7c8998;
  border-radius:50%;
  color:#344454;
  font-size:21px;
  line-height:1;
}
.recruit-dropzone>span:last-child {display:grid;gap:3px;}
.recruit-dropzone b {font-size:11px;font-weight:700!important;line-height:1.3;}
.recruit-dropzone small {font-size:9.5px;line-height:1.35;color:#7a8795;}

.recruit-consent {
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:9px!important;
  color:#566474!important;
  font-size:10.5px!important;
  line-height:1.42!important;
  font-weight:400!important;
}
.recruit-consent input {
  width:17px;
  height:17px;
  margin:1px 0 0;
  flex:none;
  accent-color:#ffd400;
}

.recruit-wizard-footer {
  display:grid;
  grid-template-columns:minmax(110px,.72fr) minmax(160px,1fr);
  gap:12px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid #e1e6eb;
}
.recruit-back,
.recruit-next,
.recruit-form-card .recruit-submit {
  min-height:48px;
  padding:12px 16px;
  border-radius:0;
  font:inherit;
  font-size:13px!important;
  line-height:1.3;
  font-weight:600!important;
}
.recruit-back {
  border:1px solid #d8dfe6;
  background:#f5f7f9;
  color:#627182;
}
.recruit-back:disabled {color:#a4aeba;background:#f7f8fa;cursor:default;}
.recruit-next,
.recruit-form-card .recruit-submit {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  border:0;
  background:#ffd400;
  color:#081322;
  cursor:pointer;
  box-shadow:none;
}
.recruit-next:hover,
.recruit-form-card .recruit-submit:hover:not(:disabled) {background:#f3c800;transform:none;box-shadow:none;}
.recruit-next svg,
.recruit-form-card .recruit-submit svg {width:18px;height:18px;flex:none;stroke-width:1.6;}
.recruit-form-card .recruit-error {margin:2px 0 0;}

@media (min-width:1200px) {
  .recruit-visual {padding:64px clamp(34px,3vw,56px);}
  .recruit-form-card {width:min(100%,38rem);}
}
@media (max-width:1279px) {
  .recruit-form-card {padding:26px 24px 22px;}
  .recruit-wizard-tab {min-width:210px;font-size:12px;}
}
@media (max-width:1023px) {
  .recruit-visual {position:relative;display:flex;padding:64px clamp(18px,5vw,40px) 42px;}
  .recruit-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .recruit-form-card {width:min(100%,38rem);max-width:38rem;margin-inline:auto;border:1px solid rgba(8,19,34,.08);padding:28px 30px 26px;}
}
@media (max-width:620px) {
  .recruit-visual {padding:56px 12px 28px;}
  .recruit-form-card {padding:24px 16px 18px;}
  .recruit-wizard-tab {min-width:0;width:auto;padding:8px 13px;font-size:11px;}
  .recruit-wizard-stepper {margin-bottom:24px;}
  .recruit-wizard-stepper button>small {font-size:8px;white-space:normal;text-align:center;}
  .recruit-wizard-grid {grid-template-columns:1fr;gap:13px;}
  .recruit-wizard-grid .recruit-full {grid-column:auto;}
  #root .recruit-form-card .recruit-wizard-heading h2 {font-size:25px;}
  .recruit-wizard-footer {grid-template-columns:1fr 1.35fr;gap:9px;}
  .recruit-back,.recruit-next,.recruit-form-card .recruit-submit {min-height:46px;padding:11px 12px;font-size:12px!important;}
}
@media (prefers-reduced-motion:reduce) {
  .recruit-wizard-panel.is-active {animation:none!important;}
  .recruit-wizard-stepper::after {transition:none!important;}
}

/* === 2026-09-22 career hero geometry synced with Contact === */
@media (min-width:1200px) {
  .recruit-hero {
    display:grid;
    grid-template-columns:minmax(0,38%) minmax(0,62%);
    height:clamp(600px,64svh,720px);
    min-height:0;
    overflow:hidden;
  }

  .recruit-copy,
  .recruit-visual {
    height:100%;
    min-height:0;
  }

  .recruit-copy {
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
    padding:30px clamp(36px,3vw,56px) 30px clamp(44px,3.7vw,72px);
  }

  .recruit-brand {margin:0 0 22px;}
  .recruit-eyebrow {margin:0 0 14px;}
  .recruit-copy>p {font-size:14px;line-height:1.45;max-width:31rem;}
  .recruit-roles {margin-top:18px;}
  .recruit-roles button {padding:10px 0;}
  .recruit-locations {margin:12px 0 0;}
  .recruit-stats {margin-top:14px;padding-top:12px;}

  .recruit-visual {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:24px clamp(28px,3vw,50px);
  }

  .recruit-photo {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  .recruit-form-card {
    position:relative;
    z-index:1;
    width:min(100%,720px);
    max-width:720px;
    max-height:calc(100% - 8px);
    margin:0 auto;
    padding:22px 28px 20px;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
    border:1px solid rgba(8,19,34,.08);
    background:#fff;
    box-shadow:0 14px 34px rgba(8,19,34,.10);
  }

  .recruit-wizard-tab {
    position:static;
    transform:none;
    width:fit-content;
    min-width:0;
    margin:0 0 14px;
    padding:7px 12px 8px;
    font-size:11px;
  }

  .recruit-wizard-stepper {margin-bottom:18px;}
  .recruit-wizard-heading {margin-bottom:16px;}
  #root .recruit-form-card .recruit-wizard-heading h2 {font-size:clamp(23px,1.7vw,28px);}
  .recruit-wizard-grid {gap:11px 14px;}
  .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  .recruit-wizard-grid select {min-height:42px;padding:9px 10px;font-size:12.5px;}
  .recruit-security-note {margin-top:14px;}
  .recruit-dropzone {min-height:82px;padding:13px 14px;}
  .recruit-wizard-footer {margin-top:14px;padding-top:12px;}
}

@media (min-width:1024px) and (max-width:1199px) {
  .recruit-hero {
    display:grid;
    grid-template-columns:minmax(0,38%) minmax(0,62%);
    height:clamp(520px,60svh,620px);
    min-height:0;
    overflow:hidden;
  }

  .recruit-copy,
  .recruit-visual {height:100%;min-height:0;}

  .recruit-copy {
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
    padding:24px 34px;
  }

  .recruit-brand {margin:0 0 18px;}
  .recruit-eyebrow {margin:0 0 10px;}
  .recruit-copy>p {font-size:13px;line-height:1.4;}
  .recruit-roles {margin-top:12px;}
  .recruit-roles button {padding:8px 0;}
  .recruit-locations {margin:10px 0 0;}
  .recruit-stats {margin-top:10px;padding-top:10px;}

  .recruit-visual {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:18px 24px;
  }

  .recruit-photo {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
  }

  .recruit-form-card {
    position:relative;
    z-index:1;
    width:min(100%,680px);
    max-width:680px;
    max-height:calc(100% - 8px);
    margin:0 auto;
    padding:19px 21px 16px;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
  }

  .recruit-wizard-tab {
    position:static;
    transform:none;
    width:fit-content;
    min-width:0;
    margin:0 0 10px;
    padding:6px 10px 7px;
    font-size:10px;
  }

  .recruit-wizard-stepper {margin-bottom:14px;}
  .recruit-wizard-heading {margin-bottom:13px;}
  #root .recruit-form-card .recruit-wizard-heading h2 {font-size:22px;}
  .recruit-wizard-grid {gap:9px 12px;}
  .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  .recruit-wizard-grid select {min-height:40px;padding:8px 9px;font-size:12px;}
  .recruit-security-note {margin-top:10px;}
  .recruit-dropzone {min-height:74px;padding:10px 12px;}
  .recruit-wizard-footer {margin-top:11px;padding-top:10px;}
}


/* === 2026-09-22 wizard navigation consistency === */
.recruit-wizard-footer {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.recruit-wizard-footer > :only-child {
  grid-column:2;
}
.recruit-back,
.recruit-next,
.recruit-form-card .recruit-submit {
  width:100%!important;
  min-width:0!important;
}


/* === 2026-09-22 recruitment form header aligned with Kontakt === */
.recruit-wizard-tab { display:none!important; }
.recruit-wizard-brand {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  padding:0 0 14px;
  border-bottom:1px solid #e5e9ed;
  background:#fff;
}
.recruit-wizard-brand>img {
  width:34px;
  height:34px;
  object-fit:contain;
  flex:none;
}
.recruit-wizard-brand>span {
  display:flex;
  align-items:center;
  min-height:22px;
  padding-left:12px;
  border-left:1px solid #dfe4e8;
}
.recruit-wizard-brand strong {
  color:#101b28!important;
  font-size:9px;
  line-height:1.25;
  font-weight:700!important;
  letter-spacing:1.8px;
  text-transform:uppercase;
}
.recruit-wizard-brand + .recruit-wizard-stepper {
  margin-top:0;
}

/* === 2026-09-22 unified site heading scale === */
#root .recruit-page .recruit-copy h1 {
  max-width:100%!important;
  font-size:var(--lexo-display-1-size)!important;
  line-height:var(--lexo-display-1-line)!important;
  font-weight:var(--lexo-display-1-weight)!important;
  letter-spacing:var(--lexo-display-1-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .recruit-page .recruit-copy h1 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
#root .recruit-page .recruit-process h2 {
  max-width:100%!important;
  font-size:var(--lexo-display-2-size)!important;
  line-height:var(--lexo-display-2-line)!important;
  font-weight:var(--lexo-display-2-weight)!important;
  letter-spacing:var(--lexo-display-2-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .recruit-page .recruit-process h2 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
/* === end unified site heading scale === */

/* === 2026-09-22 shared page BrandLogo === */
#root .recruit-page .recruit-brand {
  display:inline-flex;
  align-items:center;
  width:fit-content;
}
#root .recruit-page .recruit-brand > :not(.lexo-brand) { display:none!important; }


/* === 2026-09-23 career hero brand row — same structure as Home === */
#root .recruit-page .recruit-copy {
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  align-content:stretch !important;
  justify-content:stretch !important;
}
#root .recruit-page .recruit-brand-row {
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  min-width:0;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
#root .recruit-page .recruit-brand-slot {
  display:block !important;
  flex:none;
  opacity:1 !important;
  visibility:visible !important;
}
#root .recruit-page .recruit-brand-slot .lexo-brand {
  display:inline-flex !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}
#root .recruit-page .recruit-copy-main {
  align-self:center;
  min-width:0;
  max-width:100%;
}
#root .recruit-page .recruit-brand { display:none !important; }

@media (min-width:1200px) {
  #root .recruit-page .recruit-copy {
    gap:28px !important;
    padding:36px clamp(42px,3vw,60px) 40px clamp(48px,3.7vw,76px) !important;
  }
  #root .recruit-page .recruit-copy-main { align-self:center; }
}

@media (min-width:1024px) and (max-width:1199px) {
  #root .recruit-page .recruit-copy {
    gap:22px !important;
    padding:28px 34px 32px !important;
  }
}

@media (max-width:1023px) {
  #root .recruit-page .recruit-copy {
    display:grid !important;
    grid-template-rows:auto auto !important;
    gap:26px !important;
  }
  #root .recruit-page .recruit-copy-main { align-self:auto; }
}


/* === 2026-09-23 career hero composition fix === */
#root .recruit-page .recruit-copy {
  grid-template-rows:auto minmax(0,1fr) !important;
}
#root .recruit-page .recruit-brand-row {
  min-height:34px;
  margin:0 !important;
}
#root .recruit-page .recruit-copy-main {
  align-self:center !important;
  min-height:0;
  padding-top:0;
}
#root .recruit-page .recruit-copy-main > .recruit-eyebrow {
  margin:0 0 14px !important;
}
#root .recruit-page .recruit-copy-main > h1 {
  margin-top:0 !important;
}
#root .recruit-page .recruit-stats-shell {
  padding-right:clamp(6.25rem,7.2vw,8.125rem);
  background:#fff;
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
#root .recruit-page .recruit-stats-shell .recruit-stats {
  width:100%;
  max-width:100%;
  margin:0;
  padding:18px clamp(44px,3.7vw,76px);
  border-top:0;
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#root .recruit-page .recruit-stats-shell .recruit-stats>div {
  align-items:center;
  padding-block:0;
}
#root .recruit-page .recruit-stats-shell .recruit-stats b {
  font-size:clamp(18px,1.35vw,24px);
}
#root .recruit-page .recruit-stats-shell .recruit-stats small {
  margin-top:2px;
}
@media (min-width:1200px) {
  #root .recruit-page .recruit-copy {
    gap:22px !important;
    padding:30px clamp(42px,3vw,60px) 30px clamp(48px,3.7vw,76px) !important;
  }
}
@media (min-width:1024px) and (max-width:1199px) {
  #root .recruit-page .recruit-copy {
    gap:18px !important;
    padding:26px 34px 28px !important;
  }
}
@media (max-width:1023px) {
  #root .recruit-page .recruit-stats-shell {padding-right:0;}
  #root .recruit-page .recruit-stats-shell .recruit-stats {padding:22px clamp(24px,5vw,48px);}
}
@media (max-width:640px) {
  #root .recruit-page .recruit-stats-shell .recruit-stats {grid-template-columns:1fr;gap:16px;}
  #root .recruit-page .recruit-stats-shell .recruit-stats>div {border-left:0;padding:0;}
}


/* === 2026-09-23 career hero simplification + openings section === */
#root .recruit-page .recruit-copy-main {
  max-width:640px;
}
#root .recruit-page .recruit-copy-main > p {
  max-width:34rem;
  margin:0!important;
}
#root .recruit-page .recruit-stats-shell { display:none!important; }

#root .recruit-page .recruit-openings {
  padding:clamp(46px,4vw,68px) clamp(44px,3.7vw,76px);
  background:#fff;
  border-top:1px solid #e3e8ec;
  border-bottom:1px solid #e3e8ec;
}
#root .recruit-page .recruit-openings-head {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);
  align-items:end;
  gap:40px;
  margin-bottom:30px;
}
#root .recruit-page .recruit-openings-head .recruit-eyebrow {
  margin:0 0 16px;
}
#root .recruit-page .recruit-openings h2 {
  margin:0!important;
  max-width:100%;
  color:#0b1520!important;
  font-size:var(--lexo-display-2-size)!important;
  line-height:var(--lexo-display-2-line)!important;
  font-weight:var(--lexo-display-2-weight)!important;
  letter-spacing:var(--lexo-display-2-tracking)!important;
  text-wrap:balance;
}
#root .recruit-page .recruit-openings-head>p {
  max-width:34rem;
  justify-self:end;
  margin:0!important;
  font-size:14px;
  line-height:1.55;
}
#root .recruit-page .recruit-openings-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid #dce2e7;
  border-bottom:1px solid #dce2e7;
}
#root .recruit-page .recruit-openings-grid button {
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 22px;
  align-items:center;
  gap:16px;
  min-height:108px;
  padding:20px 24px;
  border:0;
  border-left:1px solid #dce2e7;
  background:#fff;
  color:#0b1520;
  text-align:left;
  overflow:visible;
  transition:background-color .2s ease;
}
#root .recruit-page .recruit-openings-grid button:first-child {border-left:0;}
#root .recruit-page .recruit-openings-grid button::before {
  content:"";
  position:absolute;
  left:0;right:0;top:-1px;
  height:2px;
  background:#ffd400;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .24s cubic-bezier(.22,.75,.2,1);
}
#root .recruit-page .recruit-openings-grid button.is-active {background:#fffbed;}
#root .recruit-page .recruit-openings-grid button.is-active::before {transform:scaleX(1);}
#root .recruit-page .recruit-opening-icon {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  color:#9b7800;
}
#root .recruit-page .recruit-opening-icon svg {width:26px;height:26px;}
#root .recruit-page .recruit-opening-copy {display:grid;gap:6px;min-width:0;}
#root .recruit-page .recruit-opening-copy b {
  font-size:17px;
  line-height:1.2;
  font-weight:650!important;
}
#root .recruit-page .recruit-opening-copy small {
  color:#687687;
  font-size:12px;
  line-height:1.4;
}
#root .recruit-page .recruit-openings-grid button>svg {
  width:20px;height:20px;
  justify-self:end;
  color:#546373;
  transition:transform .2s cubic-bezier(.22,.75,.2,1);
}
@media (hover:hover) and (pointer:fine) {
  #root .recruit-page .recruit-openings-grid button:hover {background:#fffdf3;}
  #root .recruit-page .recruit-openings-grid button:hover::before {transform:scaleX(1);}
  #root .recruit-page .recruit-openings-grid button:hover>svg {transform:translateX(4px);}
}
#root .recruit-page .recruit-openings-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:28px;
  padding-top:24px;
}
#root .recruit-page .recruit-openings-stats>div {
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 24px;
  border-left:1px solid #e1e6ea;
}
#root .recruit-page .recruit-openings-stats>div:first-child {padding-left:0;border-left:0;}
#root .recruit-page .recruit-openings-stats svg {width:22px;height:22px;color:#d3a600;flex:none;}
#root .recruit-page .recruit-openings-stats span {display:grid;gap:2px;}
#root .recruit-page .recruit-openings-stats b {font-size:18px;font-weight:650!important;line-height:1.1;}
#root .recruit-page .recruit-openings-stats small {font-size:10px;line-height:1.35;color:#718092;}

@media (min-width:1200px) {
  #root .recruit-page .recruit-copy {
    gap:28px!important;
    padding:30px clamp(42px,3vw,60px) 34px clamp(48px,3.7vw,76px)!important;
  }
  #root .recruit-page .recruit-copy-main {align-self:center!important;}
}
@media (min-width:1024px) and (max-width:1199px) {
  #root .recruit-page .recruit-copy {
    gap:24px!important;
    padding:26px 34px 30px!important;
  }
  #root .recruit-page .recruit-openings {padding:42px 34px;}
}
@media (max-width:900px) {
  #root .recruit-page .recruit-openings-head {grid-template-columns:1fr;gap:16px;}
  #root .recruit-page .recruit-openings-head>p {justify-self:start;}
  #root .recruit-page .recruit-openings-grid {grid-template-columns:1fr;}
  #root .recruit-page .recruit-openings-grid button,
  #root .recruit-page .recruit-openings-grid button:first-child {border-left:0;border-top:1px solid #dce2e7;}
  #root .recruit-page .recruit-openings-grid button:first-child {border-top:0;}
}
@media (max-width:640px) {
  #root .recruit-page .recruit-openings {padding:38px 24px;}
  #root .recruit-page .recruit-openings-grid button {min-height:92px;padding:17px 8px;grid-template-columns:34px minmax(0,1fr) 20px;gap:12px;}
  #root .recruit-page .recruit-opening-icon {width:34px;height:34px;}
  #root .recruit-page .recruit-opening-copy b {font-size:16px;}
  #root .recruit-page .recruit-openings-stats {grid-template-columns:1fr;gap:16px;margin-top:24px;padding-top:20px;}
  #root .recruit-page .recruit-openings-stats>div {border-left:0;padding:0;}
}

/* === 2026-09-23 compact role selector in hero === */
#root .recruit-page .recruit-openings,
#root .recruit-page .recruit-stats-shell { display:none!important; }

#root .recruit-page .recruit-inline-roles {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 16px;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid #e1e6ea;
}

#root .recruit-page .recruit-inline-roles>span {
  flex:none;
  color:#758292;
  font-size:9px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:1.6px;
  text-transform:uppercase;
}

#root .recruit-page .recruit-inline-roles>div {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:0;
}

#root .recruit-page .recruit-inline-roles button {
  position:relative;
  min-height:30px;
  padding:5px 14px;
  border:0;
  border-left:1px solid #dce2e7;
  background:transparent;
  color:#3f4e5d;
  font-size:12px;
  line-height:1.2;
  font-weight:600;
  cursor:pointer;
  transition:color .18s ease,background-color .18s ease;
}

#root .recruit-page .recruit-inline-roles button:first-child { border-left:0; }
#root .recruit-page .recruit-inline-roles button::after {
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:2px;
  height:1px;
  background:#ffd400;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .2s cubic-bezier(.22,.75,.2,1);
}
#root .recruit-page .recruit-inline-roles button.is-active {
  color:#081322;
}
#root .recruit-page .recruit-inline-roles button.is-active::after { transform:scaleX(1); }

@media (hover:hover) and (pointer:fine) {
  #root .recruit-page .recruit-inline-roles button:hover { color:#081322; }
  #root .recruit-page .recruit-inline-roles button:hover::after { transform:scaleX(1); }
}

@media (min-width:1200px) {
  #root .recruit-page .recruit-copy-main { max-width:620px; }
  #root .recruit-page .recruit-inline-roles { margin-top:18px; padding-top:14px; }
}

@media (min-width:1024px) and (max-width:1199px) {
  #root .recruit-page .recruit-inline-roles { margin-top:16px; padding-top:12px; gap:8px 10px; }
  #root .recruit-page .recruit-inline-roles button { padding-inline:10px; font-size:11px; }
  #root .recruit-page .recruit-inline-roles button::after { left:10px; right:10px; }
}

@media (max-width:640px) {
  #root .recruit-page .recruit-inline-roles {
    align-items:flex-start;
    gap:8px;
    margin-top:18px;
    padding-top:14px;
  }
  #root .recruit-page .recruit-inline-roles>span { width:100%; }
  #root .recruit-page .recruit-inline-roles>div { width:100%; }
  #root .recruit-page .recruit-inline-roles button { flex:1 1 auto; padding-inline:10px; }
}

/* === 2026-09-24 desktop hero bleed under SiteSideNav — match O nas === */
@media (min-width:1024px) {
  #root .recruit-page .recruit-hero,
  #root .recruit-page .recruit-visual {
    overflow:visible!important;
  }

  #root .recruit-page .recruit-photo {
    width:calc(100% + var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
    max-width:none!important;
  }
}
/* === end desktop hero bleed === */

/* === 2026-09-24 final SiteSideNav bleed fix — Kariera === */
@media (min-width:1024px) {
  #root .recruit-page {
    padding-right:var(--lexo-rail-width, clamp(96px,6.7vw,126px))!important;
  }

  #root .recruit-page .recruit-hero {
    overflow:visible!important;
  }

  #root .recruit-page .recruit-visual {
    width:calc(100% + var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
    margin-right:calc(0px - var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
    overflow:hidden!important;
  }

  #root .recruit-page .recruit-photo {
    width:100%!important;
    max-width:none!important;
  }
}

@media (min-width:1200px) {
  #root .recruit-page .recruit-visual {
    padding-right:calc(clamp(28px,3vw,50px) + var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  #root .recruit-page .recruit-visual {
    padding-right:calc(24px + var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
  }
}
/* === end final SiteSideNav bleed fix === */

/* === 2026-09-24 mobile career full UX pass === */
@media (max-width:680px) {
  #root .recruit-page {
    --recruit-mobile-gutter:14px;
    padding-right:0!important;
    background:#fff;
  }

  

  /* Header / brand: same geometry as the rest of the mobile site. */
  #root .recruit-page .recruit-copy::before {
    content:"";
    position:fixed;
    z-index:69;
    inset:0 0 auto 0;
    height:56px;
    background:#fff;
    border-bottom:1px solid #edf0f3;
  }
  #root .recruit-page .recruit-brand-row {
    min-height:0!important;
  }
  #root .recruit-page .recruit-brand-slot .lexo-brand {
    position:fixed!important;
    z-index:71!important;
    top:10px!important;
    left:14px!important;
    transform:scale(.84)!important;
    transform-origin:left top!important;
  }

  /* Hero copy first, photo second, form after the photo. */
  #root .recruit-page .recruit-hero {
    display:block!important;
    min-height:0!important;
    overflow:visible!important;
    background:#fff;
  }
  #root .recruit-page .recruit-copy {
    display:block!important;
    min-height:0!important;
    padding:82px var(--recruit-mobile-gutter) 28px!important;
  }
  #root .recruit-page .recruit-copy-main {
    max-width:none!important;
    align-self:auto!important;
  }
  #root .recruit-page .recruit-copy-main>.recruit-eyebrow {
    margin:0 0 11px!important;
    gap:9px;
    color:#697788;
    font-size:7.5px;
    line-height:1.3;
    letter-spacing:1.7px;
  }
  #root .recruit-page .recruit-copy-main>.recruit-eyebrow::before {
    width:22px;
    transform:none!important;
  }
  #root .recruit-page .recruit-copy h1 {
    max-width:12ch!important;
    margin:0 0 14px!important;
    font-size:clamp(31px,8.5vw,38px)!important;
    line-height:1.01!important;
    letter-spacing:-.052em!important;
    text-wrap:balance;
  }
  #root .recruit-page .recruit-copy h1>span:nth-child(2),
  #root .recruit-page .recruit-copy h1>span:nth-child(3) {
    color:#d8a500!important;
  }
  #root .recruit-page .recruit-copy h1>span:nth-child(4) {
    color:#081322!important;
  }
  #root .recruit-page .recruit-copy-main>p {
    max-width:34em;
    margin:0!important;
    font-size:12px;
    line-height:1.5;
  }

  /* Role selector: touch-friendly rows, no pill UI. */
  #root .recruit-page .recruit-inline-roles {
    display:block;
    margin-top:20px;
    padding-top:14px;
    border-top:1px solid #e3e8ec;
  }
  #root .recruit-page .recruit-inline-roles>span {
    display:block;
    width:auto;
    margin-bottom:8px;
    font-size:8px;
    letter-spacing:1.55px;
  }
  #root .recruit-page .recruit-inline-roles>div {
    display:grid;
    grid-template-columns:1fr;
    width:100%;
  }
  #root .recruit-page .recruit-inline-roles button {
    width:100%;
    min-height:42px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 0!important;
    border:0!important;
    border-bottom:1px solid #e5e9ed!important;
    text-align:left;
    font-size:12px;
  }
  #root .recruit-page .recruit-inline-roles button::after {
    left:0;
    right:auto;
    bottom:-1px;
    width:44px;
  }

  /* Media is a clean standalone image instead of a desktop background layer. */
  #root .recruit-page .recruit-visual {
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff;
  }
  #root .recruit-page .recruit-photo {
    position:relative!important;
    inset:auto!important;
    display:block;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.38;
    object-fit:cover;
    object-position:center 34%;
    translate:none!important;
    scale:1!important;
  }

  /* Form becomes a dedicated section, not a floating desktop card. */
  #root .recruit-page .recruit-form-card {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:34px var(--recruit-mobile-gutter) 38px!important;
    border:0!important;
    border-top:1px solid #e2e7eb!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
  }
  #root .recruit-page .recruit-wizard-brand {
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid #edf0f3;
  }
  #root .recruit-page .recruit-wizard-brand>img {width:72px;height:auto;}
  #root .recruit-page .recruit-wizard-brand strong {
    font-size:8px;
    letter-spacing:1.6px;
  }
  #root .recruit-page .recruit-wizard-stepper {
    margin-bottom:26px;
  }
  #root .recruit-page .recruit-wizard-stepper button>small {
    font-size:8.5px;
    line-height:1.25;
  }
  #root .recruit-page .recruit-wizard-grid {
    grid-template-columns:1fr!important;
    gap:14px;
  }
  #root .recruit-page .recruit-wizard-grid .recruit-full {grid-column:auto!important;}
  #root .recruit-page .recruit-wizard-heading {margin-bottom:20px;}
  #root .recruit-page .recruit-wizard-heading h2 {
    margin:0 0 8px!important;
    font-size:25px!important;
    line-height:1.03!important;
    font-weight:500!important;
    letter-spacing:-.04em!important;
  }
  #root .recruit-page .recruit-wizard-heading p {
    margin:0!important;
    font-size:11.5px;
    line-height:1.45;
  }
  #root .recruit-page .recruit-form-card label {
    gap:7px;
    font-size:11px;
  }
  #root .recruit-page .recruit-form-card input:not([type=checkbox]),
  #root .recruit-page .recruit-form-card select {
    min-height:46px;
    padding:10px 12px;
    border-radius:2px;
    font-size:16px;
  }
  #root .recruit-page .recruit-dropzone {
    min-height:92px;
    padding:14px;
    border-radius:2px;
  }
  #root .recruit-page .recruit-consent {
    align-items:flex-start;
    font-size:10px;
    line-height:1.45;
  }
  #root .recruit-page .recruit-security-note {
    margin-top:16px;
    padding:12px 0 0;
    border-top:1px solid #edf0f3;
  }
  #root .recruit-page .recruit-wizard-footer {
    grid-template-columns:1fr!important;
    gap:8px;
    margin-top:20px;
  }
  #root .recruit-page .recruit-back,
  #root .recruit-page .recruit-next,
  #root .recruit-page .recruit-submit {
    width:100%;
    min-height:46px;
    border-radius:2px;
    padding:12px 14px;
    font-size:12px!important;
  }

  /* Process: four readable mobile rows instead of tiny cards/columns. */
  #root .recruit-page .recruit-process {
    padding:44px var(--recruit-mobile-gutter) 48px!important;
    border-top:1px solid #e2e7eb;
    background:#f8fafb;
  }
  #root .recruit-page .recruit-process>.recruit-eyebrow {
    margin:0 0 11px;
    font-size:7.5px;
    letter-spacing:1.55px;
  }
  #root .recruit-page .recruit-process>.recruit-eyebrow::before {width:22px;transform:none!important;}
  #root .recruit-page .recruit-process h2 {
    margin:0 0 24px!important;
    max-width:11ch;
    font-size:31px!important;
    line-height:1.02!important;
    font-weight:500!important;
    letter-spacing:-.045em!important;
  }
  #root .recruit-page .recruit-process ol {
    display:grid;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #root .recruit-page .recruit-process li {
    display:grid!important;
    grid-template-columns:38px 24px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    column-gap:10px!important;
    row-gap:3px!important;
    align-items:start;
    min-height:86px;
    padding:14px 12px!important;
    border:1px solid #e0e5e9;
    border-radius:2px;
    background:#fff;
  }
  #root .recruit-page .recruit-step-number {
    grid-column:1;
    grid-row:1/3;
    color:#cbd3db;
    font-size:23px;
    line-height:1;
    font-weight:500;
  }
  #root .recruit-page .recruit-process li>svg {
    grid-column:2;
    grid-row:1/3;
    width:21px;
    height:21px;
    margin:0;
    color:#d5a000;
  }
  #root .recruit-page .recruit-process h3 {
    grid-column:3!important;
    grid-row:1;
    margin:0!important;
    font-size:13px;
    line-height:1.25;
  }
  #root .recruit-page .recruit-process li p {
    grid-column:3!important;
    grid-row:2;
    margin:0!important;
    font-size:10.5px;
    line-height:1.42;
  }
  #root .recruit-page .recruit-benefit {
    max-width:none;
    margin-top:16px;
    padding:14px;
    border-left:2px solid #e8b800;
    background:#fff;
  }
  #root .recruit-page .recruit-benefit b {font-size:12px;}
  #root .recruit-page .recruit-benefit p {font-size:10.5px;margin-top:4px;}
}

@media (max-width:390px) {
  #root .recruit-page .recruit-copy h1 {font-size:29px!important;}
  #root .recruit-page .recruit-process h2 {font-size:29px!important;}
  #root .recruit-page .recruit-form-card {padding-inline:12px!important;}
  #root .recruit-page .recruit-process {padding-inline:12px!important;}
}
/* === end mobile career full UX pass === */

/* === 2026-09-24 CLEAN SHORT-LAPTOP HERO === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .recruit-page { --recruit-short-hero:clamp(510px,calc(100svh - 24px),558px); }
  #root .recruit-page .recruit-hero {grid-template-columns:minmax(0,42%) minmax(0,58%)!important;height:auto!important;min-height:var(--recruit-short-hero)!important;max-height:none!important;overflow:visible!important;}
  #root .recruit-page .recruit-copy {display:flex!important;flex-direction:column!important;min-height:var(--recruit-short-hero)!important;height:auto!important;max-height:none!important;padding:20px 30px 24px 40px!important;gap:0!important;overflow:visible!important;}
  #root .recruit-page .recruit-brand-row {min-height:34px!important;margin:0!important;padding:0!important;flex:none!important;}
  #root .recruit-page .recruit-copy-main {align-self:stretch!important;max-width:none!important;width:100%!important;margin-top:18px!important;overflow:visible!important;}
  #root .recruit-page .recruit-copy-main>.recruit-eyebrow {margin:0 0 7px!important;font-size:8px!important;line-height:1.25!important;letter-spacing:1.6px!important;}
  #root .recruit-page .recruit-copy h1 {margin:0 0 10px!important;font-size:clamp(32px,2.82vw,36px)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:500!important;max-width:100%!important;overflow:visible!important;text-wrap:pretty!important;}
  #root .recruit-page .recruit-copy h1 > span {display:inline!important;white-space:normal!important;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;overflow:visible!important;}
  #root .recruit-page .recruit-copy h1 > span:not(:last-child)::after {content:" ";}
  #root .recruit-page .recruit-copy-main>p {font-size:11.5px!important;line-height:1.4!important;max-width:37em!important;margin:0!important;}
  #root .recruit-page .recruit-inline-roles {margin-top:13px!important;padding-top:9px!important;gap:8px!important;}
  #root .recruit-page .recruit-inline-roles>span {font-size:7.5px!important;letter-spacing:1.4px!important;}
  #root .recruit-page .recruit-inline-roles button {min-height:27px!important;padding:5px 9px!important;font-size:9.5px!important;}
  #root .recruit-page .recruit-visual {align-self:stretch!important;min-height:var(--recruit-short-hero)!important;height:auto!important;max-height:none!important;padding:16px 26px!important;overflow:hidden!important;}
  #root .recruit-page .recruit-photo {height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;}
  #root .recruit-page .recruit-form-card {width:min(100%,540px)!important;max-width:540px!important;max-height:calc(var(--recruit-short-hero) - 32px)!important;margin:auto!important;padding:16px 18px!important;overflow-y:auto!important;overflow-x:hidden!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .recruit-page { --recruit-short-hero:510px; }
  #root .recruit-page .recruit-copy {padding-top:16px!important;padding-bottom:20px!important;}
  #root .recruit-page .recruit-copy-main {margin-top:14px!important;}
  #root .recruit-page .recruit-copy h1 {font-size:clamp(30px,2.6vw,33px)!important;margin-bottom:8px!important;}
  #root .recruit-page .recruit-copy-main>p {font-size:11px!important;line-height:1.36!important;}
  #root .recruit-page .recruit-inline-roles {margin-top:10px!important;padding-top:8px!important;}
}
/* === end clean short-laptop hero === */


/* === 2026-09-24 short-laptop breathing room pass === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .recruit-page { --recruit-short-hero:clamp(550px,79svh,590px); }
  #root .recruit-page .recruit-hero {min-height:var(--recruit-short-hero)!important;}
  #root .recruit-page .recruit-copy {min-height:var(--recruit-short-hero)!important;padding:28px 38px 34px 46px!important;}
  #root .recruit-page .recruit-brand-row {min-height:36px!important;}
  #root .recruit-page .recruit-copy-main {margin-top:30px!important;}
  #root .recruit-page .recruit-copy-main>.recruit-eyebrow {margin-bottom:12px!important;}
  #root .recruit-page .recruit-copy h1 {font-size:clamp(31px,2.72vw,36px)!important;line-height:1.025!important;margin-bottom:16px!important;}
  #root .recruit-page .recruit-copy-main>p {font-size:12px!important;line-height:1.5!important;max-width:36em!important;}
  #root .recruit-page .recruit-inline-roles {margin-top:20px!important;padding-top:12px!important;gap:10px!important;}
  #root .recruit-page .recruit-inline-roles button {min-height:31px!important;padding:7px 11px!important;font-size:10px!important;}
  #root .recruit-page .recruit-visual {min-height:var(--recruit-short-hero)!important;padding:24px 34px!important;}
  #root .recruit-page .recruit-form-card {max-height:calc(var(--recruit-short-hero) - 48px)!important;padding:20px 22px!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .recruit-page { --recruit-short-hero:550px; }
  #root .recruit-page .recruit-copy {padding:24px 36px 30px 44px!important;}
  #root .recruit-page .recruit-copy-main {margin-top:26px!important;}
  #root .recruit-page .recruit-copy h1 {font-size:clamp(29px,2.5vw,33px)!important;margin-bottom:14px!important;}
  #root .recruit-page .recruit-copy-main>p {font-size:11.5px!important;line-height:1.46!important;}
  #root .recruit-page .recruit-inline-roles {margin-top:18px!important;padding-top:10px!important;}
  #root .recruit-page .recruit-visual {padding:20px 30px!important;}
  #root .recruit-page .recruit-form-card {max-height:502px!important;}
}
/* === end short-laptop breathing room pass === */


/* === 2026-09-24 SHORT VIEWPORT SYSTEM — height-first, width-agnostic === */
@media (min-width:1024px) and (max-height:820px) {
  #root .recruit-page { --recruit-short-h:clamp(600px,94svh,680px); }
  #root .recruit-page .recruit-hero {grid-template-columns:minmax(0,40%) minmax(0,60%)!important;min-height:var(--recruit-short-h)!important;height:auto!important;max-height:none!important;overflow:visible!important;}
  #root .recruit-page .recruit-copy {display:flex!important;flex-direction:column!important;min-height:var(--recruit-short-h)!important;height:auto!important;padding:30px clamp(40px,3vw,54px) 36px clamp(46px,3.4vw,60px)!important;gap:0!important;overflow:visible!important;}
  #root .recruit-page .recruit-brand-row {min-height:38px!important;flex:none!important;}
  #root .recruit-page .recruit-copy-main {align-self:stretch!important;width:100%!important;max-width:560px!important;margin-top:clamp(30px,5vh,42px)!important;overflow:visible!important;}
  #root .recruit-page .recruit-eyebrow {display:block!important;margin:0 0 12px!important;font-size:8.5px!important;letter-spacing:1.6px!important;}
  #root .recruit-page h1 {font-size:clamp(31px,5vh,42px)!important;line-height:1.025!important;letter-spacing:-.047em!important;margin:0 0 17px!important;max-width:100%!important;overflow:visible!important;text-wrap:pretty!important;}
  #root .recruit-page h1>span {display:inline!important;white-space:normal!important;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;overflow:visible!important;}
  #root .recruit-page h1>span:not(:last-child)::after {content:" ";}
  #root .recruit-page .recruit-copy-main>p {font-size:clamp(12px,1.7vh,13.5px)!important;line-height:1.5!important;max-width:35em!important;margin:0 0 22px!important;}
  #root .recruit-page .recruit-inline-roles {margin-top:4px!important;padding-top:18px!important;}
  #root .recruit-page .recruit-visual {min-height:var(--recruit-short-h)!important;height:auto!important;align-self:stretch!important;padding:26px 34px!important;overflow:hidden!important;}
  #root .recruit-page .recruit-photo {height:100%!important;object-fit:cover!important;}
  #root .recruit-page .recruit-form-card {width:min(100%,560px)!important;max-width:560px!important;max-height:calc(var(--recruit-short-h) - 52px)!important;margin:auto!important;padding:20px 22px!important;overflow-y:auto!important;overflow-x:hidden!important;}
}
@media (min-width:1024px) and (max-height:680px) {
  #root .recruit-page { --recruit-short-h:580px; }
  #root .recruit-page .recruit-copy {padding-top:26px!important;padding-bottom:32px!important;}
  #root .recruit-page .recruit-copy-main {margin-top:28px!important;}
  #root .recruit-page h1 {font-size:clamp(29px,4.7vh,34px)!important;margin-bottom:15px!important;}
  #root .recruit-page .recruit-copy-main>p {font-size:11.8px!important;line-height:1.46!important;margin-bottom:20px!important;}
  #root .recruit-page .recruit-visual {padding:22px 30px!important;}
}
/* === end short viewport system === */


/* === 2026-09-25 compact short-laptop recruitment hero ===
   Keeps Kariera aligned with the other hero heights; the form scrolls internally only when step 2 needs it. */
@media (min-width:1024px) and (max-width:1439px) and (max-height:900px) {
  #root .recruit-page { --recruit-compact-hero:clamp(550px,78svh,610px); }

  #root .recruit-page .recruit-hero {
    height:var(--recruit-compact-hero)!important;
    min-height:var(--recruit-compact-hero)!important;
    max-height:var(--recruit-compact-hero)!important;
    overflow:hidden!important;
  }

  #root .recruit-page .recruit-copy,
  #root .recruit-page .recruit-visual {
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }

  #root .recruit-page .recruit-copy {
    padding:22px 34px 24px 42px!important;
  }

  #root .recruit-page .recruit-copy-main {
    margin-top:18px!important;
  }

  #root .recruit-page .recruit-copy-main>.recruit-eyebrow {
    margin-bottom:8px!important;
  }

  #root .recruit-page .recruit-copy h1 {
    margin-bottom:10px!important;
    font-size:clamp(30px,2.7vw,35px)!important;
    line-height:1.02!important;
  }

  #root .recruit-page .recruit-copy-main>p {
    margin-bottom:14px!important;
    font-size:11.5px!important;
    line-height:1.42!important;
  }

  #root .recruit-page .recruit-inline-roles {
    margin-top:10px!important;
    padding-top:9px!important;
  }

  #root .recruit-page .recruit-inline-roles button {
    min-height:29px!important;
    padding:6px 10px!important;
    font-size:9.5px!important;
  }

  #root .recruit-page .recruit-visual {
    padding:14px 26px!important;
    align-items:center!important;
  }

  #root .recruit-page .recruit-photo {
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
  }

  #root .recruit-page .recruit-form-card {
    width:min(100%,560px)!important;
    max-width:560px!important;
    max-height:calc(100% - 28px)!important;
    margin:auto!important;
    padding:14px 18px 14px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  #root .recruit-page .recruit-wizard-brand {
    gap:8px!important;
    margin-bottom:10px!important;
    padding-bottom:9px!important;
  }

  #root .recruit-page .recruit-wizard-brand>img {
    width:30px!important;
    height:30px!important;
  }

  #root .recruit-page .recruit-wizard-brand strong {
    font-size:8.5px!important;
    letter-spacing:1.6px!important;
  }

  #root .recruit-page .recruit-wizard-stepper {
    margin-bottom:11px!important;
  }

  #root .recruit-page .recruit-wizard-stepper::before,
  #root .recruit-page .recruit-wizard-stepper::after {
    top:13px!important;
  }

  #root .recruit-page .recruit-wizard-stepper button {
    gap:5px!important;
  }

  #root .recruit-page .recruit-wizard-stepper button>span {
    width:27px!important;
    height:27px!important;
    font-size:10px!important;
    box-shadow:0 0 0 4px #fff!important;
  }

  #root .recruit-page .recruit-wizard-stepper button>small {
    font-size:9px!important;
    line-height:1.2!important;
  }

  #root .recruit-page .recruit-wizard-heading {
    margin-bottom:10px!important;
  }

  #root .recruit-page .recruit-wizard-heading h2 {
    margin-bottom:5px!important;
    font-size:clamp(20px,1.65vw,23px)!important;
    line-height:1.04!important;
  }

  #root .recruit-page .recruit-wizard-heading p {
    font-size:11px!important;
    line-height:1.38!important;
  }

  #root .recruit-page .recruit-wizard-grid {
    gap:8px 12px!important;
  }

  #root .recruit-page .recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {
    gap:5px!important;
    font-size:10.5px!important;
  }

  #root .recruit-page .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  #root .recruit-page .recruit-wizard-grid select {
    min-height:38px!important;
    padding:7px 9px!important;
    font-size:12px!important;
  }

  #root .recruit-page .recruit-security-note {
    gap:8px!important;
    margin-top:8px!important;
  }

  #root .recruit-page .recruit-security-note>span {
    width:23px!important;
    height:27px!important;
    font-size:10px!important;
  }

  #root .recruit-page .recruit-security-note b {font-size:10.5px!important;}
  #root .recruit-page .recruit-security-note small {font-size:9.5px!important;}

  #root .recruit-page .recruit-dropzone {
    min-height:66px!important;
    padding:9px 11px!important;
  }

  #root .recruit-page .recruit-upload-icon {
    width:32px!important;
    height:32px!important;
    font-size:18px!important;
  }

  #root .recruit-page .recruit-consent {
    font-size:9.5px!important;
    line-height:1.35!important;
  }

  #root .recruit-page .recruit-wizard-footer {
    gap:10px!important;
    margin-top:9px!important;
    padding-top:9px!important;
  }

  #root .recruit-page :is(.recruit-back,.recruit-next,.recruit-submit) {
    min-height:42px!important;
    padding:9px 12px!important;
    font-size:11.5px!important;
  }
}

@media (min-width:1024px) and (max-width:1439px) and (max-height:700px) {
  #root .recruit-page { --recruit-compact-hero:550px; }
  #root .recruit-page .recruit-copy {padding-top:18px!important;padding-bottom:20px!important;}
  #root .recruit-page .recruit-copy-main {margin-top:14px!important;}
  #root .recruit-page .recruit-visual {padding-block:10px!important;}
  #root .recruit-page .recruit-form-card {
    max-height:530px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
}
/* === end compact short-laptop recruitment hero === */



/* === 2026-09-25 short-laptop recruitment form breathing balance ===
   Keep the compact hero height, but restore visual separation inside the form. */
@media (min-width:1024px) and (max-width:1439px) and (max-height:900px) {
  #root .recruit-page .recruit-form-card {
    padding:18px 20px 16px!important;
    scrollbar-gutter:stable;
  }

  #root .recruit-page .recruit-wizard-brand {
    gap:9px!important;
    margin-bottom:13px!important;
    padding-bottom:11px!important;
  }
  #root .recruit-page .recruit-wizard-brand>img {
    width:31px!important;
    height:31px!important;
  }
  #root .recruit-page .recruit-wizard-brand strong {
    font-size:8.75px!important;
    line-height:1.3!important;
  }

  #root .recruit-page .recruit-wizard-stepper {
    margin-bottom:15px!important;
  }
  #root .recruit-page .recruit-wizard-stepper::before,
  #root .recruit-page .recruit-wizard-stepper::after {
    top:14px!important;
  }
  #root .recruit-page .recruit-wizard-stepper button {
    gap:6px!important;
  }
  #root .recruit-page .recruit-wizard-stepper button>span {
    width:29px!important;
    height:29px!important;
    font-size:10px!important;
  }
  #root .recruit-page .recruit-wizard-stepper button>small {
    font-size:9.5px!important;
    line-height:1.25!important;
  }

  #root .recruit-page .recruit-wizard-heading {
    margin-bottom:14px!important;
  }
  #root .recruit-page .recruit-wizard-heading h2 {
    margin-bottom:6px!important;
    font-size:clamp(21px,1.7vw,24px)!important;
    line-height:1.08!important;
  }
  #root .recruit-page .recruit-wizard-heading p {
    font-size:11.5px!important;
    line-height:1.45!important;
  }

  #root .recruit-page .recruit-wizard-grid {
    gap:11px 14px!important;
  }
  #root .recruit-page .recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {
    gap:6px!important;
    font-size:11px!important;
    line-height:1.3!important;
    font-weight:600!important;
  }
  #root .recruit-page .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  #root .recruit-page .recruit-wizard-grid select {
    min-height:40px!important;
    padding:8px 10px!important;
    font-size:12.5px!important;
  }

  #root .recruit-page .recruit-security-note {
    gap:9px!important;
    margin-top:12px!important;
  }
  #root .recruit-page .recruit-security-note>span {
    width:24px!important;
    height:29px!important;
  }
  #root .recruit-page .recruit-security-note p {
    gap:3px!important;
  }
  #root .recruit-page .recruit-security-note b {
    font-size:11px!important;
    line-height:1.3!important;
  }
  #root .recruit-page .recruit-security-note small {
    font-size:9.75px!important;
    line-height:1.4!important;
  }

  #root .recruit-page .recruit-upload-wrap {gap:9px!important;}
  #root .recruit-page .recruit-upload-title {gap:9px!important;}
  #root .recruit-page .recruit-dropzone {
    min-height:72px!important;
    padding:10px 12px!important;
  }
  #root .recruit-page .recruit-consent {
    font-size:10px!important;
    line-height:1.4!important;
  }

  #root .recruit-page .recruit-wizard-footer {
    gap:10px!important;
    margin-top:13px!important;
    padding-top:12px!important;
  }
  #root .recruit-page :is(.recruit-back,.recruit-next,.recruit-submit) {
    min-height:44px!important;
    padding:10px 13px!important;
    font-size:12px!important;
  }
}

@media (min-width:1024px) and (max-width:1439px) and (max-height:700px) {
  #root .recruit-page .recruit-form-card {
    padding:15px 18px 14px!important;
  }
  #root .recruit-page .recruit-wizard-brand {margin-bottom:11px!important;padding-bottom:10px!important;}
  #root .recruit-page .recruit-wizard-stepper {margin-bottom:13px!important;}
  #root .recruit-page .recruit-wizard-heading {margin-bottom:12px!important;}
  #root .recruit-page .recruit-wizard-grid {gap:9px 12px!important;}
  #root .recruit-page .recruit-security-note {margin-top:10px!important;}
  #root .recruit-page .recruit-wizard-footer {margin-top:10px!important;padding-top:10px!important;}
}
/* === end recruitment form breathing balance === */

/* === 2026-09-25 balanced short-laptop recruitment height === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:900px) {
  #root .recruit-page { --recruit-compact-hero:clamp(580px,80svh,635px)!important; }
  #root .recruit-page .recruit-hero {
    height:var(--recruit-compact-hero)!important;
    min-height:var(--recruit-compact-hero)!important;
    max-height:var(--recruit-compact-hero)!important;
  }
  #root .recruit-page .recruit-form-card {
    max-height:calc(100% - 24px)!important;
  }
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:700px) {
  #root .recruit-page { --recruit-compact-hero:570px!important; }
  #root .recruit-page .recruit-form-card { max-height:546px!important; }
}
/* === end balanced short-laptop recruitment height === */


/* === 2026-09-25 FINAL career hero height parity ===
   Kariera follows the exact same laptop hero heights as the canonical site system. */
@media (min-width:1024px) and (max-width:1199px){
  #root#root .recruit-page .recruit-hero{
    height:540px!important;
    min-height:540px!important;
    max-height:540px!important;
    overflow:hidden!important;
  }
  #root#root .recruit-page :is(.recruit-copy,.recruit-visual){
    height:540px!important;
    min-height:540px!important;
    max-height:540px!important;
  }
  #root#root .recruit-page .recruit-form-card{
    max-height:calc(540px - 28px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
}
@media (min-width:1200px) and (max-width:1439px){
  #root#root .recruit-page .recruit-hero{
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
    overflow:hidden!important;
  }
  #root#root .recruit-page :is(.recruit-copy,.recruit-visual){
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
  }
  #root#root .recruit-page .recruit-form-card{
    max-height:calc(560px - 28px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
}
@media (min-width:1200px) and (max-width:1439px) and (max-height:720px){
  #root#root .recruit-page .recruit-hero,
  #root#root .recruit-page :is(.recruit-copy,.recruit-visual){
    height:520px!important;
    min-height:520px!important;
    max-height:520px!important;
  }
  #root#root .recruit-page .recruit-form-card{max-height:492px!important;}
}
/* === end FINAL career hero height parity === */

/* === 2026-09-25 career form fitted to shared hero height ===
   Hero height stays identical to the other pages; the wizard scales to fit it. */
@media (min-width:1024px) and (max-width:1439px) {
  #root#root .recruit-page .recruit-visual {
    padding:14px 18px!important;
  }

  #root#root .recruit-page .recruit-form-card {
    width:min(100%,700px)!important;
    max-width:700px!important;
    padding:14px 18px 13px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:auto!important;
  }

  #root#root .recruit-page .recruit-wizard-brand {
    gap:8px!important;
    margin-bottom:9px!important;
    padding-bottom:9px!important;
  }
  #root#root .recruit-page .recruit-wizard-brand>img {
    width:29px!important;
    height:29px!important;
  }
  #root#root .recruit-page .recruit-wizard-brand>span {padding-left:10px!important;}
  #root#root .recruit-page .recruit-wizard-brand strong {
    font-size:8.5px!important;
    line-height:1.25!important;
    letter-spacing:1.55px!important;
  }

  #root#root .recruit-page .recruit-wizard-stepper {
    margin-bottom:11px!important;
  }
  #root#root .recruit-page .recruit-wizard-stepper::before,
  #root#root .recruit-page .recruit-wizard-stepper::after {top:13px!important;}
  #root#root .recruit-page .recruit-wizard-stepper button {gap:5px!important;}
  #root#root .recruit-page .recruit-wizard-stepper button>span {
    width:28px!important;
    height:28px!important;
    font-size:10px!important;
  }
  #root#root .recruit-page .recruit-wizard-stepper button>small {
    font-size:9.25px!important;
    line-height:1.2!important;
  }

  #root#root .recruit-page .recruit-wizard-heading {margin-bottom:10px!important;}
  #root#root .recruit-page .recruit-wizard-heading h2 {
    margin-bottom:4px!important;
    font-size:clamp(20px,1.55vw,22px)!important;
    line-height:1.08!important;
  }
  #root#root .recruit-page .recruit-wizard-heading p {
    font-size:11.25px!important;
    line-height:1.38!important;
  }

  #root#root .recruit-page .recruit-wizard-grid {
    gap:9px 12px!important;
  }
  #root#root .recruit-page .recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {
    gap:5px!important;
    font-size:10.75px!important;
    line-height:1.28!important;
  }
  #root#root .recruit-page .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  #root#root .recruit-page .recruit-wizard-grid select {
    min-height:39px!important;
    height:39px!important;
    padding:7px 9px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }

  #root#root .recruit-page .recruit-security-note {
    gap:8px!important;
    margin-top:9px!important;
  }
  #root#root .recruit-page .recruit-security-note>span {
    width:23px!important;
    height:27px!important;
  }
  #root#root .recruit-page .recruit-security-note p {gap:2px!important;}
  #root#root .recruit-page .recruit-security-note b {
    font-size:10.75px!important;
    line-height:1.25!important;
  }
  #root#root .recruit-page .recruit-security-note small {
    font-size:9.5px!important;
    line-height:1.32!important;
  }

  #root#root .recruit-page .recruit-wizard-footer {
    gap:9px!important;
    margin-top:9px!important;
    padding-top:10px!important;
  }
  #root#root .recruit-page :is(.recruit-back,.recruit-next,.recruit-submit) {
    min-height:42px!important;
    height:42px!important;
    padding:9px 12px!important;
    font-size:11.75px!important;
  }

  /* The longer second step keeps its scroll; step one should fit naturally. */
  #root#root .recruit-page .recruit-form-card:has(> form > .recruit-wizard-panel:first-of-type.is-active) {
    scrollbar-gutter:auto!important;
  }
}

/* Very short laptop: fit the complete first step inside the shared 520px hero. */
@media (min-width:1024px) and (max-width:1439px) and (max-height:720px) {
  #root#root .recruit-page .recruit-visual {padding:10px 16px!important;}
  #root#root .recruit-page .recruit-form-card {
    padding:12px 16px 11px!important;
  }
  #root#root .recruit-page .recruit-wizard-brand {
    margin-bottom:7px!important;
    padding-bottom:7px!important;
  }
  #root#root .recruit-page .recruit-wizard-brand>img {width:27px!important;height:27px!important;}
  #root#root .recruit-page .recruit-wizard-brand strong {font-size:8.25px!important;}
  #root#root .recruit-page .recruit-wizard-stepper {margin-bottom:9px!important;}
  #root#root .recruit-page .recruit-wizard-stepper::before,
  #root#root .recruit-page .recruit-wizard-stepper::after {top:12px!important;}
  #root#root .recruit-page .recruit-wizard-stepper button>span {width:26px!important;height:26px!important;}
  #root#root .recruit-page .recruit-wizard-stepper button>small {font-size:9px!important;}
  #root#root .recruit-page .recruit-wizard-heading {margin-bottom:8px!important;}
  #root#root .recruit-page .recruit-wizard-heading h2 {font-size:20px!important;margin-bottom:3px!important;}
  #root#root .recruit-page .recruit-wizard-heading p {font-size:11px!important;line-height:1.34!important;}
  #root#root .recruit-page .recruit-wizard-grid {gap:7px 10px!important;}
  #root#root .recruit-page .recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {gap:4px!important;font-size:10.5px!important;}
  #root#root .recruit-page .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  #root#root .recruit-page .recruit-wizard-grid select {min-height:38px!important;height:38px!important;padding:6px 8px!important;}
  #root#root .recruit-page .recruit-security-note {margin-top:7px!important;}
  #root#root .recruit-page .recruit-security-note>span {width:22px!important;height:25px!important;}
  #root#root .recruit-page .recruit-security-note b {font-size:10.5px!important;}
  #root#root .recruit-page .recruit-security-note small {font-size:9.25px!important;}
  #root#root .recruit-page .recruit-wizard-footer {margin-top:8px!important;padding-top:8px!important;}
  #root#root .recruit-page :is(.recruit-back,.recruit-next,.recruit-submit) {min-height:40px!important;height:40px!important;padding:8px 11px!important;}
}
/* === end career form fitted to shared hero height === */


/* === 2026-09-25 career form width balance: keep photo visible on laptops === */
@media (min-width:1024px) and (max-width:1199px){
  #root#root .recruit-page .recruit-visual{
    justify-content:flex-end!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  #root#root .recruit-page .recruit-form-card{
    width:min(100%,460px)!important;
    max-width:460px!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
}
@media (min-width:1200px) and (max-width:1439px){
  #root#root .recruit-page .recruit-visual{
    justify-content:flex-end!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
  #root#root .recruit-page .recruit-form-card{
    width:min(100%,500px)!important;
    max-width:500px!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
}
/* === end career form width balance === */

html:has(#root#root .inquiry-page),body:has(#root#root .inquiry-page),#root#root:has(.inquiry-page),#root#root .lexo-shell:has(.inquiry-page),#root#root:has(.inquiry-page) .presentation-main,#root#root:has(.inquiry-page) .presentation-viewport,#root#root:has(.inquiry-page) .presentation-frame{display:block!important;position:static!important;height:auto!important;max-height:none!important;min-height:0!important;width:100%!important;max-width:none!important;overflow:visible!important;margin:0!important;padding:0!important;transform:none!important;animation:none!important;background:#fff!important;color:#101b28!important}
#root#root:has(.inquiry-page) .lexo-shell>header,#root#root:has(.inquiry-page) .story-footer{display:none!important}

.inquiry-page{padding-right:clamp(6.25rem,7.2vw,8.125rem);font-family:Arial,sans-serif;background:#fff;color:#101b28}.inquiry-page *{box-sizing:border-box;min-width:0}.inquiry-layout{display:grid;grid-template-columns:43% 57%}.inquiry-copy{padding:clamp(1.5rem,3.5vw,4rem);container-type:inline-size}.inquiry-brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:inherit;margin-bottom:4rem}.inquiry-brand img{width:2.7rem;height:2.7rem;object-fit:contain}.inquiry-brand b{display:block;font-size:1.8rem}.inquiry-brand small{font-size:.65rem;color:#647180}.inquiry-eyebrow{font-size:.75rem;letter-spacing:.2em}
#root .inquiry-page h1{font-size:clamp(2rem,11cqi,5rem);line-height:1.03;letter-spacing:-.05em;font-weight:500;margin:1.5rem 0 2rem;color:#101b28}.inquiry-page h1 span{display:block;color:#e8b600}.inquiry-copy>p{font-size:1rem;line-height:1.5;color:#5e6b7a}.inquiry-details{margin:2rem 0}.inquiry-details a{display:flex;gap:1rem;align-items:center;text-decoration:none;color:#101b28;padding:1rem 0;border-bottom:1px solid #e0e5ea}.inquiry-details svg{width:1.6rem;height:1.6rem;flex:none}.inquiry-details b{display:block;margin-bottom:.4rem}.inquiry-details span span{font-size:.9rem;line-height:1.4}.inquiry-map{border:1px solid #e0e5ea}.inquiry-map iframe{width:100%;height:15rem;border:0;display:block}.inquiry-map>div{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;padding:1rem;font-size:.75rem}.inquiry-map svg{width:1.4rem;height:1.4rem}.inquiry-map a{color:#263848}
.inquiry-visual{position:relative;display:flex;align-items:center;padding:clamp(2rem,4vw,4rem)}.inquiry-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.inquiry-card{position:relative;width:100%;max-width:40rem;margin:auto;background:#fffffff7;padding:clamp(1.25rem,2.5vw,2.5rem);border-radius:0}#root .inquiry-card h2{font-size:clamp(1.4rem,2vw,2rem);color:#101b28;line-height:1.2;font-weight:500;margin:0 0 .7rem}.inquiry-card>p{font-size:.85rem;color:#5e6b7a;line-height:1.5;margin-bottom:1.7rem}.inquiry-card fieldset{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 1rem}.inquiry-card label{display:flex;flex-direction:column;gap:.5rem;font-size:.8rem;color:#455563}.inquiry-wide{grid-column:1/-1}.inquiry-card input:not([type=checkbox]),.inquiry-card select,.inquiry-card textarea{width:100%;font:inherit;font-size:16px;background:#f8f9fa;color:#101b28;border:1px solid #dce2e7;border-radius:2px;padding:.75rem;min-height:2.9rem}.inquiry-card textarea{resize:vertical}.inquiry-count{text-align:right;color:#657180}.inquiry-upload{border-top:1px solid #dce2e7;padding-top:1rem}.inquiry-upload label{flex-direction:row;align-items:center}.inquiry-upload svg{width:1.3rem;height:1.3rem}.inquiry-upload>small{display:block;margin:.5rem 0;color:#657180;font-size:.7rem}.inquiry-card input[type=file]{border:0;background:none;font-size:.75rem;padding:.5rem 0}.inquiry-file-selected{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.75rem;overflow-wrap:anywhere}.inquiry-file-selected button{background:none;border:0;text-decoration:underline;padding:.5rem;cursor:pointer}.inquiry-card .inquiry-consent{display:flex;flex-direction:row;align-items:flex-start;gap:.7rem;line-height:1.5}.inquiry-consent input{width:1.2rem;height:1.2rem;flex:none;accent-color:#e9b900}.inquiry-submit{border:0;background:#ffcf00;color:#101b28;font-weight:600;padding:1rem;min-height:3rem;cursor:pointer;display:flex;justify-content:center;gap:1.5rem}.inquiry-submit:disabled{opacity:.65;cursor:wait}.inquiry-security{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.7rem;color:#657180}.inquiry-security svg{width:1rem;height:1rem}.inquiry-error{color:#a63325!important;font-size:.75rem}.inquiry-card [aria-invalid=true]{border-color:#a63325!important}.inquiry-success{padding:1.5rem;border-left:2px solid #e6b700;background:#fffbea;line-height:1.5}.inquiry-page :is(input,select,textarea,a,button):focus-visible{outline:2px solid #ac8200;outline-offset:3px}.inquiry-sr-only{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
@media(max-width:1023px){.inquiry-page{padding-right:0}.inquiry-layout{grid-template-columns:1fr}.inquiry-brand{margin-right:6rem}.inquiry-visual{display:block;padding:0}.inquiry-photo{position:relative;display:block;height:24rem}.inquiry-card{max-width:none;border-radius:0;padding:2rem clamp(1.25rem,5vw,3rem)}}
@media(max-width:540px){.inquiry-card fieldset{grid-template-columns:1fr}.inquiry-copy{padding:2rem 1.25rem}.inquiry-photo{height:18rem}.inquiry-brand{margin-bottom:3rem}}

/* === 2026-09-16 premium motion pass === */
.inquiry-page { --motion-ease:cubic-bezier(.22,.75,.2,1); }
.inquiry-page [data-reveal]{opacity:0;transform:translate3d(0,18px,0);transition:opacity .68s ease var(--reveal-delay,0ms),transform .72s var(--motion-ease) var(--reveal-delay,0ms);will-change:opacity,transform}
.inquiry-page [data-reveal="fade"]{transform:none}
.inquiry-page [data-reveal="media"]{opacity:0;transform:scale(1.02);clip-path:inset(0 4% 0 0);transition:opacity .8s ease var(--reveal-delay,0ms),transform .95s var(--motion-ease) var(--reveal-delay,0ms),clip-path .9s var(--motion-ease) var(--reveal-delay,0ms)}
.inquiry-page [data-reveal].is-visible{opacity:1;transform:none;clip-path:inset(0)}
.inquiry-eyebrow{display:flex;align-items:center;gap:14px}.inquiry-eyebrow:before{content:"";width:30px;height:1px;background:#ffcf00;transform:scaleX(0);transform-origin:left center;transition:transform .55s var(--motion-ease) .12s}.inquiry-eyebrow.is-visible:before{transform:scaleX(1)}
.inquiry-photo{animation:inquiryPhotoSettle 1s var(--motion-ease) both;transform-origin:center}@keyframes inquiryPhotoSettle{from{transform:scale(1.03);filter:saturate(.92)}to{transform:scale(1);filter:none}}
.inquiry-card{box-shadow:0 12px 30px rgba(8,19,34,.06)}
.inquiry-details a{transition:transform .25s var(--motion-ease),color .25s ease}.inquiry-details svg{transition:transform .25s var(--motion-ease),color .25s ease}
@media(hover:hover) and (pointer:fine){.inquiry-details a:hover{transform:translateX(5px)}.inquiry-details a:hover svg{transform:translateY(-2px);color:#b58a00}}
.inquiry-map{overflow:hidden;transition:transform .3s var(--motion-ease),box-shadow .3s ease}.inquiry-map iframe{transition:filter .35s ease}@media(hover:hover) and (pointer:fine){.inquiry-map:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(8,19,34,.07)}.inquiry-map:hover iframe{filter:saturate(1.02) contrast(1.01)}}
.inquiry-card input:not([type=checkbox]),.inquiry-card select,.inquiry-card textarea{transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s var(--motion-ease)}.inquiry-card input:not([type=checkbox]):focus,.inquiry-card select:focus,.inquiry-card textarea:focus{border-color:#d4aa00;background:#fff;box-shadow:0 0 0 3px rgba(255,207,0,.12);transform:translateY(-1px)}
.inquiry-submit{transition:background-color .22s ease,transform .22s var(--motion-ease),box-shadow .22s ease}.inquiry-submit span{transition:transform .22s var(--motion-ease)}@media(hover:hover) and (pointer:fine){.inquiry-submit:hover:not(:disabled){background:#f1c000;transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,19,34,.10)}.inquiry-submit:hover span{transform:translateX(5px)}}
.inquiry-success,.inquiry-file-selected{animation:inquiryStateIn .42s var(--motion-ease) both}@keyframes inquiryStateIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1200px){.inquiry-layout{grid-template-columns:38% 62%;min-height:clamp(620px,68svh,780px)}.inquiry-copy{padding:36px clamp(42px,3vw,60px) 48px clamp(48px,3.7vw,76px)}.inquiry-visual{padding:clamp(42px,4vw,72px) clamp(34px,3vw,56px)}}
@media(prefers-reduced-motion:reduce){.inquiry-page [data-reveal],.inquiry-photo,.inquiry-success,.inquiry-file-selected{opacity:1!important;transform:none!important;clip-path:inset(0)!important;animation:none!important;transition:none!important}.inquiry-eyebrow:before{transform:scaleX(1)!important;transition:none!important}.inquiry-details a,.inquiry-details svg,.inquiry-map,.inquiry-map iframe,.inquiry-submit,.inquiry-submit span{transition:none!important}}

#root .inquiry-page h1 .inquiry-title-base{color:#101b28}


/* === 2026-09-16 premium motion pass II: masked type + pointer depth === */
.inquiry-page [data-reveal="line"]{display:block;opacity:0;clip-path:inset(0 0 100% 0);transform:translate3d(0,22px,0);transition:opacity .70s ease var(--reveal-delay,0ms),transform .78s var(--motion-ease) var(--reveal-delay,0ms),clip-path .78s var(--motion-ease) var(--reveal-delay,0ms)}
.inquiry-page [data-reveal="line"].is-visible{opacity:1;transform:none;clip-path:inset(0)}
.inquiry-visual{overflow:hidden}
@media(prefers-reduced-motion:reduce){.inquiry-page [data-reveal="line"]{opacity:1!important;transform:none!important;clip-path:inset(0)!important;transition:none!important}}

/* === 2026-09-17 hover clipping guard === */
.inquiry-page [data-reveal].is-visible:not([data-reveal="line"]) {
  clip-path: none !important;
}

/* Avoid moving the whole contact row outside a clipped/revealed parent. */
@media (hover:hover) and (pointer:fine) {
  .inquiry-details a:hover {
    transform: none !important;
  }
  .inquiry-details a:hover svg {
    transform: translateX(3px);
  }
}


/* === 2026-09-17 unified CTA system === */
.inquiry-submit {
  min-height:48px;
  padding:12px 18px;
  background:#ffd400;
  color:#081322;
  font-size:13px!important;
  line-height:1.35;
  font-weight:600!important;
  align-items:center;
  justify-content:space-between;
}
.inquiry-submit:hover:not(:disabled) { background:#f3c800; }
.inquiry-submit svg {
  width:18px;
  height:18px;
  flex:none;
  stroke-width:1.6;
  transition:transform .22s cubic-bezier(.2,0,0,1);
}
@media (hover:hover) and (pointer:fine) {
  .inquiry-submit:hover:not(:disabled) svg { transform:translateX(4px); }
}

/* === 2026-09-17 cooperation wizard === */
.inquiry-wizard {
  max-width: 46rem;
  padding: clamp(20px,2vw,28px);
  background: rgba(255,255,255,.97);
  box-shadow: 0 22px 60px rgba(8,19,34,.16);
}
.inquiry-wizard-brand {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:20px;
  padding-bottom:16px;
  border-bottom:1px solid #e5e9ed;
}
.inquiry-wizard-brand>img {width:34px;height:34px;object-fit:contain;}
.inquiry-wizard-brand b {display:block;font-size:17px;line-height:1;color:#101b28;letter-spacing:-.02em;}
.inquiry-wizard-brand small {display:block;margin-top:4px;font-size:8px;letter-spacing:1.7px;color:#718094;font-weight:700;}
.inquiry-wizard form {margin:0;}
.inquiry-wizard fieldset {display:block!important;border:0!important;padding:0!important;margin:0!important;}
.inquiry-stepper {
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin:0 0 26px;
}
.inquiry-stepper:before {
  content:"";
  position:absolute;
  left:12.5%;right:12.5%;top:15px;
  height:1px;background:#d9e0e6;
}
.inquiry-stepper button {
  position:relative;z-index:1;
  display:grid;justify-items:center;gap:6px;
  padding:0 6px;border:0;background:transparent;color:#7b8795;
  font:inherit;cursor:pointer;
}
.inquiry-stepper button:disabled {cursor:default;opacity:1;}
.inquiry-stepper button>span {
  display:grid;place-items:center;
  width:30px;height:30px;border-radius:50%;
  background:#e9edf1;color:#697787;
  font-size:11px;font-weight:700;
  box-shadow:0 0 0 5px rgba(255,255,255,.97);
}
.inquiry-stepper button>small {font-size:9px;font-weight:600;line-height:1.2;color:inherit;white-space:nowrap;}
.inquiry-stepper button.is-active {color:#101b28;}
.inquiry-stepper button.is-active>span {background:#ffd400;color:#101b28;}
.inquiry-stepper button.is-complete>span {background:#101b28;color:#fff;}
.inquiry-step-panel[hidden] {display:none!important;}
.inquiry-step-panel>header {margin-bottom:20px;}
.inquiry-step-panel>header>span {display:block;margin-bottom:7px;font-size:9px;letter-spacing:1.8px;font-weight:700;color:#b18400;}
#root .inquiry-step-panel h2 {margin:0 0 6px;font-size:clamp(23px,2vw,30px);font-weight:600;color:#101b28;letter-spacing:-.03em;}
.inquiry-step-panel>header p {margin:0!important;font-size:13px!important;line-height:1.45!important;color:#697787!important;}
.inquiry-step-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.inquiry-step-grid label {display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;color:#455563;}
.inquiry-step-grid input,
.inquiry-step-grid select,
.inquiry-step-grid textarea {
  width:100%;min-height:46px;padding:11px 12px;
  border:1px solid #d9e0e6;border-radius:0;background:#fff;
  color:#101b28;font:inherit;font-size:14px;
}
.inquiry-step-grid textarea {min-height:118px;resize:vertical;}
.inquiry-step-grid input:focus,
.inquiry-step-grid select:focus,
.inquiry-step-grid textarea:focus {outline:0;border-color:#d7aa00;box-shadow:0 0 0 3px rgba(255,212,0,.12);}
.inquiry-count {align-self:flex-end;font-size:10px;color:#7a8796;font-weight:400;}
.inquiry-summary {display:grid;gap:0;margin:4px 0 18px;border:1px solid #e1e6ea;background:#fafbfc;}
.inquiry-summary>div {display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:11px 13px;border-bottom:1px solid #e6eaee;}
.inquiry-summary>div:last-child {border-bottom:0;}
.inquiry-summary span {font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#758292;}
.inquiry-summary b {font-size:12px;line-height:1.45;font-weight:600;color:#101b28;overflow-wrap:anywhere;}
.inquiry-wizard .inquiry-upload {margin-top:0;padding-top:15px;border-top:1px solid #e1e6ea;}
.inquiry-wizard .inquiry-upload>label {display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#455563;}
.inquiry-wizard .inquiry-upload input[type=file] {width:100%;margin-top:7px;font-size:11px;}
.inquiry-wizard .inquiry-consent {margin-top:16px;font-size:11px;color:#566474;}
.inquiry-wizard-footer {
  display:grid;
  grid-template-columns:minmax(90px,auto) minmax(0,1fr) minmax(150px,auto);
  align-items:center;
  gap:14px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid #e1e6ea;
}
.inquiry-back,
.inquiry-next,
.inquiry-wizard .inquiry-submit {
  min-height:48px;
  padding:12px 16px;
  border-radius:0;
  font-size:13px!important;
  line-height:1.35;
  font-weight:600!important;
  font-family:inherit;
}
.inquiry-back {border:1px solid #d6dde3;background:#f7f8f9;color:#657386;}
.inquiry-back:disabled {opacity:.45;cursor:default;}
.inquiry-next,
.inquiry-wizard .inquiry-submit {display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border:0;background:#ffd400;color:#101b28;cursor:pointer;}
.inquiry-next:hover,
.inquiry-wizard .inquiry-submit:hover:not(:disabled) {background:#f3c800;}
.inquiry-next svg,
.inquiry-wizard .inquiry-submit svg {width:18px;height:18px;flex:none;stroke-width:1.6;}
.inquiry-wizard .inquiry-security {justify-self:center;font-size:10px;white-space:nowrap;}
.inquiry-wizard .inquiry-security svg {width:14px;height:14px;}
.inquiry-wizard .inquiry-success {padding:28px 24px;background:#fffbed;border-left:3px solid #ffd400;font-size:14px;}
.inquiry-wizard .inquiry-success strong {font-size:20px;color:#101b28;}

@media(max-width:1199px){
  .inquiry-wizard {max-width:42rem;}
  .inquiry-wizard-footer {grid-template-columns:auto 1fr auto;}
}
@media(max-width:640px){
  .inquiry-stepper button>small {font-size:8px;}
  .inquiry-step-grid {grid-template-columns:1fr;}
  .inquiry-wizard-footer {grid-template-columns:1fr 1fr;}
  .inquiry-wizard .inquiry-security {grid-column:1/-1;grid-row:2;justify-self:start;}
  .inquiry-back,.inquiry-next,.inquiry-wizard .inquiry-submit {width:100%;}
}

/* === 2026-09-17 cooperation wizard detail pass === */
.inquiry-wizard {position:relative;max-width:47rem;padding:26px 28px 24px;overflow:visible;}
.inquiry-wizard-step-label {position:absolute;left:50%;top:0;transform:translate(-50%,-54%);z-index:4;min-width:210px;padding:9px 22px;background:#ffd400;color:#081322;text-align:center;font-size:13px;font-weight:700;line-height:1.2;box-shadow:0 6px 18px rgba(8,19,34,.08);}
.inquiry-wizard-brand {margin:-2px 0 16px;padding:0 0 14px;border-bottom:0;}
.inquiry-wizard-brand>img {width:58px;height:auto;max-height:30px;object-fit:contain;object-position:left center;}
.inquiry-wizard-brand span {padding-left:12px;border-left:1px solid #cfd6dd;}
.inquiry-wizard-brand b {display:none;}
.inquiry-wizard-brand small {margin:0;font-size:8px;line-height:1.35;letter-spacing:2px;color:#6c7a8c;}
.inquiry-stepper {margin-bottom:24px;}
.inquiry-stepper:before {left:10%;right:10%;top:14px;}
.inquiry-stepper button>span {width:28px;height:28px;box-shadow:0 0 0 4px rgba(255,255,255,.97);}
.inquiry-stepper button.is-complete>span {background:#e9edf1;color:#697787;}
.inquiry-stepper button.is-active>span {background:#ffd400;color:#081322;}
.inquiry-stepper button>small {font-size:9px;font-weight:600;color:#647180;}
.inquiry-stepper button.is-active>small {color:#081322;font-weight:700;}
.inquiry-step-panel>header {margin-bottom:17px;}
.inquiry-step-panel>header>span {display:none;}
#root .inquiry-step-panel h2 {font-size:23px;margin-bottom:5px;font-weight:700;letter-spacing:-.025em;}
.inquiry-step-panel>header p {font-size:12px!important;line-height:1.42!important;}
.inquiry-step-grid {gap:12px 14px;}
.inquiry-step-grid label {gap:6px;font-size:11px;font-weight:650;}
.inquiry-step-grid input,.inquiry-step-grid select,.inquiry-step-grid textarea {min-height:40px;padding:9px 10px;font-size:12px;background:#fff;border-color:#d6dde4;}
.inquiry-step-grid textarea {min-height:78px;}
.inquiry-count {font-size:9px;}
.inquiry-field-label {display:block;margin-bottom:7px;font-size:11px;font-weight:650;color:#455563;}
.inquiry-services {display:block;}
.inquiry-service-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.inquiry-service-grid button {display:flex;align-items:center;justify-content:flex-start;gap:7px;min-height:42px;padding:8px 9px;border:1px solid #d6dde4;background:#fff;color:#344454;font:inherit;font-size:10px;line-height:1.2;text-align:left;cursor:pointer;}
.inquiry-service-grid button.is-selected {border-color:#d8aa00;background:#fff9dd;color:#081322;}
.inquiry-service-check {display:grid;place-items:center;width:15px;height:15px;border:1px solid #9ca8b5;flex:none;font-size:10px;line-height:1;color:#081322;background:#fff;}
.inquiry-service-grid button.is-selected .inquiry-service-check {background:#ffd400;border-color:#d6aa00;}
.inquiry-consent {font-size:10px!important;line-height:1.38!important;}
.inquiry-consent input {width:16px;height:16px;}
.inquiry-dropzone {display:grid;justify-items:center;gap:5px;padding:18px 16px;margin-bottom:12px;border:1px dashed #bdc8d4;background:#fbfcfd;color:#667486;text-align:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease;}
.inquiry-dropzone:hover,.inquiry-dropzone.is-dragging {border-color:#d2a500;background:#fff9dc;}
.inquiry-dropzone>svg {width:26px;height:26px;color:#6d7c8d;}
.inquiry-dropzone strong {font-size:11px;color:#344454;}
.inquiry-dropzone span {font-size:9px;color:#7d8997;}
.inquiry-dropzone input {display:none!important;}
.inquiry-file-selected {margin:0 0 12px;padding:9px 10px;border:1px solid #e0e5e9;background:#fff;font-size:10px;}
.inquiry-file-selected button {margin-left:auto;font-size:10px;}
.inquiry-summary-head {display:flex;align-items:center;justify-content:space-between;margin:13px 0 7px;font-size:10px;font-weight:700;color:#455563;}
.inquiry-summary-head button,.inquiry-summary-edit {padding:0;border:0;background:transparent;color:#6d7a89;font:inherit;font-size:9px;text-decoration:underline;cursor:pointer;}
.inquiry-summary {margin:0 0 13px;}
.inquiry-summary>div {position:relative;grid-template-columns:70px minmax(0,1fr) auto;gap:10px;padding:9px 10px;align-items:center;}
.inquiry-summary span {font-size:8px;letter-spacing:.06em;}
.inquiry-summary b {font-size:10px;font-weight:600;}
.inquiry-summary-edit {text-decoration:none;}
.inquiry-wizard-footer {margin-top:17px;padding-top:13px;gap:10px;grid-template-columns:86px minmax(0,1fr) 126px;}
.inquiry-back,.inquiry-next,.inquiry-wizard .inquiry-submit {min-height:40px;padding:9px 12px;font-size:11px!important;}
.inquiry-wizard .inquiry-security {font-size:9px;}
.inquiry-wizard .inquiry-security svg {width:12px;height:12px;}
.inquiry-next svg,.inquiry-wizard .inquiry-submit svg {width:15px;height:15px;}
@media(max-width:1199px){.inquiry-wizard{max-width:44rem}.inquiry-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.inquiry-wizard{padding:24px 18px 20px}.inquiry-wizard-step-label{min-width:180px;font-size:12px}.inquiry-wizard-brand>img{width:52px}.inquiry-stepper button>small{font-size:7px}.inquiry-service-grid{grid-template-columns:1fr 1fr}.inquiry-wizard-footer{grid-template-columns:1fr 1fr}.inquiry-wizard .inquiry-security{grid-column:1/-1}.inquiry-summary>div{grid-template-columns:60px minmax(0,1fr)}}

/* === 2026-09-17 cooperation wizard refinement II === */
.inquiry-visual::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(8,19,34,.13),rgba(8,19,34,.035) 62%,rgba(8,19,34,.08));
}
.inquiry-visual>.inquiry-wizard {z-index:1;}
.inquiry-wizard {
  width:min(100%,48rem);
  max-width:48rem;
  padding:28px 30px 25px;
  border:1px solid rgba(255,255,255,.68);
  background:rgba(255,255,255,.985);
  box-shadow:0 28px 76px rgba(8,19,34,.18);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}
.inquiry-wizard-step-label {
  min-width:196px;
  padding:9px 20px 10px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 9px 22px rgba(8,19,34,.10);
}
.inquiry-wizard-brand {
  min-height:34px;
  margin:0 0 14px;
  padding:0 0 13px;
  border-bottom:1px solid rgba(8,19,34,.07);
}
.inquiry-wizard-brand>img {width:62px;max-height:31px;}
.inquiry-wizard-brand span {padding-left:13px;}
.inquiry-wizard-brand small {font-size:7.5px;line-height:1.4;letter-spacing:1.85px;}
.inquiry-stepper {
  isolation:isolate;
  margin:0 -4px 24px;
  padding:0 4px 2px;
}
.inquiry-stepper::before,
.inquiry-stepper::after {
  content:"";
  position:absolute;
  left:10%;
  top:14px;
  height:1px;
  pointer-events:none;
}
.inquiry-stepper::before {right:10%;background:#dce2e7;}
.inquiry-stepper::after {
  z-index:0;
  width:var(--step-progress,0%);
  background:#d7a800;
  transition:width .32s cubic-bezier(.22,.75,.2,1);
}
.inquiry-stepper button {z-index:1;gap:7px;}
.inquiry-stepper button>span {
  width:28px;height:28px;
  border:1px solid transparent;
  box-shadow:0 0 0 5px rgba(255,255,255,.985);
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s cubic-bezier(.22,.75,.2,1);
}
.inquiry-stepper button.is-active>span {
  border-color:#dfb000;
  box-shadow:0 0 0 5px rgba(255,255,255,.985),0 5px 13px rgba(8,19,34,.08);
}
.inquiry-stepper button.is-complete>span {border-color:#d5dce3;}
.inquiry-stepper button>small {font-size:9px;letter-spacing:.01em;}
.inquiry-step-panel.is-active {animation:inquiryWizardPanelIn .34s cubic-bezier(.22,.75,.2,1) both;}
@keyframes inquiryWizardPanelIn {
  from {opacity:0;transform:translateY(7px);}
  to {opacity:1;transform:none;}
}
.inquiry-step-panel>header {display:grid;gap:4px;margin-bottom:18px;}
#root .inquiry-step-panel h2 {
  font-size:clamp(22px,1.75vw,27px);
  line-height:1.08;
  margin:0;
  font-weight:650;
  letter-spacing:-.035em;
}
.inquiry-step-panel>header p {max-width:52em;font-size:12px!important;line-height:1.48!important;}
.inquiry-step-grid {gap:13px 14px;}
.inquiry-step-grid label {gap:6px;font-size:11px;font-weight:600;color:#425160;}
.inquiry-step-grid input,
.inquiry-step-grid select,
.inquiry-step-grid textarea {
  min-height:42px;
  padding:10px 11px;
  border-color:#d7dee5;
  background:#fbfcfd;
  font-size:12px;
  color:#152230;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.inquiry-step-grid input:hover,
.inquiry-step-grid select:hover,
.inquiry-step-grid textarea:hover {border-color:#bcc7d1;background:#fff;}
.inquiry-step-grid input:focus,
.inquiry-step-grid select:focus,
.inquiry-step-grid textarea:focus {
  border-color:#cfa500;
  background:#fff;
  box-shadow:0 0 0 3px rgba(255,212,0,.11);
  transform:none;
}
.inquiry-step-grid textarea {min-height:86px;line-height:1.45;}
.inquiry-card [aria-invalid=true] {border-color:#b34830!important;background:#fffafa!important;}
.inquiry-error {margin-top:1px;font-size:9.5px!important;line-height:1.35!important;font-weight:500;}
.inquiry-service-grid button {
  min-height:44px;
  padding:9px 10px;
  border-color:#d7dee5;
  background:#fbfcfd;
  font-size:10.5px;
  font-weight:600;
  transition:border-color .18s ease,background-color .18s ease,transform .18s cubic-bezier(.22,.75,.2,1);
}
@media(hover:hover) and (pointer:fine){
  .inquiry-service-grid button:hover {border-color:#c3ccd5;background:#fff;transform:translateY(-1px);}
  .inquiry-stepper button:not(:disabled):hover>span {transform:translateY(-1px);}
}
.inquiry-service-grid button.is-selected {border-color:#d7aa00;background:#fff7cf;}
.inquiry-service-check {width:16px;height:16px;border-color:#9aa6b2;background:#fff;}
.inquiry-dropzone {
  min-height:104px;
  padding:20px 18px;
  border-color:#b9c4cf;
  background:#fafbfd;
}
.inquiry-dropzone strong {font-size:11.5px;}
.inquiry-dropzone span {font-size:9.5px;}
.inquiry-file-selected {display:flex;align-items:center;gap:12px;padding:10px 11px;background:#fbfcfd;}
.inquiry-file-selected>span {flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.inquiry-summary-head {margin:14px 0 8px;}
.inquiry-summary-head>span {font-size:10.5px;}
.inquiry-summary-head>small {font-size:9px;font-weight:400;color:#8290a0;}
.inquiry-summary {
  border-color:#dfe5ea;
  background:#fbfcfd;
}
.inquiry-summary>div {
  grid-template-columns:76px minmax(0,1fr) 44px;
  min-height:42px;
  padding:9px 11px;
}
.inquiry-summary>div::before {
  content:"";
  position:absolute;
  left:0;top:9px;bottom:9px;
  width:2px;
  background:#ffd400;
  opacity:.68;
}
.inquiry-summary span {padding-left:6px;font-size:8px;}
.inquiry-summary b {font-size:10.5px;}
.inquiry-summary-edit {justify-self:end;color:#6d7a89;text-decoration:none;}
.inquiry-consent {align-items:flex-start!important;gap:8px!important;color:#5a6877!important;}
.inquiry-consent input {margin-top:1px;accent-color:#ffd400;}
.inquiry-wizard-footer {
  grid-template-columns:92px minmax(0,1fr) 134px;
  margin-top:18px;
  padding-top:14px;
  border-top-color:#dfe5ea;
}
.inquiry-back,
.inquiry-next,
.inquiry-wizard .inquiry-submit {
  min-height:42px;
  padding:10px 13px;
  font-size:11.5px!important;
}
.inquiry-back {border-color:#d6dde3;background:#f7f9fa;color:#586777;}
.inquiry-back:not(:disabled):hover {background:#eef2f5;color:#101b28;}
.inquiry-next,
.inquiry-wizard .inquiry-submit {background:#ffd400;box-shadow:none;}
.inquiry-next:hover,
.inquiry-wizard .inquiry-submit:hover:not(:disabled) {background:#f3c800;box-shadow:none;transform:none;}
.inquiry-next svg,
.inquiry-wizard .inquiry-submit svg {width:16px;height:16px;stroke-width:1.6;transition:transform .2s cubic-bezier(.22,.75,.2,1);}
@media(hover:hover) and (pointer:fine){
  .inquiry-next:hover svg,
  .inquiry-wizard .inquiry-submit:hover:not(:disabled) svg {transform:translateX(3px);}
}
.inquiry-wizard .inquiry-security {font-size:9px;color:#758291;}
.inquiry-wizard .inquiry-security svg {color:#b68c00;}

@media(max-width:1023px){
  .inquiry-visual {
    position:relative;
    display:flex;
    align-items:center;
    min-height:auto;
    padding:72px clamp(18px,5vw,40px) 48px;
    overflow:hidden;
  }
  .inquiry-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .inquiry-wizard {width:min(100%,48rem);max-width:48rem;margin-inline:auto;}
}
@media(max-width:640px){
  .inquiry-visual {padding:58px 12px 28px;}
  .inquiry-wizard {padding:24px 16px 18px;box-shadow:0 18px 44px rgba(8,19,34,.16);}
  .inquiry-wizard-step-label {min-width:174px;padding:8px 15px;font-size:11px;}
  .inquiry-wizard-brand {margin-bottom:12px;}
  .inquiry-stepper {margin-inline:-8px;margin-bottom:20px;}
  .inquiry-stepper button {padding-inline:2px;}
  .inquiry-stepper button>small {font-size:7.5px;}
  .inquiry-step-grid {grid-template-columns:1fr;gap:12px;}
  .inquiry-service-grid {grid-template-columns:1fr 1fr;}
  .inquiry-summary>div {grid-template-columns:64px minmax(0,1fr) 38px;}
  .inquiry-summary-head>small {display:none;}
  .inquiry-wizard-footer {grid-template-columns:1fr 1fr;gap:9px;}
  .inquiry-wizard .inquiry-security {grid-column:1/-1;grid-row:2;justify-self:start;}
}
@media(max-width:420px){
  .inquiry-stepper button>small {font-size:7px;max-width:64px;white-space:normal;text-align:center;}
  .inquiry-service-grid {grid-template-columns:1fr;}
  .inquiry-summary>div {grid-template-columns:58px minmax(0,1fr);}
  .inquiry-summary-edit {grid-column:2;justify-self:start;}
}
@media(prefers-reduced-motion:reduce){
  .inquiry-step-panel.is-active {animation:none!important;}
  .inquiry-stepper::after {transition:none!important;}
}

/* === 2026-09-17 cooperation wizard redesign — production UI === */
.inquiry-visual::after {
  background:rgba(8,19,34,.16);
}
.inquiry-wizard {
  width:min(100%,44.5rem);
  max-width:44.5rem;
  margin-inline:auto;
  padding:30px 32px 24px;
  border:1px solid rgba(8,19,34,.08);
  background:#fff;
  box-shadow:0 24px 54px rgba(8,19,34,.14);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.inquiry-wizard-step-label {display:none!important;}
.inquiry-wizard-brand {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  min-height:34px;
  margin:0 0 22px;
  padding:0;
  border:0;
}
.inquiry-wizard-brand>img {
  width:64px;
  max-width:64px;
  max-height:32px;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.inquiry-wizard-brand span {
  display:grid;
  gap:3px;
  padding-left:14px;
  border-left:1px solid #dce2e7;
}
.inquiry-wizard-brand b {
  display:block;
  color:#081322;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.8px;
}
.inquiry-wizard-brand small {
  display:block;
  margin:0;
  color:#8290a0;
  font-size:8px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:1.2px;
}
.inquiry-stepper {
  margin:0 0 26px;
  padding:0;
}
.inquiry-stepper::before,
.inquiry-stepper::after {
  top:11px;
  left:12.5%;
  right:auto;
  height:1px;
}
.inquiry-stepper::before {
  width:75%;
  background:#dfe4e9;
}
.inquiry-stepper::after {
  width:calc(var(--step-progress,0%) * .9375);
  max-width:75%;
  background:#d7a800;
}
.inquiry-stepper button {
  gap:8px;
  padding:0 4px;
  color:#7d8997;
}
.inquiry-stepper button>span {
  width:22px;
  height:22px;
  border:1px solid #d9e0e6;
  background:#fff;
  color:#7a8796;
  font-size:9px;
  font-weight:700;
  box-shadow:0 0 0 4px #fff;
}
.inquiry-stepper button.is-active>span {
  border-color:#d7aa00;
  background:#ffd400;
  color:#081322;
  box-shadow:0 0 0 4px #fff;
}
.inquiry-stepper button.is-complete>span {
  border-color:#cbd4dc;
  background:#f3f5f7;
  color:#526071;
}
.inquiry-stepper button>small {
  font-size:8.5px;
  line-height:1.15;
  font-weight:600;
  color:#7d8997;
  letter-spacing:0;
}
.inquiry-stepper button.is-active>small {
  color:#081322;
  font-weight:700;
}
.inquiry-step-kicker {
  margin:0 0 9px;
  color:#a77f00;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.8px;
}
.inquiry-step-panel>header {
  display:block;
  margin:0 0 22px;
}
#root .inquiry-step-panel h2 {
  margin:0 0 7px;
  color:#081322;
  font-size:clamp(25px,1.8vw,30px);
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.035em;
}
.inquiry-step-panel>header p {
  max-width:48em;
  margin:0!important;
  color:#667486!important;
  font-size:12.5px!important;
  line-height:1.5!important;
}
.inquiry-step-grid {
  gap:15px 16px;
}
.inquiry-step-grid label,
.inquiry-field-label {
  color:#455563;
  font-size:11px;
  line-height:1.25;
  font-weight:600;
}
.inquiry-step-grid input,
.inquiry-step-grid select,
.inquiry-step-grid textarea {
  min-height:44px;
  padding:10px 12px;
  border:1px solid #d9e0e6;
  border-radius:0;
  background:#fff;
  color:#101b28;
  font-size:12.5px;
  box-shadow:none;
}
.inquiry-step-grid input::placeholder,
.inquiry-step-grid textarea::placeholder {color:#a0aab5;}
.inquiry-step-grid input:hover,
.inquiry-step-grid select:hover,
.inquiry-step-grid textarea:hover {border-color:#c1cad3;background:#fff;}
.inquiry-step-grid input:focus,
.inquiry-step-grid select:focus,
.inquiry-step-grid textarea:focus {
  border-color:#c9a000;
  box-shadow:0 0 0 2px rgba(255,212,0,.12);
}
.inquiry-step-grid textarea {min-height:88px;}
.inquiry-service-grid {
  gap:9px;
}
.inquiry-service-grid button {
  min-height:42px;
  padding:9px 10px;
  border:1px solid #d9e0e6;
  background:#fff;
  color:#455563;
  font-size:10.5px;
  font-weight:600;
}
.inquiry-service-grid button.is-selected {
  border-color:#d7aa00;
  background:#fff9df;
  color:#081322;
}
.inquiry-service-check {
  width:15px;
  height:15px;
  border:1px solid #aeb9c4;
  background:#fff;
}
.inquiry-service-grid button.is-selected .inquiry-service-check {
  border-color:#d7aa00;
  background:#ffd400;
}
.inquiry-dropzone {
  min-height:96px;
  margin:0 0 14px;
  padding:18px 16px;
  border:1px dashed #b9c4cf;
  background:#fbfcfd;
}
.inquiry-dropzone:hover,
.inquiry-dropzone.is-dragging {
  border-color:#d0a500;
  background:#fffbea;
}
.inquiry-summary-head {
  margin:16px 0 8px;
}
.inquiry-summary {
  margin:0 0 15px;
  border:1px solid #e0e5ea;
  background:#fff;
}
.inquiry-summary>div {
  min-height:40px;
  grid-template-columns:74px minmax(0,1fr) 46px;
  padding:9px 10px;
  border-bottom:1px solid #edf0f3;
}
.inquiry-summary>div::before {display:none;}
.inquiry-summary span {
  padding:0;
  color:#7a8796;
  font-size:8px;
  font-weight:700;
  letter-spacing:.06em;
}
.inquiry-summary b {
  color:#253443;
  font-size:10.5px;
  font-weight:600;
}
.inquiry-wizard-footer {
  display:grid;
  grid-template-areas:
    "back next"
    "security security";
  grid-template-columns:110px minmax(150px,1fr);
  gap:12px 16px;
  margin-top:22px;
  padding-top:17px;
  border-top:1px solid #e3e8ec;
}
.inquiry-back {grid-area:back;}
.inquiry-next,
.inquiry-wizard .inquiry-submit {
  grid-area:next;
  justify-self:end;
  width:170px;
}
.inquiry-wizard .inquiry-security {
  grid-area:security;
  justify-self:end;
  color:#8793a0;
  font-size:8.5px;
}
.inquiry-back,
.inquiry-next,
.inquiry-wizard .inquiry-submit {
  min-height:44px;
  padding:10px 14px;
  font-size:12px!important;
}
.inquiry-back {
  border:1px solid #d7dee5;
  background:#fff;
  color:#687687;
}
.inquiry-back:not(:disabled):hover {
  border-color:#bfc8d1;
  background:#f8fafb;
}
.inquiry-next,
.inquiry-wizard .inquiry-submit {
  border:0;
  background:#ffd400;
  color:#081322;
}
.inquiry-next:hover,
.inquiry-wizard .inquiry-submit:hover:not(:disabled) {
  background:#f3c800;
}
.inquiry-wizard .inquiry-success {
  padding:30px 26px;
  border:1px solid #f0df8f;
  border-left:3px solid #ffd400;
  background:#fffdf2;
}
@media(max-width:1023px){
  .inquiry-visual {padding:62px clamp(18px,5vw,38px) 42px;}
  .inquiry-wizard {max-width:44.5rem;}
}
@media(max-width:640px){
  .inquiry-wizard {padding:24px 18px 20px;}
  .inquiry-wizard-brand {margin-bottom:19px;}
  .inquiry-wizard-brand>img {width:58px;}
  .inquiry-stepper {margin:0 -4px 22px;}
  .inquiry-stepper button>small {font-size:7.25px;}
  .inquiry-step-grid {grid-template-columns:1fr;gap:13px;}
  .inquiry-service-grid {grid-template-columns:1fr 1fr;}
  .inquiry-wizard-footer {
    grid-template-columns:1fr 1fr;
    grid-template-areas:"back next" "security security";
  }
  .inquiry-next,
  .inquiry-wizard .inquiry-submit {width:100%;}
  .inquiry-wizard .inquiry-security {justify-self:start;}
}
@media(max-width:420px){
  .inquiry-service-grid {grid-template-columns:1fr;}
  .inquiry-summary>div {grid-template-columns:62px minmax(0,1fr);}
  .inquiry-summary-edit {grid-column:2;justify-self:start;}
}

/* === 2026-09-22 stable contact hero alignment === */
.inquiry-map { display:none!important; }

/* Desktop: same vertical rhythm as the Home hero. */
@media (min-width:1200px) {
  .inquiry-layout {
    display:grid;
    grid-template-columns:minmax(0,38%) minmax(0,62%);
    height:clamp(600px,64svh,720px);
    min-height:0;
    overflow:hidden;
  }

  .inquiry-copy,
  .inquiry-visual {
    height:100%;
    min-height:0;
  }

  .inquiry-copy {
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
    padding:30px clamp(36px,3vw,56px) 30px clamp(44px,3.7vw,72px);
  }

  .inquiry-brand {
    margin:0 0 22px;
  }

  .inquiry-eyebrow {
    margin:0 0 14px;
  }

  #root .inquiry-page h1 {
    margin:0 0 16px;
    font-size:clamp(44px,8.1cqi,62px);
    line-height:1.0;
  }

  .inquiry-copy>p {
    max-width:31rem;
    font-size:14px;
    line-height:1.45;
  }

  .inquiry-details {
    max-width:29rem;
    margin:18px 0 0;
  }

  .inquiry-details a {
    padding:10px 0;
  }

  .inquiry-details svg {
    width:18px;
    height:18px;
  }

  .inquiry-details b {
    margin-bottom:2px;
    font-size:12px;
    font-weight:650;
  }

  .inquiry-details span span {
    font-size:12px;
    line-height:1.35;
  }

  .inquiry-visual {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:24px clamp(28px,3vw,50px);
    background:#23313d;
  }

  .inquiry-photo {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    filter:saturate(.84) brightness(.78);
  }

  .inquiry-visual::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:rgba(8,19,34,.14);
  }

  .inquiry-visual>.inquiry-wizard {
    z-index:1;
  }

  .inquiry-wizard {
    position:relative;
    width:min(100%,720px);
    max-width:720px;
    max-height:calc(100% - 8px);
    margin:0 auto;
    padding:22px 28px 20px;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-gutter:stable;
    border:1px solid rgba(8,19,34,.08);
    background:#fff;
    box-shadow:0 14px 34px rgba(8,19,34,.10);
  }

  .inquiry-wizard-brand {
    min-height:0;
    margin:0 0 14px;
    padding:0 0 11px;
    border-bottom:1px solid #e5eaee;
  }

  .inquiry-wizard-brand>img {
    width:62px;
    max-height:29px;
  }

  .inquiry-wizard-brand>span {
    padding-left:12px;
    font-size:8px;
    letter-spacing:1.7px;
  }

  .inquiry-stepper {
    margin:0 0 18px;
  }

  .inquiry-stepper button {
    gap:6px;
  }

  .inquiry-stepper button>span {
    width:26px;
    height:26px;
    font-size:9px;
  }

  .inquiry-stepper button>small {
    font-size:9px;
  }

  .inquiry-step-panel>header {
    margin:0 0 16px;
  }

  #root .inquiry-step-panel h2 {
    margin:0 0 5px;
    font-size:clamp(23px,1.7vw,28px);
    line-height:1.05;
  }

  .inquiry-step-panel>header p {
    font-size:12px!important;
    line-height:1.4!important;
  }

  .inquiry-step-grid {
    gap:11px 14px;
  }

  .inquiry-step-grid label,
  .inquiry-field-label {
    gap:5px;
    font-size:11px;
  }

  .inquiry-step-grid input,
  .inquiry-step-grid select,
  .inquiry-step-grid textarea {
    min-height:42px;
    padding:9px 10px;
    font-size:12.5px;
  }

  .inquiry-step-grid textarea {
    min-height:76px;
  }

  .inquiry-service-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .inquiry-service-grid button {
    min-height:40px;
    padding:8px 9px;
    font-size:10.5px;
  }

  .inquiry-dropzone {
    min-height:82px;
    margin-bottom:10px;
    padding:13px 14px;
  }

  .inquiry-summary-head {
    margin:10px 0 6px;
  }

  .inquiry-summary {
    margin:0 0 10px;
  }

  .inquiry-summary>div {
    min-height:36px;
    padding:7px 9px;
  }

  .inquiry-consent {
    margin-top:10px!important;
    font-size:10px!important;
    line-height:1.35!important;
  }

  .inquiry-wizard-footer {
    margin-top:14px;
    padding-top:12px;
  }

  .inquiry-back,
  .inquiry-next,
  .inquiry-wizard .inquiry-submit {
    min-height:42px;
    font-size:11.5px!important;
  }

  .inquiry-wizard .inquiry-security {
    margin-top:7px;
    font-size:8.5px;
  }
}

/* Mid desktop follows the base Home hero (before its >=1200px enlargement). */
@media (min-width:1024px) and (max-width:1199px) {
  .inquiry-layout {
    grid-template-columns:minmax(0,38%) minmax(0,62%);
    height:clamp(520px,60svh,620px);
    min-height:0;
    overflow:hidden;
  }

  .inquiry-copy,
  .inquiry-visual {
    height:100%;
    min-height:0;
  }

  .inquiry-copy {
    display:flex;
    flex-direction:column;
    justify-content:center;
    overflow:hidden;
    padding:24px 34px;
  }

  .inquiry-brand {margin-bottom:18px;}
  .inquiry-eyebrow {margin-bottom:10px;}
  #root .inquiry-page h1 {margin:0 0 12px;font-size:clamp(38px,8cqi,52px);line-height:1.0;}
  .inquiry-copy>p {font-size:13px;line-height:1.4;}
  .inquiry-details {margin:14px 0 0;}
  .inquiry-details a {padding:8px 0;}
  .inquiry-details b,.inquiry-details span span {font-size:11px;}

  .inquiry-visual {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:18px 24px;
  }

  .inquiry-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .inquiry-wizard {width:min(100%,680px);max-height:calc(100% - 4px);overflow-y:auto;padding:18px 22px 16px;}
  .inquiry-wizard-brand {margin-bottom:10px;padding-bottom:9px;}
  .inquiry-stepper {margin-bottom:14px;}
  .inquiry-step-panel>header {margin-bottom:12px;}
  #root .inquiry-step-panel h2 {font-size:22px;}
  .inquiry-step-grid {gap:9px 11px;}
  .inquiry-step-grid input,.inquiry-step-grid select,.inquiry-step-grid textarea {min-height:38px;padding:8px 9px;font-size:12px;}
  .inquiry-step-grid textarea {min-height:66px;}
  .inquiry-service-grid button {min-height:38px;}
  .inquiry-dropzone {min-height:72px;padding:11px;}
  .inquiry-wizard-footer {margin-top:10px;padding-top:9px;}
}

/* Tablet/mobile stays document-flow, so nothing can overlap the following content. */
@media (max-width:1023px) {
  .inquiry-layout {grid-template-columns:1fr;height:auto;min-height:0;overflow:visible;}
  .inquiry-copy {height:auto;overflow:visible;padding:36px clamp(24px,5vw,48px) 34px;}
  .inquiry-details {max-width:none;}
  .inquiry-visual {height:auto;min-height:0;overflow:hidden;padding:46px clamp(20px,5vw,40px);}
  .inquiry-photo {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .inquiry-wizard {width:100%;max-width:760px;max-height:none;overflow:visible;margin-inline:auto;}
}

/* === 2026-09-22 contact page continuation: follow-up + office === */
.inquiry-section-inner,
.inquiry-office {
  width:100%;
  padding-left:clamp(32px,5.2vw,104px);
  padding-right:clamp(32px,5.2vw,104px);
}

.inquiry-section-eyebrow {
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 18px;
  color:#667486;
  font-size:10px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:2.4px;
}
.inquiry-section-eyebrow::before {
  content:"";
  width:30px;
  height:1px;
  flex:none;
  background:#ffd400;
}

.inquiry-followup {
  background:#fff;
  padding:88px 0 84px;
  border-top:1px solid #edf0f2;
}
.inquiry-followup-head {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  align-items:end;
  gap:clamp(40px,7vw,120px);
  margin-bottom:52px;
}
#root .inquiry-followup h2,
#root .inquiry-office h2 {
  margin:0;
  color:#081322;
  font-size:clamp(34px,3.15vw,52px);
  line-height:1.04;
  font-weight:500;
  letter-spacing:-.045em;
}
.inquiry-followup-head>p {
  max-width:38em;
  margin:0 0 4px;
  color:#5f6d7c;
  font-size:clamp(15px,.9vw,17px);
  line-height:1.62;
}
.inquiry-followup-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin:0;
  padding:0;
  list-style:none;
  border-top:1px solid #dce2e8;
  border-bottom:1px solid #dce2e8;
}
.inquiry-followup-grid>li {
  position:relative;
  min-height:210px;
  padding:28px clamp(22px,2vw,34px) 30px;
  border-left:1px solid #dce2e8;
}
.inquiry-followup-grid>li:first-child {border-left:0;padding-left:0;}
.inquiry-followup-grid>li:last-child {padding-right:0;}
.inquiry-followup-grid>li>span {
  display:block;
  margin-bottom:34px;
  color:#b88b00;
  font-size:12px;
  line-height:1;
  font-weight:700;
  letter-spacing:.12em;
}
.inquiry-followup-grid h3 {
  margin:0 0 12px;
  color:#081322;
  font-size:clamp(20px,1.08vw,22px);
  line-height:1.24;
  font-weight:650;
  letter-spacing:-.02em;
}
.inquiry-followup-grid p {
  margin:0;
  color:#627082;
  font-size:clamp(14px,.78vw,15px);
  line-height:1.58;
}

.inquiry-office {
  display:grid;
  grid-template-columns:minmax(320px,37%) minmax(0,63%);
  gap:clamp(46px,6vw,96px);
  align-items:stretch;
  padding-top:84px;
  padding-bottom:84px;
  background:#f6f8fa;
}
.inquiry-office-copy {
  align-self:center;
  max-width:520px;
}
.inquiry-office-copy>h2 {margin-bottom:38px!important;}
.inquiry-office-address {
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:16px;
  padding:22px 0;
  border-top:1px solid #dce2e8;
  border-bottom:1px solid #dce2e8;
}
.inquiry-office-address>svg {
  width:22px;
  height:22px;
  color:#b88b00;
  stroke-width:1.6;
}
.inquiry-office-address b {
  display:block;
  margin-bottom:7px;
  color:#081322;
  font-size:14px;
  font-weight:650;
}
.inquiry-office-address p {
  margin:0;
  color:#5f6d7c;
  font-size:14px;
  line-height:1.55;
}
.inquiry-office-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 22px;
  margin-top:18px;
}
.inquiry-office-links a {
  display:grid;
  gap:6px;
  padding:14px 0;
  border-bottom:1px solid #dce2e8;
  color:#081322;
  text-decoration:none;
}
.inquiry-office-links span {
  color:#788596;
  font-size:10px;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.inquiry-office-links b {
  font-size:13px;
  line-height:1.35;
  font-weight:600;
  overflow-wrap:anywhere;
}
.inquiry-office-map iframe {
  display:block;
  width:100%;
  height:100%;
  min-height:430px;
  border:0;
  filter:grayscale(.82) saturate(.55) contrast(.96);
  transition:filter .35s ease;
}
@media(hover:hover) and (pointer:fine) {
  .inquiry-office-map:hover iframe {filter:grayscale(.12) saturate(.9) contrast(1);}
}

@media (max-width:1199px) {
  .inquiry-followup {padding-block:68px;}
  .inquiry-followup-head {grid-template-columns:1fr;gap:22px;margin-bottom:38px;}
  .inquiry-followup-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .inquiry-followup-grid>li {min-height:190px;border-top:1px solid #dce2e8;}
  .inquiry-followup-grid>li:nth-child(odd) {border-left:0;padding-left:0;}
  .inquiry-followup-grid>li:nth-child(-n/**/+2) {border-top:0;}
  .inquiry-office {grid-template-columns:minmax(280px,40%) minmax(0,60%);gap:40px;padding-block:68px;}
}

@media (max-width:767px) {
  .inquiry-section-inner,
  .inquiry-office {padding-left:24px;padding-right:24px;}
  .inquiry-followup {padding-block:54px;}
  .inquiry-followup-grid {grid-template-columns:1fr;border-bottom:0;}
  .inquiry-followup-grid>li,
  .inquiry-followup-grid>li:nth-child(odd) {
    min-height:0;
    padding:24px 0;
    border-left:0;
    border-top:1px solid #dce2e8;
  }
  .inquiry-followup-grid>li:first-child {border-top:0;}
  .inquiry-followup-grid>li>span {margin-bottom:18px;}
  .inquiry-office {grid-template-columns:1fr;gap:34px;padding-top:54px;padding-bottom:54px;}
  .inquiry-office-copy {max-width:none;}
  .inquiry-office-copy>h2 {margin-bottom:28px!important;}
  .inquiry-office-links {grid-template-columns:1fr;}
  .inquiry-office-map,
  .inquiry-office-map iframe {min-height:330px;}
}


/* === 2026-09-22 cooperation wizard finishing pass === */
.inquiry-wizard {
  border:1px solid rgba(8,19,34,.10)!important;
  background:#fff!important;
  box-shadow:0 22px 54px rgba(8,19,34,.16)!important;
}

.inquiry-wizard-brand {
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  margin-bottom:16px!important;
  padding-bottom:14px!important;
  border-bottom:1px solid #e6eaee!important;
}
.inquiry-wizard-brand>img {
  width:58px!important;
  max-width:58px!important;
  height:auto!important;
  max-height:30px!important;
  object-fit:contain!important;
}
.inquiry-wizard-brand>span {
  display:grid!important;
  gap:4px!important;
  padding-left:14px!important;
  border-left:1px solid #d6dde4!important;
}
.inquiry-wizard-brand strong {
  color:#081322;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:1.7px;
}
.inquiry-wizard-brand small {
  color:#8a96a3!important;
  font-size:8px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:1.15px!important;
}

.inquiry-stepper {
  margin:0 0 20px!important;
  padding:2px 0 0!important;
}
.inquiry-stepper::before,
.inquiry-stepper::after {top:14px!important;}
.inquiry-stepper button {gap:7px!important;}
.inquiry-stepper button>span {
  width:28px!important;
  height:28px!important;
  border:1px solid #d7dee5!important;
  background:#fff!important;
  color:#73808e!important;
  font-size:10px!important;
  font-weight:700!important;
  box-shadow:0 0 0 4px #fff!important;
}
.inquiry-stepper button.is-active>span {
  border-color:#e0af00!important;
  background:#ffd400!important;
  color:#081322!important;
}
.inquiry-stepper button.is-complete>span {
  border-color:#081322!important;
  background:#081322!important;
  color:#fff!important;
}
.inquiry-stepper button>small {
  color:#758291!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:600!important;
}
.inquiry-stepper button.is-active>small {
  color:#081322!important;
  font-weight:700!important;
}

.inquiry-step-panel>header {
  margin:0 0 18px!important;
  padding:0 0 14px!important;
  border-bottom:1px solid #edf0f3;
}
#root .inquiry-step-panel h2 {
  margin:0 0 6px!important;
  color:#081322!important;
  font-size:clamp(24px,1.8vw,29px)!important;
  line-height:1.05!important;
  font-weight:650!important;
  letter-spacing:-.035em!important;
}
.inquiry-step-panel>header p {
  max-width:54em!important;
  color:#627082!important;
  font-size:12.5px!important;
  line-height:1.45!important;
}

.inquiry-step-grid {gap:14px 16px!important;}
.inquiry-step-grid label,
.inquiry-field-label {
  gap:7px!important;
  color:#364656!important;
  font-size:11px!important;
  line-height:1.25!important;
  font-weight:650!important;
}
.inquiry-step-grid input,
.inquiry-step-grid select,
.inquiry-step-grid textarea {
  min-height:48px!important;
  padding:11px 12px!important;
  border:1px solid #cfd7df!important;
  border-radius:0!important;
  background:#fbfcfd!important;
  color:#101b28!important;
  font-size:13px!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
.inquiry-step-grid input::placeholder,
.inquiry-step-grid textarea::placeholder {
  color:#9ba6b1!important;
  font-size:13px!important;
  font-weight:500!important;
}
.inquiry-step-grid input:hover,
.inquiry-step-grid select:hover,
.inquiry-step-grid textarea:hover {
  border-color:#aeb9c4!important;
  background:#fff!important;
}
.inquiry-step-grid input:focus,
.inquiry-step-grid select:focus,
.inquiry-step-grid textarea:focus {
  outline:0!important;
  border-color:#cba100!important;
  background:#fff!important;
  box-shadow:0 0 0 3px rgba(255,212,0,.10)!important;
  transform:none!important;
}
.inquiry-step-grid textarea {min-height:92px!important;}

.inquiry-service-grid {gap:9px!important;}
.inquiry-service-grid button {
  min-height:46px!important;
  padding:10px 11px!important;
  border-color:#cfd7df!important;
  background:#fbfcfd!important;
  font-size:11px!important;
}
.inquiry-service-grid button.is-selected {
  border-color:#d4aa00!important;
  background:#fff7cf!important;
}

.inquiry-wizard-footer {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin-top:18px!important;
  padding-top:16px!important;
  border-top:1px solid #e3e8ec!important;
}
.inquiry-wizard-actions {
  display:flex;
  align-items:center;
  gap:10px;
  flex:none;
}
.inquiry-back,
.inquiry-next,
.inquiry-wizard .inquiry-submit {
  width:auto!important;
  min-width:118px!important;
  min-height:46px!important;
  margin:0!important;
  padding:11px 14px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:600!important;
}
.inquiry-back {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  border:1px solid #d5dde4!important;
  background:#fff!important;
  color:#6f7d8d!important;
}
.inquiry-back:disabled {
  opacity:.42!important;
  background:#f8fafb!important;
}
.inquiry-next,
.inquiry-wizard .inquiry-submit {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  border:0!important;
  background:#ffd400!important;
  color:#081322!important;
}
.inquiry-next:hover,
.inquiry-wizard .inquiry-submit:hover:not(:disabled) {background:#f3c800!important;}
.inquiry-next svg,
.inquiry-wizard .inquiry-submit svg {
  width:16px!important;
  height:16px!important;
  stroke-width:1.6!important;
}
.inquiry-wizard .inquiry-security {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  margin:0!important;
  color:#84909d!important;
  font-size:9px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
.inquiry-wizard .inquiry-security svg {
  width:13px!important;
  height:13px!important;
  color:#b38800!important;
}

@media (min-width:1200px) {
  .inquiry-wizard {
    padding:24px 26px 20px!important;
    overflow-y:auto;
  }
  .inquiry-step-grid {gap:12px 14px!important;}
  .inquiry-step-grid input,
  .inquiry-step-grid select,
  .inquiry-step-grid textarea {min-height:45px!important;padding:10px 11px!important;}
  .inquiry-step-grid textarea {min-height:80px!important;}
  .inquiry-wizard-footer {margin-top:16px!important;padding-top:14px!important;}
}

@media (max-width:1199px) and (min-width:1024px) {
  .inquiry-wizard {padding:19px 21px 16px!important;}
  .inquiry-wizard-brand {margin-bottom:11px!important;padding-bottom:10px!important;}
  .inquiry-stepper {margin-bottom:14px!important;}
  .inquiry-stepper button>span {width:24px!important;height:24px!important;}
  .inquiry-stepper::before,.inquiry-stepper::after {top:12px!important;}
  .inquiry-step-panel>header {margin-bottom:12px!important;padding-bottom:10px!important;}
  #root .inquiry-step-panel h2 {font-size:22px!important;}
  .inquiry-step-grid {gap:9px 11px!important;}
  .inquiry-step-grid input,.inquiry-step-grid select,.inquiry-step-grid textarea {min-height:39px!important;padding:8px 9px!important;font-size:12px!important;}
  .inquiry-step-grid textarea {min-height:65px!important;}
  .inquiry-wizard-footer {margin-top:10px!important;padding-top:10px!important;}
  .inquiry-back,.inquiry-next,.inquiry-wizard .inquiry-submit {min-width:105px!important;min-height:40px!important;padding:9px 11px!important;font-size:11px!important;}
  .inquiry-wizard .inquiry-security {font-size:8px!important;}
}

@media (max-width:640px) {
  .inquiry-wizard-footer {
    align-items:stretch!important;
    flex-direction:column!important;
    gap:12px!important;
  }
  .inquiry-wizard-actions {width:100%;}
  .inquiry-wizard-actions>* {flex:1;}
  .inquiry-back,.inquiry-next,.inquiry-wizard .inquiry-submit {width:100%!important;min-width:0!important;}
  .inquiry-wizard .inquiry-security {justify-content:flex-start!important;white-space:normal!important;}
}


/* === 2026-09-22 uniform white wizard surface === */
.inquiry-wizard,
.inquiry-step-panel,
.inquiry-step-panel>header,
.inquiry-step-grid input,
.inquiry-step-grid select,
.inquiry-step-grid textarea,
.inquiry-service-grid button,
.inquiry-dropzone,
.inquiry-file-selected,
.inquiry-summary,
.inquiry-summary>div,
.inquiry-back {
  background:#fff!important;
}
.inquiry-step-grid input:hover,
.inquiry-step-grid select:hover,
.inquiry-step-grid textarea:hover,
.inquiry-service-grid button:hover,
.inquiry-dropzone:hover {
  background:#fff!important;
}
.inquiry-service-grid button.is-selected {
  background:#fff!important;
  border-color:#d4aa00!important;
  box-shadow:inset 3px 0 0 #ffd400!important;
}
.inquiry-wizard-brand>span {
  display:flex!important;
  align-items:center!important;
  min-height:24px;
  gap:0!important;
}
.inquiry-wizard-brand small {display:none!important;}
.inquiry-back:disabled {background:#fff!important;}

/* === 2026-09-22 remove step heading panel background === */
.inquiry-wizard fieldset,
.inquiry-step-panel,
.inquiry-step-panel > header,
.inquiry-step-panel > header > h2,
.inquiry-step-panel > header > p {
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
}
.inquiry-step-panel > header::before,
.inquiry-step-panel > header::after,
.inquiry-step-panel::before,
.inquiry-step-panel::after {
  content:none!important;
  display:none!important;
  background:none!important;
}

/* === 2026-09-22 step heading must inherit the card surface === */
.inquiry-wizard fieldset,
.inquiry-step-panel,
.inquiry-step-panel > header,
.inquiry-step-panel > header > h2,
.inquiry-step-panel > header > p {
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}


/* === 2026-09-22 step heading: remove site-header interference === */
.inquiry-wizard form,
.inquiry-wizard fieldset,
.inquiry-step-panel,
.inquiry-step-grid {
  background:#fff!important;
}
.inquiry-step-heading {
  display:block!important;
  margin:0 0 18px!important;
  padding:0 0 14px!important;
  border:0!important;
  border-bottom:1px solid #edf0f3!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  filter:none!important;
}
#root .inquiry-step-heading h2 {
  margin:0 0 6px!important;
  color:#081322!important;
  font-size:clamp(24px,1.8vw,29px)!important;
  line-height:1.05!important;
  font-weight:650!important;
  letter-spacing:-.035em!important;
  background:transparent!important;
}
.inquiry-step-heading p {
  max-width:54em!important;
  margin:0!important;
  color:#627082!important;
  font-size:12.5px!important;
  line-height:1.45!important;
  background:transparent!important;
}
.inquiry-step-heading::before,
.inquiry-step-heading::after {content:none!important;display:none!important;}
@media (min-width:1200px) {
  .inquiry-step-heading {margin-bottom:16px!important;padding-bottom:14px!important;}
  #root .inquiry-step-heading h2 {font-size:clamp(23px,1.7vw,28px)!important;}
  .inquiry-step-heading p {font-size:12px!important;line-height:1.4!important;}
}
@media (max-width:1199px) and (min-width:1024px) {
  .inquiry-step-heading {margin-bottom:12px!important;padding-bottom:10px!important;}
  #root .inquiry-step-heading h2 {font-size:22px!important;}
}


/* === 2026-09-22 final hero typography sync with Home === */
#root .inquiry-page .inquiry-copy h1 {
  margin:0 0 18px!important;
  max-width:100%;
  color:#081322!important;
  font-size:clamp(42px,9.1cqi,58px)!important;
  line-height:1.045!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
}
#root .inquiry-page .inquiry-copy h1 span {
  font-weight:inherit!important;
}
@media (min-width:1200px) {
  #root .inquiry-page .inquiry-copy h1 {
    font-size:clamp(50px,9.7cqi,72px)!important;
    line-height:1.035!important;
    letter-spacing:-.055em!important;
    margin-bottom:24px!important;
  }
}
@media (max-width:599px) {
  #root .inquiry-page .inquiry-copy h1 {
    font-size:clamp(36px,9.2cqi,42px)!important;
    line-height:1.08!important;
    margin-bottom:22px!important;
  }
}


/* === 2026-09-22 wizard navigation consistency === */
.inquiry-wizard-actions {
  display:grid!important;
  grid-template-columns:repeat(2,124px)!important;
  gap:10px!important;
  width:auto!important;
}
.inquiry-wizard-actions > :only-child {
  grid-column:2;
}
.inquiry-back,
.inquiry-next,
.inquiry-wizard .inquiry-submit {
  width:124px!important;
  min-width:124px!important;
}
@media (max-width:640px) {
  .inquiry-wizard-actions {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
  .inquiry-back,
  .inquiry-next,
  .inquiry-wizard .inquiry-submit {
    width:100%!important;
    min-width:0!important;
  }
}

/* === 2026-09-22 unified site heading scale === */
#root .inquiry-page .inquiry-copy h1 {
  max-width:100%!important;
  font-size:var(--lexo-display-1-size)!important;
  line-height:var(--lexo-display-1-line)!important;
  font-weight:var(--lexo-display-1-weight)!important;
  letter-spacing:var(--lexo-display-1-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .inquiry-page .inquiry-copy h1 :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
#root .inquiry-page :is(.inquiry-followup h2,.inquiry-office h2) {
  max-width:100%!important;
  font-size:var(--lexo-display-2-size)!important;
  line-height:var(--lexo-display-2-line)!important;
  font-weight:var(--lexo-display-2-weight)!important;
  letter-spacing:var(--lexo-display-2-tracking)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
#root .inquiry-page :is(.inquiry-followup h2,.inquiry-office h2) :is(span,em,strong) {
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  max-width:100%;
}
/* === end unified site heading scale === */

/* === 2026-09-22 shared page BrandLogo === */
#root .inquiry-page .inquiry-brand {
  display:inline-flex;
  align-items:center;
  width:fit-content;
}
#root .inquiry-page .inquiry-brand > :not(.lexo-brand) { display:none!important; }

/* === 2026-09-22 contact wizard — fit hero without internal vertical scroll === */
@media (min-width:1200px) {
  .inquiry-visual {
    padding:12px clamp(24px,2.5vw,44px)!important;
  }

  .inquiry-wizard {
    max-height:none!important;
    overflow:visible!important;
    scrollbar-gutter:auto!important;
    padding:16px 22px 14px!important;
  }

  .inquiry-wizard-brand {
    min-height:0!important;
    margin-bottom:8px!important;
    padding-bottom:8px!important;
  }
  .inquiry-wizard-brand>img {
    width:56px!important;
    max-height:26px!important;
  }

  .inquiry-stepper {margin-bottom:10px!important;}
  .inquiry-stepper button {gap:4px!important;}
  .inquiry-stepper button>span {
    width:23px!important;
    height:23px!important;
    font-size:8px!important;
  }
  .inquiry-stepper::before,
  .inquiry-stepper::after {top:11px!important;}
  .inquiry-stepper button>small {font-size:8px!important;}

  .inquiry-step-heading {
    margin-bottom:9px!important;
    padding-bottom:8px!important;
  }
  #root .inquiry-step-heading h2 {
    margin-bottom:3px!important;
    font-size:22px!important;
    line-height:1.04!important;
  }
  .inquiry-step-heading p {
    font-size:10.5px!important;
    line-height:1.3!important;
  }

  .inquiry-step-grid {gap:8px 10px!important;}
  .inquiry-step-grid label,
  .inquiry-field-label {gap:4px!important;font-size:10px!important;}
  .inquiry-step-grid input,
  .inquiry-step-grid select,
  .inquiry-step-grid textarea {
    min-height:36px!important;
    padding:7px 9px!important;
    font-size:11.5px!important;
  }
  .inquiry-step-grid textarea {min-height:56px!important;}
  .inquiry-count {font-size:8px!important;}

  .inquiry-service-grid {gap:6px!important;}
  .inquiry-service-grid button {
    min-height:34px!important;
    padding:6px 8px!important;
    font-size:9.5px!important;
  }

  .inquiry-dropzone {
    min-height:58px!important;
    gap:3px!important;
    margin-bottom:6px!important;
    padding:8px 10px!important;
  }
  .inquiry-dropzone>svg {width:21px!important;height:21px!important;}
  .inquiry-dropzone strong {font-size:10px!important;}
  .inquiry-dropzone span {font-size:8px!important;}
  .inquiry-file-selected {
    margin-bottom:6px!important;
    padding:6px 8px!important;
    font-size:9px!important;
  }

  .inquiry-summary-head {
    margin:6px 0 4px!important;
    font-size:9px!important;
  }
  .inquiry-summary {margin-bottom:6px!important;}
  .inquiry-summary>div {
    min-height:28px!important;
    padding:5px 7px!important;
    gap:8px!important;
  }
  .inquiry-summary span {font-size:7.5px!important;}
  .inquiry-summary b {font-size:9.5px!important;line-height:1.25!important;}
  .inquiry-summary-edit {font-size:8px!important;}

  .inquiry-consent {
    margin-top:6px!important;
    font-size:9px!important;
    line-height:1.28!important;
  }
  .inquiry-consent input {width:14px!important;height:14px!important;}

  .inquiry-wizard-footer {
    margin-top:8px!important;
    padding-top:8px!important;
    gap:12px!important;
  }
  .inquiry-back,
  .inquiry-next,
  .inquiry-wizard .inquiry-submit {
    min-height:38px!important;
    padding:8px 11px!important;
    font-size:10.5px!important;
  }
  .inquiry-wizard .inquiry-security {font-size:8px!important;}
}

@media (min-width:1024px) and (max-width:1199px) {
  .inquiry-visual {padding:10px 18px!important;}

  .inquiry-wizard {
    max-height:none!important;
    overflow:visible!important;
    scrollbar-gutter:auto!important;
    padding:12px 18px 10px!important;
  }

  .inquiry-wizard-brand {
    margin-bottom:6px!important;
    padding-bottom:6px!important;
  }
  .inquiry-wizard-brand>img {width:50px!important;max-height:23px!important;}

  .inquiry-stepper {margin-bottom:8px!important;}
  .inquiry-stepper button {gap:3px!important;}
  .inquiry-stepper button>span {width:21px!important;height:21px!important;font-size:7.5px!important;}
  .inquiry-stepper::before,
  .inquiry-stepper::after {top:10px!important;}
  .inquiry-stepper button>small {font-size:7.5px!important;}

  .inquiry-step-heading {margin-bottom:7px!important;padding-bottom:6px!important;}
  #root .inquiry-step-heading h2 {font-size:19px!important;margin-bottom:2px!important;}
  .inquiry-step-heading p {font-size:9.5px!important;line-height:1.25!important;}

  .inquiry-step-grid {gap:7px 9px!important;}
  .inquiry-step-grid label,
  .inquiry-field-label {gap:3px!important;font-size:9.5px!important;}
  .inquiry-step-grid input,
  .inquiry-step-grid select,
  .inquiry-step-grid textarea {min-height:32px!important;padding:6px 8px!important;font-size:11px!important;}
  .inquiry-step-grid textarea {min-height:48px!important;}
  .inquiry-service-grid {gap:5px!important;}
  .inquiry-service-grid button {min-height:31px!important;padding:5px 7px!important;font-size:9px!important;}

  .inquiry-dropzone {min-height:52px!important;gap:2px!important;margin-bottom:5px!important;padding:7px 9px!important;}
  .inquiry-dropzone>svg {width:19px!important;height:19px!important;}
  .inquiry-dropzone strong {font-size:9px!important;}
  .inquiry-dropzone span {font-size:7.5px!important;}
  .inquiry-file-selected {margin-bottom:5px!important;padding:5px 7px!important;font-size:8px!important;}

  .inquiry-summary-head {margin:5px 0 3px!important;font-size:8px!important;}
  .inquiry-summary {margin-bottom:5px!important;}
  .inquiry-summary>div {min-height:26px!important;padding:4px 6px!important;gap:7px!important;}
  .inquiry-summary span {font-size:7px!important;}
  .inquiry-summary b {font-size:9px!important;line-height:1.2!important;}
  .inquiry-summary-edit {font-size:7.5px!important;}

  .inquiry-consent {margin-top:5px!important;font-size:8.5px!important;line-height:1.22!important;}
  .inquiry-consent input {width:13px!important;height:13px!important;}

  .inquiry-wizard-footer {margin-top:7px!important;padding-top:7px!important;gap:10px!important;}
  .inquiry-back,
  .inquiry-next,
  .inquiry-wizard .inquiry-submit {min-height:36px!important;padding:7px 10px!important;font-size:10px!important;}
  .inquiry-wizard .inquiry-security {font-size:7.5px!important;}
}


/* === 2026-09-22 contact hero logo — always visible, Home-style placement === */
#root .inquiry-page .inquiry-copy { position:relative; }
#root .inquiry-page .inquiry-brand {
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
  visibility:visible!important;
  z-index:5;
}
#root .inquiry-page .inquiry-brand .lexo-brand {
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
@media (min-width:1200px) {
  #root .inquiry-page .inquiry-brand {
    position:absolute!important;
    top:30px;
    left:clamp(44px,3.7vw,72px);
    margin:0!important;
  }
}
@media (min-width:1024px) and (max-width:1199px) {
  #root .inquiry-page .inquiry-brand {
    position:absolute!important;
    top:24px;
    left:34px;
    margin:0!important;
  }
}
@media (max-width:1023px) {
  #root .inquiry-page .inquiry-brand {
    position:static!important;
    margin:0 0 28px!important;
  }
}

/* === 2026-09-22 contact page BrandLogo — structural header, independent of hero copy === */
#root .inquiry-page {
  position:relative;
}
#root .inquiry-page .inquiry-page-brand {
  position:absolute;
  top:30px;
  left:clamp(44px,3.7vw,72px);
  z-index:50;
  display:block;
  width:max-content;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  clip-path:none!important;
  pointer-events:auto;
}
#root .inquiry-page .inquiry-page-brand .lexo-brand {
  display:inline-flex!important;
  opacity:1!important;
  visibility:visible!important;
}

@media (min-width:1024px) and (max-width:1199px) {
  #root .inquiry-page .inquiry-page-brand {
    top:24px;
    left:34px;
  }
}

@media (max-width:1023px) {
  #root .inquiry-page::before {
    content:"";
    position:fixed;
    z-index:69;
    inset:0 0 auto;
    height:82px;
    background:#fff;
    border-bottom:1px solid #e7ebef;
    pointer-events:none;
  }
  #root .inquiry-page .inquiry-page-brand {
    position:fixed;
    z-index:71;
    top:25px;
    left:clamp(24px,5vw,48px);
  }
  #root .inquiry-page .inquiry-layout {
    padding-top:82px;
  }
}

/* Old in-column brand is no longer used. */
#root .inquiry-page .inquiry-brand { display:none!important; }


/* === 2026-09-23 contact header — exact Home structure === */
#root .inquiry-page .inquiry-page-brand { display:none!important; }
#root .inquiry-page .inquiry-copy {
  display:grid!important;
  grid-template-rows:auto 1fr!important;
  align-content:stretch!important;
  justify-content:stretch!important;
  gap:24px!important;
  position:relative!important;
}
#root .inquiry-page .inquiry-brand-row {
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  min-width:0;
  position:relative;
  z-index:10;
}
#root .inquiry-page .inquiry-brand-row .lexo-brand {
  display:inline-flex!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  position:static!important;
}
#root .inquiry-page .inquiry-copy-main {
  align-self:center;
  min-width:0;
  max-width:620px;
}
@media (min-width:1200px) {
  #root .inquiry-page .inquiry-copy {
    padding:30px clamp(36px,2.8vw,52px) 34px clamp(44px,3.4vw,60px)!important;
  }
}
@media (min-width:1024px) and (max-width:1199px) {
  #root .inquiry-page .inquiry-copy {
    padding:30px clamp(30px,3vw,42px) 34px clamp(34px,3.4vw,48px)!important;
  }
}
@media (max-width:1023px) {
  #root .inquiry-page .inquiry-copy {
    display:grid!important;
    grid-template-rows:auto auto!important;
    gap:28px!important;
    padding:28px clamp(24px,5vw,48px) 42px!important;
  }
  #root .inquiry-page .inquiry-copy-main { max-width:680px; }
}

/* === 2026-09-24 desktop hero bleed under SiteSideNav — match O nas === */
@media (min-width:1024px) {
  #root .inquiry-page .inquiry-layout,
  #root .inquiry-page .inquiry-visual {
    overflow:visible!important;
  }

  #root .inquiry-page .inquiry-photo {
    width:calc(100% + var(--lexo-rail-width, clamp(96px,6.7vw,126px)))!important;
    max-width:none!important;
  }

  #root .inquiry-page .inquiry-visual::after {
    right:calc(var(--lexo-rail-width, clamp(96px,6.7vw,126px)) * -1)!important;
  }
}
/* === end desktop hero bleed === */

/* === 2026-09-24 follow-up process — exact Career process language === */
.inquiry-followup {
  padding:clamp(2rem,4vw,4.5rem) 0;
  border-top:1px solid #dce2e8;
}

.inquiry-followup-head {
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  align-items:end;
  gap:clamp(40px,7vw,120px);
  margin-bottom:2.5rem;
}

.inquiry-followup-head>p {
  max-width:38em;
  margin:0 0 4px;
  color:#5f6d7c;
  font-size:clamp(14px,.85vw,16px);
  line-height:1.55;
}

.inquiry-followup-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:2rem;
  margin:0;
  padding:0;
  list-style:none;
  border:0;
}

.inquiry-followup-grid>li,
.inquiry-followup-grid>li:first-child,
.inquiry-followup-grid>li:last-child {
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  align-content:start;
  gap:.6rem 1rem;
  min-height:0;
  padding:0;
  border:0;
}

.inquiry-followup-grid .inquiry-followup-number {
  display:block;
  margin:0;
  color:#d0d6dc;
  font-size:2.2rem;
  line-height:1;
  font-weight:700;
  letter-spacing:-.035em;
  transition:color .3s ease,transform .3s cubic-bezier(.22,.75,.2,1);
}

.inquiry-followup-grid>li>svg {
  width:1.8rem;
  height:1.8rem;
  margin:.3rem 0 0;
  color:#d6a700;
  stroke-width:1.6;
  transition:transform .3s cubic-bezier(.22,.75,.2,1),color .3s ease;
}

.inquiry-followup-grid h3 {
  grid-column:1/-1;
  margin:.5rem 0 0;
  color:#081322;
  font-size:1rem;
  line-height:1.3;
  font-weight:700;
  letter-spacing:-.01em;
}

.inquiry-followup-grid p {
  grid-column:1/-1;
  margin:0;
  max-width:none;
  color:#627082;
  font-size:.85rem;
  line-height:1.5;
}

@media (hover:hover) and (pointer:fine) {
  .inquiry-followup-grid>li {transition:transform .3s cubic-bezier(.22,.75,.2,1);}
  .inquiry-followup-grid>li:hover {transform:translateY(-4px);}
  .inquiry-followup-grid>li:hover>svg {transform:translateY(-3px) scale(1.03);color:#b78d00;}
  .inquiry-followup-grid>li:hover .inquiry-followup-number {color:#b8c1ca;transform:translateY(-2px);}
}

@media (max-width:1023px) {
  .inquiry-followup-head {grid-template-columns:1fr;gap:22px;margin-bottom:2rem;}
  .inquiry-followup-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;}
}

@media (max-width:540px) {
  .inquiry-followup {padding:2rem 0;}
  .inquiry-followup-grid {grid-template-columns:1fr;gap:2rem;}
  .inquiry-followup-grid>li {grid-template-columns:2.8rem 1fr;}
  .inquiry-followup-grid h3,
  .inquiry-followup-grid p {grid-column:2;}
}
/* === end exact Career process language === */

/* === 2026-09-24 mobile contact full UX pass === */
@media (max-width:680px) {
  #root .inquiry-page {
    --contact-mobile-gutter:14px;
    padding-right:0!important;
    background:#fff;
  }

  /* Compact header aligned with Home / About / Realizacje / Career. */
  #root .inquiry-page .inquiry-brand-row {
    position:fixed!important;
    z-index:71!important;
    top:10px!important;
    left:14px!important;
    width:auto!important;
    height:36px!important;
    display:flex!important;
    align-items:center!important;
    margin:0!important;
    padding:0!important;
  }
  #root .inquiry-page .inquiry-brand-row .lexo-brand {
    transform:scale(.84)!important;
    transform-origin:left center!important;
  }
  #root .inquiry-page .inquiry-copy::before {
    content:"";
    position:fixed;
    z-index:69;
    inset:0 0 auto 0;
    height:56px;
    background:#fff;
    border-bottom:1px solid #edf0f3;
    pointer-events:none;
  }

  /* Hero copy first — no squeezed desktop split. */
  #root .inquiry-page .inquiry-layout {
    display:block!important;
    padding-top:0!important;
    background:#fff;
  }
  #root .inquiry-page .inquiry-copy {
    display:block!important;
    padding:82px var(--contact-mobile-gutter) 28px!important;
    gap:0!important;
  }
  #root .inquiry-page .inquiry-copy-main {
    max-width:none!important;
    margin:0!important;
  }
  #root .inquiry-page .inquiry-eyebrow {
    display:flex!important;
    align-items:center!important;
    gap:9px!important;
    margin:0 0 11px!important;
    color:#697788!important;
    font-size:7.5px!important;
    line-height:1.3!important;
    letter-spacing:1.7px!important;
  }
  #root .inquiry-page .inquiry-eyebrow::before {
    width:22px!important;
    transform:none!important;
  }
  #root .inquiry-page .inquiry-copy h1 {
    max-width:11.5ch!important;
    margin:0 0 13px!important;
    font-size:clamp(32px,8.7vw,39px)!important;
    line-height:1.015!important;
    letter-spacing:-.052em!important;
    text-wrap:balance;
  }
  #root .inquiry-page .inquiry-copy h1 span {
    color:#081322!important;
  }
  #root .inquiry-page .inquiry-copy h1 span:last-child {
    color:#d8a500!important;
  }
  #root .inquiry-page .inquiry-copy-main>p {
    max-width:34em!important;
    margin:0!important;
    color:#617082!important;
    font-size:12px!important;
    line-height:1.5!important;
  }

  /* Contact shortcuts become two crisp rows. */
  #root .inquiry-page .inquiry-details {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    margin:22px 0 0!important;
    border-top:1px solid #e3e8ec;
  }
  #root .inquiry-page .inquiry-details a {
    min-height:54px!important;
    display:grid!important;
    grid-template-columns:28px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:11px!important;
    padding:10px 0!important;
    border-bottom:1px solid #e3e8ec!important;
    transform:none!important;
  }
  #root .inquiry-page .inquiry-details a::after {
    content:"→";
    color:#081322;
    font-size:17px;
    line-height:1;
  }
  #root .inquiry-page .inquiry-details svg {
    width:20px!important;
    height:20px!important;
    color:#c99700!important;
    stroke-width:1.6;
  }
  #root .inquiry-page .inquiry-details b {
    margin:0 0 3px!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
  #root .inquiry-page .inquiry-details span span {
    font-size:10px!important;
    line-height:1.3!important;
    color:#687688!important;
  }

  /* Photo and form are separate stacked blocks. */
  #root .inquiry-page .inquiry-visual {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }
  #root .inquiry-page .inquiry-visual::after {display:none!important;}
  #root .inquiry-page .inquiry-photo {
    position:relative!important;
    inset:auto!important;
    order:1!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1.55!important;
    object-fit:cover!important;
    object-position:center 45%!important;
    translate:none!important;
    transform:none!important;
    clip-path:none!important;
  }
  #root .inquiry-page .inquiry-visual>.inquiry-wizard {
    order:2!important;
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:30px var(--contact-mobile-gutter) 34px!important;
    overflow:visible!important;
    border:0!important;
    border-bottom:1px solid #e2e7eb!important;
    background:#fff!important;
    box-shadow:none!important;
  }

  #root .inquiry-page .inquiry-wizard-brand {
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    margin:0 0 18px!important;
    padding:0 0 14px!important;
    border-bottom:1px solid #edf0f3!important;
  }
  #root .inquiry-page .inquiry-wizard-brand>img {
    width:50px!important;
    max-height:24px!important;
  }
  #root .inquiry-page .inquiry-wizard-brand>span {
    min-height:0!important;
    padding-left:10px!important;
    border-left:1px solid #d7dde3!important;
  }
  #root .inquiry-page .inquiry-wizard-brand strong {
    display:block!important;
    font-size:8px!important;
    line-height:1.3!important;
    letter-spacing:1.4px!important;
  }

  /* Four-step wizard becomes a compact mobile progress rail. */
  #root .inquiry-page .inquiry-stepper {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    margin:0 0 22px!important;
    padding:0!important;
  }
  #root .inquiry-page .inquiry-stepper::before,
  #root .inquiry-page .inquiry-stepper::after {
    top:13px!important;
    left:12.5%!important;
    right:12.5%!important;
  }
  #root .inquiry-page .inquiry-stepper button {
    min-width:0!important;
    gap:5px!important;
    padding:0 2px!important;
  }
  #root .inquiry-page .inquiry-stepper button>span {
    width:26px!important;
    height:26px!important;
    font-size:9px!important;
    border-radius:2px!important;
    box-shadow:0 0 0 4px #fff!important;
  }
  #root .inquiry-page .inquiry-stepper button>small {
    max-width:100%!important;
    font-size:7.5px!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-align:center!important;
  }

  #root .inquiry-page .inquiry-step-heading {
    margin:0 0 20px!important;
    padding:0 0 13px!important;
  }
  #root .inquiry-page .inquiry-step-heading h2 {
    margin:0 0 7px!important;
    font-size:24px!important;
    line-height:1.04!important;
    font-weight:500!important;
    letter-spacing:-.035em!important;
  }
  #root .inquiry-page .inquiry-step-heading p {
    margin:0!important;
    font-size:11.5px!important;
    line-height:1.5!important;
  }

  #root .inquiry-page .inquiry-step-grid {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:15px!important;
  }
  #root .inquiry-page .inquiry-step-grid label,
  #root .inquiry-page .inquiry-field-label {
    gap:7px!important;
    font-size:11px!important;
    line-height:1.25!important;
  }
  #root .inquiry-page .inquiry-step-grid input,
  #root .inquiry-page .inquiry-step-grid select,
  #root .inquiry-page .inquiry-step-grid textarea {
    min-height:46px!important;
    padding:10px 11px!important;
    border-radius:2px!important;
    background:#fff!important;
    font-size:16px!important;
  }
  #root .inquiry-page .inquiry-step-grid textarea {min-height:92px!important;}
  #root .inquiry-page .inquiry-count {font-size:9px!important;}

  #root .inquiry-page .inquiry-service-grid {
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
  }
  #root .inquiry-page .inquiry-service-grid button {
    min-height:44px!important;
    padding:9px 10px!important;
    border-radius:2px!important;
    font-size:10px!important;
    line-height:1.25!important;
  }
  #root .inquiry-page .inquiry-service-check {
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    border-radius:2px!important;
  }

  #root .inquiry-page .inquiry-dropzone {
    min-height:112px!important;
    padding:18px 14px!important;
    border-radius:2px!important;
  }
  #root .inquiry-page .inquiry-dropzone strong {font-size:11px!important;}
  #root .inquiry-page .inquiry-dropzone span {font-size:9px!important;line-height:1.35!important;}
  #root .inquiry-page .inquiry-file-selected {font-size:9.5px!important;}

  #root .inquiry-page .inquiry-summary-head {
    margin-top:18px!important;
    font-size:9px!important;
  }
  #root .inquiry-page .inquiry-summary>div {
    grid-template-columns:62px minmax(0,1fr) auto!important;
    gap:8px!important;
    min-height:42px!important;
    padding:8px 0!important;
  }
  #root .inquiry-page .inquiry-summary span {font-size:8px!important;}
  #root .inquiry-page .inquiry-summary b {font-size:10px!important;line-height:1.35!important;}
  #root .inquiry-page .inquiry-summary-edit {font-size:8px!important;}

  #root .inquiry-page .inquiry-consent {
    margin-top:10px!important;
    gap:9px!important;
    font-size:10px!important;
    line-height:1.4!important;
  }
  #root .inquiry-page .inquiry-consent input {
    width:17px!important;
    height:17px!important;
    flex:0 0 17px!important;
  }

  #root .inquiry-page .inquiry-wizard-footer {
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:11px!important;
    margin-top:22px!important;
    padding-top:16px!important;
    border-top:1px solid #edf0f3!important;
  }
  #root .inquiry-page .inquiry-security {
    order:2!important;
    justify-content:flex-start!important;
    font-size:9px!important;
  }
  #root .inquiry-page .inquiry-wizard-actions {
    order:1!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
  }
  #root .inquiry-page .inquiry-wizard-actions>:only-child {grid-column:1/-1!important;}
  #root .inquiry-page .inquiry-back,
  #root .inquiry-page .inquiry-next,
  #root .inquiry-page .inquiry-wizard .inquiry-submit {
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:11px 12px!important;
    border-radius:2px!important;
    font-size:11px!important;
  }

  /* What happens next — mobile cards matching the Career process language. */
  #root .inquiry-page .inquiry-followup {
    padding:38px 0 42px!important;
    background:#fff!important;
  }
  #root .inquiry-page .inquiry-section-inner {
    padding-left:var(--contact-mobile-gutter)!important;
    padding-right:var(--contact-mobile-gutter)!important;
  }
  #root .inquiry-page .inquiry-followup-head {
    display:block!important;
    margin-bottom:22px!important;
  }
  #root .inquiry-page .inquiry-section-eyebrow {
    gap:9px!important;
    margin:0 0 10px!important;
    font-size:7.5px!important;
    letter-spacing:1.7px!important;
  }
  #root .inquiry-page .inquiry-section-eyebrow::before {width:22px!important;}
  #root .inquiry-page .inquiry-followup h2,
  #root .inquiry-page .inquiry-office h2 {
    font-size:30px!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
  }
  #root .inquiry-page .inquiry-followup-head>p {
    margin:12px 0 0!important;
    font-size:11.5px!important;
    line-height:1.5!important;
  }
  #root .inquiry-page .inquiry-followup-grid {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    border:0!important;
  }
  #root .inquiry-page .inquiry-followup-grid>li,
  #root .inquiry-page .inquiry-followup-grid>li:first-child,
  #root .inquiry-page .inquiry-followup-grid>li:last-child,
  #root .inquiry-page .inquiry-followup-grid>li:nth-child(odd) {
    display:grid!important;
    grid-template-columns:38px 24px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:4px 10px!important;
    align-items:start!important;
    min-height:0!important;
    padding:13px 10px!important;
    border:1px solid #e1e6ea!important;
    background:#fff!important;
  }
  #root .inquiry-page .inquiry-followup-number {
    grid-column:1!important;
    grid-row:1/3!important;
    margin:0!important;
    color:#cbd2d9!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:600!important;
  }
  #root .inquiry-page .inquiry-followup-grid>li>svg {
    grid-column:2!important;
    grid-row:1/3!important;
    width:20px!important;
    height:20px!important;
    margin:1px 0 0!important;
    color:#d2a000!important;
  }
  #root .inquiry-page .inquiry-followup-grid h3 {
    grid-column:3!important;
    grid-row:1!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.25!important;
  }
  #root .inquiry-page .inquiry-followup-grid p {
    grid-column:3!important;
    grid-row:2!important;
    margin:0!important;
    font-size:10px!important;
    line-height:1.4!important;
  }

  /* Office: copy first, map second, clean mobile rhythm. */
  #root .inquiry-page .inquiry-office {
    display:block!important;
    padding:40px var(--contact-mobile-gutter) 0!important;
    background:#f6f8fa!important;
  }
  #root .inquiry-page .inquiry-office-copy {
    max-width:none!important;
    margin:0 0 26px!important;
  }
  #root .inquiry-page .inquiry-office-copy>h2 {
    margin-bottom:22px!important;
  }
  #root .inquiry-page .inquiry-office-address {
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:12px!important;
    padding:16px 0!important;
  }
  #root .inquiry-page .inquiry-office-address>svg {
    width:19px!important;
    height:19px!important;
  }
  #root .inquiry-page .inquiry-office-address b {font-size:12px!important;}
  #root .inquiry-page .inquiry-office-address p {font-size:11px!important;line-height:1.5!important;}
  #root .inquiry-page .inquiry-office-links {
    grid-template-columns:1fr!important;
    margin-top:8px!important;
  }
  #root .inquiry-page .inquiry-office-links a {
    gap:4px!important;
    padding:12px 0!important;
  }
  #root .inquiry-page .inquiry-office-links span {font-size:8px!important;}
  #root .inquiry-page .inquiry-office-links b {font-size:11.5px!important;}
  #root .inquiry-page .inquiry-office-map {
    margin:0 calc(var(--contact-mobile-gutter) * -1)!important;
  }
  #root .inquiry-page .inquiry-office-map,
  #root .inquiry-page .inquiry-office-map iframe {
    width:calc(100% + (var(--contact-mobile-gutter) * 2))!important;
    min-height:260px!important;
    height:260px!important;
  }
  #root .inquiry-page .inquiry-office-map iframe {
    filter:grayscale(.35) saturate(.75) contrast(.98)!important;
  }
}

@media (max-width:390px) {
  #root .inquiry-page .inquiry-copy h1 {font-size:30px!important;}
  #root .inquiry-page .inquiry-service-grid {grid-template-columns:1fr!important;}
  #root .inquiry-page .inquiry-stepper button>small {font-size:7px!important;}
  #root .inquiry-page .inquiry-followup h2,
  #root .inquiry-page .inquiry-office h2 {font-size:28px!important;}
}
/* === end mobile contact full UX pass === */

/* === 2026-09-24 CLEAN SHORT-LAPTOP HERO === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .inquiry-page { --inquiry-short-hero:clamp(510px,calc(100svh - 24px),558px); }
  #root .inquiry-page .inquiry-layout {grid-template-columns:minmax(0,42%) minmax(0,58%)!important;height:auto!important;min-height:var(--inquiry-short-hero)!important;max-height:none!important;overflow:visible!important;}
  #root .inquiry-page .inquiry-copy {display:flex!important;flex-direction:column!important;min-height:var(--inquiry-short-hero)!important;height:auto!important;max-height:none!important;padding:20px 30px 24px 40px!important;gap:0!important;overflow:visible!important;}
  #root .inquiry-page .inquiry-brand-row {min-height:34px!important;margin:0!important;padding:0!important;flex:none!important;}
  #root .inquiry-page .inquiry-copy-main {align-self:stretch!important;max-width:none!important;width:100%!important;margin-top:18px!important;overflow:visible!important;}
  #root .inquiry-page .inquiry-copy-main>.inquiry-eyebrow {margin:0 0 7px!important;font-size:8px!important;line-height:1.25!important;letter-spacing:1.6px!important;}
  #root .inquiry-page .inquiry-copy h1 {margin:0 0 10px!important;font-size:clamp(32px,2.82vw,36px)!important;line-height:1!important;letter-spacing:-.045em!important;font-weight:500!important;max-width:100%!important;overflow:visible!important;text-wrap:pretty!important;}
  #root .inquiry-page .inquiry-copy h1 > span {display:inline!important;white-space:normal!important;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;overflow:visible!important;}
  #root .inquiry-page .inquiry-copy h1 > span:not(:last-child)::after {content:" ";}
  #root .inquiry-page .inquiry-copy-main>p {font-size:11.5px!important;line-height:1.4!important;max-width:37em!important;margin:0!important;}
  #root .inquiry-page .inquiry-details {margin:13px 0 0!important;}
  #root .inquiry-page .inquiry-details a {padding:7px 0!important;gap:9px!important;}
  #root .inquiry-page .inquiry-details svg {width:16px!important;height:16px!important;}
  #root .inquiry-page .inquiry-details b {font-size:9px!important;margin-bottom:2px!important;}
  #root .inquiry-page .inquiry-details span span {font-size:9.5px!important;line-height:1.3!important;}
  #root .inquiry-page .inquiry-visual {align-self:stretch!important;min-height:var(--inquiry-short-hero)!important;height:auto!important;max-height:none!important;padding:16px 26px!important;overflow:hidden!important;}
  #root .inquiry-page .inquiry-photo {height:100%!important;min-height:0!important;max-height:none!important;object-fit:cover!important;}
  #root .inquiry-page .inquiry-wizard {width:min(100%,540px)!important;max-width:540px!important;max-height:calc(var(--inquiry-short-hero) - 32px)!important;margin:auto!important;padding:16px 18px!important;overflow-y:auto!important;overflow-x:hidden!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .inquiry-page { --inquiry-short-hero:510px; }
  #root .inquiry-page .inquiry-copy {padding-top:16px!important;padding-bottom:20px!important;}
  #root .inquiry-page .inquiry-copy-main {margin-top:14px!important;}
  #root .inquiry-page .inquiry-copy h1 {font-size:clamp(30px,2.6vw,33px)!important;margin-bottom:8px!important;}
  #root .inquiry-page .inquiry-copy-main>p {font-size:11px!important;line-height:1.36!important;}
  #root .inquiry-page .inquiry-details {margin-top:10px!important;}
}
/* === end clean short-laptop hero === */


/* === 2026-09-24 short-laptop breathing room pass === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  #root .inquiry-page { --inquiry-short-hero:clamp(550px,79svh,590px); }
  #root .inquiry-page .inquiry-layout {min-height:var(--inquiry-short-hero)!important;}
  #root .inquiry-page .inquiry-copy {min-height:var(--inquiry-short-hero)!important;padding:28px 38px 34px 46px!important;}
  #root .inquiry-page .inquiry-brand-row {min-height:36px!important;}
  #root .inquiry-page .inquiry-copy-main {margin-top:30px!important;}
  #root .inquiry-page .inquiry-copy-main>.inquiry-eyebrow {margin-bottom:12px!important;}
  #root .inquiry-page .inquiry-copy h1 {font-size:clamp(31px,2.72vw,36px)!important;line-height:1.025!important;margin-bottom:16px!important;}
  #root .inquiry-page .inquiry-copy-main>p {font-size:12px!important;line-height:1.5!important;max-width:36em!important;}
  #root .inquiry-page .inquiry-details {margin:20px 0 0!important;}
  #root .inquiry-page .inquiry-details a {padding:10px 0!important;gap:11px!important;}
  #root .inquiry-page .inquiry-details svg {width:17px!important;height:17px!important;}
  #root .inquiry-page .inquiry-details b {font-size:9.5px!important;margin-bottom:3px!important;}
  #root .inquiry-page .inquiry-details span span {font-size:10px!important;line-height:1.35!important;}
  #root .inquiry-page .inquiry-visual {min-height:var(--inquiry-short-hero)!important;padding:24px 34px!important;}
  #root .inquiry-page .inquiry-wizard {max-height:calc(var(--inquiry-short-hero) - 48px)!important;padding:20px 22px!important;}
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:650px) {
  #root .inquiry-page { --inquiry-short-hero:550px; }
  #root .inquiry-page .inquiry-copy {padding:24px 36px 30px 44px!important;}
  #root .inquiry-page .inquiry-copy-main {margin-top:26px!important;}
  #root .inquiry-page .inquiry-copy h1 {font-size:clamp(29px,2.5vw,33px)!important;margin-bottom:14px!important;}
  #root .inquiry-page .inquiry-copy-main>p {font-size:11.5px!important;line-height:1.46!important;}
  #root .inquiry-page .inquiry-details {margin-top:18px!important;}
  #root .inquiry-page .inquiry-visual {padding:20px 30px!important;}
  #root .inquiry-page .inquiry-wizard {max-height:502px!important;}
}
/* === end short-laptop breathing room pass === */


/* === 2026-09-24 SHORT VIEWPORT SYSTEM — height-first, width-agnostic === */
@media (min-width:1024px) and (max-height:820px) {
  #root .inquiry-page { --inquiry-short-h:clamp(600px,94svh,680px); }
  #root .inquiry-page .inquiry-layout {grid-template-columns:minmax(0,40%) minmax(0,60%)!important;min-height:var(--inquiry-short-h)!important;height:auto!important;max-height:none!important;overflow:visible!important;}
  #root .inquiry-page .inquiry-copy {display:flex!important;flex-direction:column!important;min-height:var(--inquiry-short-h)!important;height:auto!important;padding:30px clamp(40px,3vw,54px) 36px clamp(46px,3.4vw,60px)!important;gap:0!important;overflow:visible!important;}
  #root .inquiry-page .inquiry-brand-row {min-height:38px!important;flex:none!important;}
  #root .inquiry-page .inquiry-copy-main {align-self:stretch!important;width:100%!important;max-width:560px!important;margin-top:clamp(30px,5vh,42px)!important;overflow:visible!important;}
  #root .inquiry-page .inquiry-eyebrow {display:block!important;margin:0 0 12px!important;font-size:8.5px!important;letter-spacing:1.6px!important;}
  #root .inquiry-page .inquiry-copy h1 {font-size:clamp(31px,5vh,42px)!important;line-height:1.025!important;letter-spacing:-.047em!important;margin:0 0 17px!important;max-width:100%!important;overflow:visible!important;text-wrap:pretty!important;}
  #root .inquiry-page .inquiry-copy h1>span {display:inline!important;white-space:normal!important;opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important;overflow:visible!important;}
  #root .inquiry-page .inquiry-copy h1>span:not(:last-child)::after {content:" ";}
  #root .inquiry-page .inquiry-copy-main>p {font-size:clamp(12px,1.7vh,13.5px)!important;line-height:1.5!important;max-width:35em!important;margin:0!important;}
  #root .inquiry-page .inquiry-details {margin:22px 0 0!important;}
  #root .inquiry-page .inquiry-details a {padding:11px 0!important;gap:12px!important;}
  #root .inquiry-page .inquiry-details svg {width:18px!important;height:18px!important;}
  #root .inquiry-page .inquiry-details b {font-size:10px!important;margin-bottom:3px!important;}
  #root .inquiry-page .inquiry-details span span {font-size:10.5px!important;line-height:1.35!important;}
  #root .inquiry-page .inquiry-visual {min-height:var(--inquiry-short-h)!important;height:auto!important;align-self:stretch!important;padding:26px 34px!important;overflow:hidden!important;}
  #root .inquiry-page .inquiry-photo {height:100%!important;object-fit:cover!important;}
  #root .inquiry-page .inquiry-wizard {width:min(100%,560px)!important;max-width:560px!important;max-height:calc(var(--inquiry-short-h) - 52px)!important;margin:auto!important;padding:20px 22px!important;overflow-y:auto!important;overflow-x:hidden!important;}
}
@media (min-width:1024px) and (max-height:680px) {
  #root .inquiry-page { --inquiry-short-h:580px; }
  #root .inquiry-page .inquiry-copy {padding-top:26px!important;padding-bottom:32px!important;}
  #root .inquiry-page .inquiry-copy-main {margin-top:28px!important;}
  #root .inquiry-page .inquiry-copy h1 {font-size:clamp(29px,4.7vh,34px)!important;margin-bottom:15px!important;}
  #root .inquiry-page .inquiry-copy-main>p {font-size:11.8px!important;line-height:1.46!important;}
  #root .inquiry-page .inquiry-details {margin-top:20px!important;}
  #root .inquiry-page .inquiry-visual {padding:22px 30px!important;}
}
/* === end short viewport system === */


/* === 2026-09-25 follow-up icon balance === */
@media (min-width:1024px) {
  #root#root .inquiry-page .inquiry-followup-grid>li {
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto 1fr!important;
    gap:0!important;
    align-content:start!important;
  }
  #root#root .inquiry-page .inquiry-followup-number {
    margin:0 0 14px!important;
    font-size:31px!important;
    line-height:1!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid>li>svg {
    box-sizing:border-box!important;
    width:36px!important;
    height:36px!important;
    margin:0 0 14px!important;
    padding:8px!important;
    border-radius:50%!important;
    background:#fff4c9!important;
    color:#c99700!important;
    stroke-width:1.7!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    grid-column:1!important;
    margin:0 0 9px!important;
    min-block-size:2.55em!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid p {
    grid-column:1!important;
    margin:0!important;
  }
}
@media (min-width:681px) and (max-width:1023px) {
  #root#root .inquiry-page .inquiry-followup-grid>li {
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto 1fr!important;
    gap:0!important;
  }
  #root#root .inquiry-page .inquiry-followup-number {margin:0 0 12px!important;}
  #root#root .inquiry-page .inquiry-followup-grid>li>svg {
    box-sizing:border-box!important;
    width:34px!important;
    height:34px!important;
    margin:0 0 12px!important;
    padding:7px!important;
    border-radius:50%!important;
    background:#fff4c9!important;
    color:#c99700!important;
    stroke-width:1.7!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    grid-column:1!important;
    margin:0 0 8px!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid p {grid-column:1!important;}
}
@media (max-width:680px) {
  #root#root .inquiry-page .inquiry-followup-grid>li,
  #root#root .inquiry-page .inquiry-followup-grid>li:first-child,
  #root#root .inquiry-page .inquiry-followup-grid>li:last-child,
  #root#root .inquiry-page .inquiry-followup-grid>li:nth-child(odd) {
    grid-template-columns:38px 32px minmax(0,1fr)!important;
    column-gap:9px!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid>li>svg {
    box-sizing:border-box!important;
    width:30px!important;
    height:30px!important;
    margin:0!important;
    padding:6px!important;
    border-radius:50%!important;
    background:#fff4c9!important;
    color:#c99700!important;
    stroke-width:1.7!important;
  }
}
/* === end follow-up icon balance === */


/* === 2026-09-25 planned start calendar picker === */
#root .inquiry-page .inquiry-date-input{
  cursor:pointer!important;
  color-scheme:light;
}
#root .inquiry-page .inquiry-date-input::-webkit-calendar-picker-indicator{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  opacity:.78!important;
  cursor:pointer!important;
}
#root .inquiry-page .inquiry-date-input:hover::-webkit-calendar-picker-indicator{opacity:1!important;}
/* === end planned start calendar picker === */


/* === 2026-09-25 custom LEXO calendar === */
#root .inquiry-page .inquiry-date-field{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
  color:#455563;
}
#root .inquiry-page .inquiry-date-picker{position:relative;min-width:0;}
#root .inquiry-page .inquiry-date-trigger{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 12px;
  border:1px solid #d9e0e6;
  border-radius:0;
  background:#fff;
  color:#101b28;
  font-size:14px;
  font-weight:500;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
#root .inquiry-page .inquiry-date-trigger:hover{border-color:#bcc6cf;background:#fff;}
#root .inquiry-page .inquiry-date-trigger:focus-visible{
  outline:0!important;
  border-color:#d0a500!important;
  box-shadow:0 0 0 3px rgba(255,212,0,.12)!important;
}
#root .inquiry-page .inquiry-date-trigger .is-placeholder{color:#96a2ae;font-weight:400;}
#root .inquiry-page .inquiry-date-trigger svg{
  width:18px;height:18px;flex:none;fill:none;stroke:#9b7a00;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
#root .inquiry-page .inquiry-calendar{
  position:absolute;
  z-index:180;
  top:calc(100% + 8px);
  right:0;
  width:308px;
  max-width:calc(100vw - 32px);
  padding:14px;
  border:1px solid #d9e0e6;
  border-radius:2px;
  background:#fff;
  color:#101b28;
  box-shadow:0 20px 46px rgba(8,19,34,.16);
  font-weight:400;
}
#root .inquiry-page .inquiry-calendar-head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
#root .inquiry-page .inquiry-calendar-head>button{
  width:34px;height:34px;min-height:0!important;padding:0!important;
  display:grid;place-items:center;border:0;background:#f7f9fa;color:#101b28;cursor:pointer;
}
#root .inquiry-page .inquiry-calendar-head>button:hover{background:#fff3be;}
#root .inquiry-page .inquiry-calendar-head>button:focus-visible{outline:1px solid #c89b00;outline-offset:1px;}
#root .inquiry-page .inquiry-calendar-head svg{
  width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
#root .inquiry-page .inquiry-calendar-head strong{
  text-align:center;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#101b28;
}
#root .inquiry-page .inquiry-calendar-head strong span{color:#778391;font-weight:600;}
#root .inquiry-page .inquiry-calendar-weekdays,
#root .inquiry-page .inquiry-calendar-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:3px;
}
#root .inquiry-page .inquiry-calendar-weekdays{margin-bottom:5px;}
#root .inquiry-page .inquiry-calendar-weekdays span{
  display:grid;place-items:center;height:24px;
  font-size:9px;line-height:1;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a96a2;
}
#root .inquiry-page .inquiry-calendar-days>span,
#root .inquiry-page .inquiry-calendar-days>button{aspect-ratio:1/1;min-width:0;min-height:0!important;}
#root .inquiry-page .inquiry-calendar-days>button{
  display:grid;place-items:center;padding:0!important;border:0;background:transparent;color:#263443;
  font-size:12px;line-height:1;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;
}
#root .inquiry-page .inquiry-calendar-days>button:hover{background:#fff3be;color:#081322;}
#root .inquiry-page .inquiry-calendar-days>button.is-today{box-shadow:inset 0 0 0 1px #d3aa12;}
#root .inquiry-page .inquiry-calendar-days>button.is-selected{
  background:#ffd400!important;color:#081322!important;font-weight:700;box-shadow:none!important;
}
#root .inquiry-page .inquiry-calendar-days>button:focus-visible{outline:1px solid #9f7900;outline-offset:1px;}
#root .inquiry-page .inquiry-calendar-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:12px;padding-top:10px;border-top:1px solid #e7ebee;
}
#root .inquiry-page .inquiry-calendar-foot button{
  min-height:0!important;padding:5px 0!important;border:0;background:transparent;font-size:10.5px;line-height:1.2;font-weight:700;cursor:pointer;
}
#root .inquiry-page .inquiry-calendar-foot .is-clear{color:#7a8794;}
#root .inquiry-page .inquiry-calendar-foot .is-clear:hover{color:#101b28;}
#root .inquiry-page .inquiry-calendar-foot .is-today-action{color:#a77f00;}
#root .inquiry-page .inquiry-calendar-foot .is-today-action:hover{color:#081322;}
#root .inquiry-page .inquiry-wizard:has(.inquiry-calendar){overflow:visible!important;}

@media (max-width:680px){
  #root .inquiry-page .inquiry-calendar{
    position:fixed;
    top:50%;left:14px;right:14px;
    width:auto;max-width:none;
    transform:translateY(-50%);
    padding:14px;
    box-shadow:0 0 0 100vmax rgba(8,19,34,.28),0 24px 54px rgba(8,19,34,.22);
  }
}
/* === end custom LEXO calendar === */


/* === 2026-09-25 FINAL calendar stacking / section overlap fix === */
#root#root .inquiry-page .inquiry-layout:has(.inquiry-calendar){
  position:relative!important;
  z-index:420!important;
  overflow:visible!important;
}
#root#root .inquiry-page .inquiry-visual:has(.inquiry-calendar){
  position:relative!important;
  z-index:421!important;
  overflow:visible!important;
  isolation:isolate!important;
}
#root#root .inquiry-page .inquiry-wizard:has(.inquiry-calendar){
  position:relative!important;
  z-index:422!important;
  overflow:visible!important;
}
#root#root .inquiry-page .inquiry-date-field:has(.inquiry-calendar),
#root#root .inquiry-page .inquiry-date-picker:has(.inquiry-calendar){
  position:relative!important;
  z-index:423!important;
  overflow:visible!important;
}
#root#root .inquiry-page .inquiry-calendar{
  z-index:999!important;
}
#root#root .inquiry-page .inquiry-followup{
  position:relative!important;
  z-index:0!important;
}
/* === end calendar stacking / section overlap fix === */


/* LEXO footer — canonical shared footer for every page. */
#root .lexo-site-footer {
  position: relative;
  display: block;
  width: auto;
  margin: 0 var(--lexo-rail-width, 0px) 0 0;
  padding: 0 0 env(safe-area-inset-bottom, 0px);
  background: #f6f8fa;
  color: #081322;
  font-family: Arial, Helvetica, sans-serif;
  flex: none;
  --footer-max: 1760px;
  --footer-gutter: clamp(24px, 3vw, 48px);
}

#root .lexo-site-footer *,
#root .lexo-site-footer *::before,
#root .lexo-site-footer *::after { box-sizing: border-box; }

#root .home-contact-cta,
#root .home-footer,
#root .story-footer { display: none !important; }

#root .lexo-footer-contact {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(32px, 4vw, 64px);
  width: 100%;
  max-width: var(--footer-max);
  margin-inline: auto;
  padding: 68px var(--footer-gutter) 72px;
  background: #fff;
  box-shadow: 0 0 0 100vmax #fff;
  clip-path: inset(0 -100vmax);
}

#root .lexo-footer-contact-copy { min-width: 0; max-width: 900px; }
#root .lexo-footer-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  width: fit-content;
  color: #6f7b88;
  font-size: 9px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
}
#root .lexo-footer-eyebrow::before {
  content: '';
  width: 24px;
  height: 1px;
  flex: 0 0 24px;
  background: #ffd400;
}
#root .lexo-footer-contact h2 {
  margin: 28px 0 18px;
  color: #081322 !important;
  font-size: clamp(34px, 3.6vw, 58px);
  line-height: 1.06;
  font-weight: 400 !important;
  letter-spacing: -.045em;
  overflow-wrap: normal;
}
#root .lexo-footer-contact p {
  margin: 0;
  color: #68768a !important;
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.5;
}

#root .lexo-footer-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-width: 244px;
  min-height: 48px;
  padding: 12px 18px;
  flex: none;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: #ffd400;
  color: #081322 !important;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
#root .lexo-footer-cta svg { width: 18px; height: 18px; flex: none; stroke-width: 1.6; transition: transform .2s ease; }

#root .lexo-footer-main {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(190px, .62fr) minmax(260px, .82fr);
  width: 100%;
  max-width: var(--footer-max);
  margin-inline: auto;
  padding: 46px var(--footer-gutter) 52px;
}
#root .lexo-footer-main > div { min-width: 0; }
#root .lexo-footer-brand { padding-right: clamp(28px, 4vw, 64px); }
#root .lexo-footer-brand .lexo-brand img { width: 44px; height: 44px; }
#root .lexo-footer-brand .lexo-brand span { font-size: 38px; }
#root .lexo-footer-signature { margin-top: 30px; color: #7b8999; }
#root .lexo-footer-signature > span { display: block; width: 46px; height: 1px; margin-bottom: 14px; background: #ffd400; }
#root .lexo-footer-signature strong { display: block; color: #7b8999; font-size: 10px; line-height: 1.85; font-weight: 500; letter-spacing: 3px; }

#root .lexo-footer-nav-wrap,
#root .lexo-footer-details { padding-left: clamp(24px, 3.2vw, 48px); }
#root .lexo-footer-main h3 { margin: 6px 0 20px; color: #7b8796; font-size: 9px; line-height: 1; font-weight: 700; letter-spacing: 3px; }
#root .lexo-footer-nav-wrap nav { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
#root .lexo-footer-nav-wrap nav button {
  width: fit-content;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #6b7888;
  font: inherit;
  font-size: 14px;
  line-height: 1.25;
  cursor: pointer;
  transition: color .2s ease, transform .2s ease;
}

#root .lexo-footer-details { display: flex; flex-direction: column; align-items: flex-start; }
#root .lexo-footer-contact-link {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
  color: #6b7888;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.35;
  transition: color .2s ease;
}
#root .lexo-footer-contact-link svg { width: 20px; height: 20px; flex: none; fill: none; stroke: #d8a600; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
#root .lexo-footer-company { display: grid; gap: 4px; margin-top: 6px; color: #7a8796; font-size: 11px; line-height: 1.45; }

#root .lexo-footer-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  max-width: var(--footer-max);
  margin-inline: auto;
  padding: 26px var(--footer-gutter) max(28px, env(safe-area-inset-bottom, 0px));
}
#root .lexo-footer-legal small { color: #657386; font-size: 11px; line-height: 1.5; }
#root .lexo-footer-legal button { display: inline-flex; align-items: center; gap: 14px; padding: 6px 0; border: 0; background: none; color: #657386; font: inherit; font-size: 12px; cursor: pointer; transition: color .2s ease, transform .2s ease; }
#root .lexo-footer-legal button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

#root .lexo-site-footer button:focus-visible,
#root .lexo-site-footer a:focus-visible { outline: 2px solid #b08a00; outline-offset: 4px; }

/* Reveal animation is enhancement only. */
#root .lexo-site-footer [data-reveal] { opacity: 0; transform: translate3d(0, 16px, 0); transition: opacity .64s ease var(--reveal-delay, 0ms), transform .68s cubic-bezier(.22, .75, .2, 1) var(--reveal-delay, 0ms); }
#root .lexo-site-footer [data-reveal].is-visible { opacity: 1; transform: none; }
#root .lexo-footer-contact-copy .lexo-footer-eyebrow::before { transform: scaleX(0); transform-origin: left center; transition: transform .55s cubic-bezier(.22, .75, .2, 1) .14s; }
#root .lexo-footer-contact-copy.is-visible .lexo-footer-eyebrow::before { transform: scaleX(1); }

@media (hover: hover) and (pointer: fine) {
  #root .lexo-footer-cta:hover { background: #f3c800; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(8, 19, 34, .08); }
  #root .lexo-footer-cta:hover svg { transform: translateX(4px); }
  #root .lexo-footer-nav-wrap nav button:hover { color: #081322; transform: translateX(4px); }
  #root .lexo-footer-contact-link:hover { color: #081322; }
  #root .lexo-footer-contact-link:hover svg { transform: translateY(-2px); }
  #root .lexo-footer-legal button:hover { color: #081322; transform: translateY(-2px); }
}

@media (min-width: 1200px) {
  #root .lexo-site-footer { --footer-max: none; --footer-gutter: clamp(52px, 5.2vw, 104px); }
  #root .lexo-footer-contact,
  #root .lexo-footer-main,
  #root .lexo-footer-legal { max-width: none; margin-inline: 0; }
}

@media (max-width: 1023px) {
  #root .lexo-site-footer { margin-right: 0; }
  #root .lexo-footer-contact { align-items: flex-start; flex-direction: column; padding-block: 54px; }
  #root .lexo-footer-main { grid-template-columns: 1fr 1fr; }
  #root .lexo-footer-brand { grid-column: 1 / -1; padding: 0 0 36px; }
  #root .lexo-footer-nav-wrap { padding-left: 0; }
}

@media (max-width: 680px) {
  #root .lexo-site-footer { --footer-gutter: 18px; }
  #root .lexo-footer-contact { gap: 26px; padding-block: 42px; }
  #root .lexo-footer-contact h2 { margin-top: 20px; font-size: clamp(32px, 9vw, 38px); }
  #root .lexo-footer-contact p { font-size: 15px; }
  #root .lexo-footer-cta { width: 100%; min-width: 0; }
  #root .lexo-footer-main { grid-template-columns: 1fr; padding-block: 36px; }
  #root .lexo-footer-brand { padding-bottom: 30px; }
  #root .lexo-footer-brand .lexo-brand img { width: 36px; height: 36px; }
  #root .lexo-footer-brand .lexo-brand span { font-size: 32px; }
  #root .lexo-footer-nav-wrap,
  #root .lexo-footer-details { padding: 24px 0 0; margin-top: 24px; border-top: 1px solid #e1e6eb; }
  #root .lexo-footer-main h3 { margin-bottom: 12px; }
  #root .lexo-footer-nav-wrap nav button { font-size: 13px; min-height: 28px; display: flex; align-items: center; }
  #root .lexo-footer-contact-link { font-size: 15px; }
  #root .lexo-footer-legal { align-items: flex-start; flex-direction: column-reverse; gap: 16px; padding-top: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  #root .lexo-site-footer *,
  #root .lexo-site-footer *::before,
  #root .lexo-site-footer *::after { transition: none !important; animation: none !important; }
  #root .lexo-site-footer [data-reveal] { opacity: 1 !important; transform: none !important; }
  #root .lexo-footer-contact-copy .lexo-footer-eyebrow::before { transform: scaleX(1) !important; }
}


/* === FINAL footer contact rhythm === */
#root .lexo-footer-details .lexo-footer-contact-link {
  margin-bottom: 4px;
}
#root .lexo-footer-details .lexo-footer-contact-link:last-of-type {
  margin-bottom: 10px;
}
@media (max-width:680px) {
  #root .lexo-footer-details .lexo-footer-contact-link { margin-bottom: 3px; }
  #root .lexo-footer-details .lexo-footer-contact-link:last-of-type { margin-bottom: 8px; }
}
/* === end final footer contact rhythm === */
#root .lexo-brand{display:inline-flex;align-items:center;gap:10px;width:fit-content;color:#081322;text-decoration:none;flex:none}
#root .lexo-brand img{display:block;width:34px;height:34px;flex:none;object-fit:contain}
#root .lexo-brand span{font-family:Arial,Helvetica,sans-serif;font-weight:800!important;font-size:30px;line-height:1;letter-spacing:-1px;color:#081322!important}
#root .lexo-brand:focus-visible{outline:2px solid #a17b00;outline-offset:6px}
@media(max-width:680px){#root .lexo-brand img{width:28px;height:28px}#root .lexo-brand span{font-size:27px}}
/* === LEXO canonical responsive system — 2026-09-24 ===
   This file is intentionally loaded AFTER App.tsx and all page-level styles.
   It is the final source of truth for responsive geometry and supersedes the
   older per-page breakpoint patches without changing the visual language. */

:root {
  --lexo-mobile-max: 680px;
  --lexo-tablet-max: 1023px;
  --lexo-small-laptop-max: 1199px;
  --lexo-laptop-max: 1439px;
  --lexo-safe-top: env(safe-area-inset-top, 0px);
  --lexo-safe-right: env(safe-area-inset-right, 0px);
  --lexo-safe-bottom: env(safe-area-inset-bottom, 0px);
  --lexo-safe-left: env(safe-area-inset-left, 0px);
}

/* ---------- global responsive safety ---------- */
#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page,
  .home-hero-stage,.company-hero,.portfolio-hero,.plan-hero,.recruit-hero,.inquiry-layout,
  .home-hero-copy,.company-copy,.portfolio-intro,.plan-hero-copy,.recruit-copy,.inquiry-copy,
  .home-hero-visual,.company-photo-wrap,.portfolio-featured,.calc-photo,.recruit-visual,.inquiry-visual
) { min-width:0; max-width:100%; box-sizing:border-box; }

#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) :is(h1,h2,h3,p,a,button,label,span,strong,small) {
  word-break:normal;
  hyphens:auto;
}

#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) :is(img,video,svg,canvas) { max-width:100%; }

/* Keep all important touch targets usable. */
@media (pointer:coarse) {
  
}

/* ---------- navigation: drawer through 1199, fixed rail from 1200 ---------- */
@media (max-width:1199px) {
  :root {  }

  
  
  
  
  
  
  

  #root :is(.home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page) {
    padding-right:0!important;
  }
  #root .lexo-site-footer { margin-right:0!important; }
}

@media (min-width:1200px) {
  :root {  }
  
  
}

@media (min-width:1200px) and (max-width:1439px) {
  :root {  }
  
  
  
  
}

/* ---------- tablet: every hero is one column ---------- */
@media (max-width:1023px) {
  #root :is(
    .home-hero-stage,.company-hero,.portfolio-hero,
    .calculator-page .plan-hero,.recruit-page .recruit-hero,.inquiry-page .inquiry-layout
  ) {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) {
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding:clamp(84px,10vw,104px) clamp(24px,5vw,48px) clamp(34px,5vw,52px)!important;
  }

  #root :is(
    .home-hero-visual,.company-photo-wrap,.portfolio-featured,
    .calculator-page .calc-photo,.recruit-page .recruit-visual,.inquiry-page .inquiry-visual
  ) {
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
  }

  #root :is(
    .home-page .home-hero-photo,.company-hero-video,.portfolio-featured>img,
    .calculator-page .calc-photo>img,.recruit-page .recruit-photo,.inquiry-page .inquiry-photo
  ) {
    position:relative!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/8!important;
    object-fit:cover!important;
  }

  #root .recruit-page .recruit-visual,
  #root .inquiry-page .inquiry-visual {
    display:block!important;
    padding:0!important;
    background:#fff!important;
  }
  #root .recruit-page .recruit-form-card,
  #root .inquiry-page .inquiry-wizard {
    width:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    overflow:visible!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
}

/* ---------- mobile 0–680: one consistent geometry ---------- */
@media (max-width:680px) {
  #root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) {
    padding-top:calc(76px + var(--lexo-safe-top))!important;
    padding-right:max(14px,var(--lexo-safe-right))!important;
    padding-bottom:28px!important;
    padding-left:max(14px,var(--lexo-safe-left))!important;
  }

  #root :is(
    .home-page .home-hero h1,.company-page .company-copy h1,.portfolio-page .portfolio-copy h1,
    .calculator-page .plan-hero-copy h1,.recruit-page .recruit-copy h1,.inquiry-page .inquiry-copy h1
  ) {
    max-width:12ch!important;
    margin-top:0!important;
    margin-bottom:14px!important;
    font-size:clamp(31px,8.6vw,40px)!important;
    line-height:1.02!important;
    letter-spacing:-.05em!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto!important;
    text-wrap:balance;
  }

  #root :is(
    .home-hero-content>p,.company-copy-main>p,.portfolio-copy>p,
    .calculator-page .plan-hero-copy>p,.recruit-page .recruit-copy-main>p,.inquiry-page .inquiry-copy-main>p
  ) { font-size:12.5px!important; line-height:1.52!important; max-width:36em!important; }

  #root :is(
    .home-hero-eyebrow strong,.company-kicker,.portfolio-eyebrow,.plan-eyebrow,.recruit-eyebrow,.inquiry-eyebrow,
    .recruit-inline-roles>span,.inquiry-step-panel>header>span
  ) { font-size:10px!important; line-height:1.3!important; letter-spacing:1.55px!important; }

  #root :is(
    .home-page .home-hero-photo,.company-hero-video,.portfolio-featured>img,
    .calculator-page .calc-photo>img,.recruit-page .recruit-photo,.inquiry-page .inquiry-photo
  ) { aspect-ratio:1.38!important; }

  #root .recruit-page .recruit-form-card,
  #root .inquiry-page .inquiry-wizard {
    padding:32px max(14px,var(--lexo-safe-right)) calc(38px + var(--lexo-safe-bottom)) max(14px,var(--lexo-safe-left))!important;
    border-top:1px solid #e2e7eb!important;
  }

  #root .recruit-page .recruit-wizard-stepper button>small,
  #root .inquiry-page .inquiry-stepper button>small,
  #root .inquiry-page .inquiry-summary span,
  #root .inquiry-page .inquiry-security,
  #root .recruit-page .recruit-upload-title small,
  #root .recruit-page .recruit-dropzone small {
    font-size:10px!important;
    line-height:1.3!important;
  }

  #root .recruit-page .recruit-inline-roles button,
  #root .inquiry-page .inquiry-service-grid button { min-height:44px!important; font-size:12px!important; }

  #root .lexo-footer-main { grid-template-columns:1fr!important; }
  #root .lexo-footer-nav-wrap,
  #root .lexo-footer-details { padding-left:0!important; }
  #root .lexo-footer-nav-wrap nav button {
    width:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    padding:0!important;
    font-size:12px!important;
  }
  #root .lexo-footer-contact,
  #root .lexo-footer-main { padding-left:max(18px,var(--lexo-safe-left))!important; padding-right:max(18px,var(--lexo-safe-right))!important; }
  #root .lexo-footer-main { padding-bottom:calc(40px + var(--lexo-safe-bottom))!important; }
}

/* ---------- landscape phones / very short tablets ---------- */
@media (max-width:1023px) and (max-height:500px) {
  

  #root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) {
    padding-top:calc(64px + var(--lexo-safe-top))!important;
    padding-bottom:22px!important;
  }

  #root :is(
    .home-page .home-hero h1,.company-page .company-copy h1,.portfolio-page .portfolio-copy h1,
    .calculator-page .plan-hero-copy h1,.recruit-page .recruit-copy h1,.inquiry-page .inquiry-copy h1
  ) { font-size:clamp(29px,6vw,38px)!important; max-width:14ch!important; }

  #root :is(
    .home-page .home-hero-photo,.company-hero-video,.portfolio-featured>img,
    .calculator-page .calc-photo>img,.recruit-page .recruit-photo,.inquiry-page .inquiry-photo
  ) { aspect-ratio:16/6!important; min-height:180px!important; }
}

/* ---------- small laptops 1024–1199: split hero, drawer, no nested form scroll ---------- */
@media (min-width:1024px) and (max-width:1199px) {
  #root :is(
    .home-hero-stage,.company-hero,.portfolio-hero,
    .calculator-page .plan-hero,.recruit-page .recruit-hero,.inquiry-page .inquiry-layout
  ) {
    display:grid!important;
    grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
    width:100%!important;
    height:auto!important;
    min-height:540px!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) {
    height:auto!important;
    min-height:540px!important;
    max-height:none!important;
    overflow:visible!important;
    padding:26px 30px 30px 34px!important;
  }

  #root :is(
    .home-hero-visual,.company-photo-wrap,.portfolio-featured,
    .calculator-page .calc-photo,.recruit-page .recruit-visual,.inquiry-page .inquiry-visual
  ) {
    position:relative!important;
    height:auto!important;
    min-height:540px!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  #root :is(
    .home-page .home-hero-photo,.company-hero-video,.portfolio-featured>img,
    .calculator-page .calc-photo>img,.recruit-page .recruit-photo,.inquiry-page .inquiry-photo
  ) {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
  }

  #root :is(
    .home-page .home-hero h1,.company-page .company-copy h1,.portfolio-page .portfolio-copy h1,
    .calculator-page .plan-hero-copy h1,.recruit-page .recruit-copy h1,.inquiry-page .inquiry-copy h1
  ) {
    max-width:12ch!important;
    font-size:clamp(38px,4vw,46px)!important;
    line-height:1.02!important;
    letter-spacing:-.048em!important;
  }

  #root .recruit-page .recruit-visual,
  #root .inquiry-page .inquiry-visual { padding:24px!important; align-items:flex-start!important; }
  #root .recruit-page .recruit-form-card,
  #root .inquiry-page .inquiry-wizard {
    width:min(100%,620px)!important;
    max-width:620px!important;
    max-height:none!important;
    overflow:visible!important;
    margin:auto!important;
  }

  #root .recruit-page .recruit-wizard-stepper button>small,
  #root .inquiry-page .inquiry-stepper button>small { font-size:10px!important; }
}

/* ---------- canonical laptop 1200–1439 ---------- */
@media (min-width:1200px) and (max-width:1439px) {
  #root :is(
    .home-hero-stage,.company-hero,.portfolio-hero,
    .calculator-page .plan-hero,.recruit-page .recruit-hero,.inquiry-page .inquiry-layout
  ) {
    display:grid!important;
    grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
    width:100%!important;
    height:auto!important;
    min-height:560px!important;
    max-height:none!important;
    overflow:visible!important;
    background:#fff!important;
  }

  #root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) {
    height:auto!important;
    min-height:560px!important;
    max-height:none!important;
    padding:26px 32px 32px clamp(38px,3.2vw,46px)!important;
    overflow:visible!important;
  }

  #root :is(
    .home-hero-visual,.company-photo-wrap,.portfolio-featured,
    .calculator-page .calc-photo,.recruit-page .recruit-visual,.inquiry-page .inquiry-visual
  ) {
    position:relative!important;
    height:auto!important;
    min-height:560px!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  #root :is(
    .home-page .home-hero-photo,.company-hero-video,.portfolio-featured>img,
    .calculator-page .calc-photo>img,.recruit-page .recruit-photo,.inquiry-page .inquiry-photo
  ) {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
  }

  #root :is(
    .home-page .home-hero h1,.company-page .company-copy h1,.portfolio-page .portfolio-copy h1,
    .calculator-page .plan-hero-copy h1,.recruit-page .recruit-copy h1,.inquiry-page .inquiry-copy h1
  ) {
    max-width:11.5ch!important;
    margin-bottom:16px!important;
    font-size:clamp(40px,3.45vw,48px)!important;
    line-height:1.01!important;
    font-weight:500!important;
    letter-spacing:-.048em!important;
    text-wrap:balance!important;
  }

  #root :is(
    .home-hero-eyebrow strong,.company-kicker,.portfolio-eyebrow,.plan-eyebrow,.recruit-eyebrow,.inquiry-eyebrow
  ) { font-size:10px!important; line-height:1.3!important; letter-spacing:1.9px!important; }

  #root .recruit-page .recruit-visual,
  #root .inquiry-page .inquiry-visual { padding:24px 28px!important; align-items:flex-start!important; }
  #root .recruit-page .recruit-form-card,
  #root .inquiry-page .inquiry-wizard {
    width:min(100%,640px)!important;
    max-width:640px!important;
    max-height:none!important;
    overflow:visible!important;
    margin:auto!important;
  }
}

/* One, and only one, short-laptop correction. */
@media (min-width:1200px) and (max-width:1439px) and (max-height:720px) {
  #root :is(
    .home-hero-stage,.company-hero,.portfolio-hero,
    .calculator-page .plan-hero,.recruit-page .recruit-hero,.inquiry-page .inquiry-layout
  ) { min-height:520px!important; }

  #root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy,
    .home-hero-visual,.company-photo-wrap,.portfolio-featured,
    .calculator-page .calc-photo,.recruit-page .recruit-visual,.inquiry-page .inquiry-visual
  ) { min-height:520px!important; }

  #root :is(
    .home-page .home-hero h1,.company-page .company-copy h1,.portfolio-page .portfolio-copy h1,
    .calculator-page .plan-hero-copy h1,.recruit-page .recruit-copy h1,.inquiry-page .inquiry-copy h1
  ) { font-size:clamp(38px,3.2vw,44px)!important; }

  #root .recruit-page .recruit-form-card,
  #root .inquiry-page .inquiry-wizard { max-height:none!important; overflow:visible!important; }
}

/* ---------- wide / ultra-wide: never inherit short-laptop patches ---------- */
@media (min-width:1440px) and (max-height:820px) {
  #root .home-hero-stage,
  #root .company-hero { grid-template-columns:minmax(0,36%) minmax(0,64%)!important; min-height:520px!important; height:auto!important; max-height:none!important; }
  #root .portfolio-hero { grid-template-columns:minmax(0,42%) minmax(0,58%)!important; min-height:560px!important; height:auto!important; max-height:none!important; }
  #root .calculator-page .plan-hero { grid-template-columns:minmax(0,52%) minmax(0,48%)!important; min-height:540px!important; height:auto!important; max-height:none!important; }
  #root .recruit-page .recruit-hero { grid-template-columns:minmax(0,44%) minmax(0,56%)!important; min-height:560px!important; height:auto!important; max-height:none!important; }
  #root .inquiry-page .inquiry-layout { grid-template-columns:minmax(0,43%) minmax(0,57%)!important; min-height:560px!important; height:auto!important; max-height:none!important; }

  #root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,.calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) { height:auto!important; max-height:none!important; overflow:visible!important; }

  #root :is(
    .home-page .home-hero h1,.company-page .company-copy h1,.portfolio-page .portfolio-copy h1,
    .calculator-page .plan-hero-copy h1,.recruit-page .recruit-copy h1,.inquiry-page .inquiry-copy h1
  ) { font-size:clamp(44px,3.2vw,66px)!important; }
}

@media (min-width:1800px) {
  #root .lexo-site-footer { --footer-max:1760px!important; }
  #root .lexo-footer-contact,
  #root .lexo-footer-main { max-width:1760px!important; margin-inline:auto!important; }
}

/* ---------- footer accessibility / rhythm ---------- */
#root .lexo-footer-nav-wrap nav button {
  min-height:40px;
  display:flex;
  align-items:center;
  padding:6px 0;
}

@media (max-width:1023px) {
  #root .lexo-footer-nav-wrap nav button { min-height:0; }
}

/* ---------- readable microcopy everywhere ---------- */
@media (max-width:1439px) {
  #root .inquiry-page :is(
    .inquiry-wizard-brand small,.inquiry-stepper button>small,.inquiry-step-panel>header>span,
    .inquiry-count,.inquiry-dropzone span,.inquiry-summary span,.inquiry-summary-edit,.inquiry-security
  ),
  #root .recruit-page :is(
    .recruit-wizard-stepper button>small,.recruit-upload-title small,.recruit-dropzone small,
    .recruit-inline-roles>span
  ) { font-size:10px!important; line-height:1.3!important; }
}

/* Reduced motion remains respected after the canonical layer. */
@media (prefers-reduced-motion:reduce) {
  
}

/* ---------- canonical hero eyebrow / kicker ----------
   One visual treatment above the MAIN h1 on every top-level page. */
#root :is(
  .home-hero-stage .home-hero-eyebrow,
  .company-hero .company-kicker,
  .portfolio-hero .portfolio-eyebrow,
  .recruit-page .recruit-hero .recruit-eyebrow,
  .inquiry-page .inquiry-layout .inquiry-copy-main > .inquiry-eyebrow
) {
  display:inline-flex!important;
  align-items:center!important;
  gap:14px!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:0 0 14px!important;
  padding:0!important;
  color:#081322!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}

#root :is(
  .home-hero-stage .home-hero-eyebrow,
  .company-hero .company-kicker,
  .portfolio-hero .portfolio-eyebrow,
  .recruit-page .recruit-hero .recruit-eyebrow,
  .inquiry-page .inquiry-layout .inquiry-copy-main > .inquiry-eyebrow
)::before {
  content:""!important;
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:1px!important;
  flex:0 0 24px!important;
  margin:0!important;
  background:var(--lexo-yellow,#ffd400)!important;
}

/* Remove older per-page line implementations so every hero has exactly one left line. */
#root .home-hero-stage .home-hero-eyebrow > span[aria-hidden="true"] { display:none!important; }
#root .portfolio-hero .portfolio-eyebrow::after { content:none!important; display:none!important; }

/* Home stores the label text in <strong>; make it inherit the shared treatment. */
#root .home-hero-stage .home-hero-eyebrow > strong {
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font:inherit!important;
  font-weight:inherit!important;
  letter-spacing:inherit!important;
  line-height:inherit!important;
  text-transform:inherit!important;
}

/* Calculator keeps its own hero flow/reveal behaviour.
   Match only the visual language without changing the element geometry. */
#root .calculator-page .plan-hero-copy > .plan-eyebrow {
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 14px!important;
  padding:0!important;
  color:#081322!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
  white-space:normal!important;
}
#root .calculator-page .plan-hero-copy > .plan-eyebrow::before {
  content:""!important;
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:1px!important;
  flex:0 0 24px!important;
  margin:0!important;
  background:var(--lexo-yellow,#ffd400)!important;
}
#root .calculator-page .plan-hero-copy > .plan-eyebrow:not(.is-visible)::before {
  transform:scaleX(0);
  transform-origin:left center;
}
#root .calculator-page .plan-hero-copy > .plan-eyebrow.is-visible::before {
  transform:scaleX(1);
}

@media (max-width:680px) {
  #root .calculator-page .plan-hero-copy > .plan-eyebrow {
    gap:12px!important;
    margin-bottom:12px!important;
    font-size:9px!important;
    letter-spacing:2.6px!important;
  }
  #root .calculator-page .plan-hero-copy > .plan-eyebrow::before {
    width:22px!important;
    min-width:22px!important;
    flex-basis:22px!important;
  }
}

/* Same label-to-title rhythm on every main hero. */
#root :is(
  .home-page .home-hero h1,
  .company-page .company-hero h1,
  .portfolio-page .portfolio-hero h1,
  .calculator-page .plan-hero h1,
  .recruit-page .recruit-hero h1,
  .inquiry-page .inquiry-layout .inquiry-copy-main > h1
) { margin-top:0!important; }

@media (max-width:680px) {
  #root :is(
    .home-hero-stage .home-hero-eyebrow,
    .company-hero .company-kicker,
    .portfolio-hero .portfolio-eyebrow,
      .recruit-page .recruit-hero .recruit-eyebrow,
    .inquiry-page .inquiry-layout .inquiry-copy-main > .inquiry-eyebrow
  ) {
    gap:12px!important;
    margin-bottom:12px!important;
    font-size:9px!important;
    letter-spacing:2.6px!important;
  }
  #root :is(
    .home-hero-stage .home-hero-eyebrow,
    .company-hero .company-kicker,
    .portfolio-hero .portfolio-eyebrow,
      .recruit-page .recruit-hero .recruit-eyebrow,
    .inquiry-page .inquiry-layout .inquiry-copy-main > .inquiry-eyebrow
  )::before {
    width:22px!important;
    min-width:22px!important;
    flex-basis:22px!important;
  }
}

/* ---------- calculator hero breathing room ----------
   Keep the shared eyebrow style, but preserve the calculator's original
   top rhythm instead of inheriting the tighter generic laptop padding. */
@media (min-width:1024px) and (max-width:1199px) {
  #root .calculator-page .plan-hero-copy {
    padding-top:32px!important;
  }
}

@media (min-width:1200px) {
  #root .calculator-page .plan-hero-copy {
    padding-top:36px!important;
  }
}

/* ---------- calculator top rhythm across responsive widths ----------
   Preserve visible breathing room above the calculator hero content at every breakpoint. */
@media (max-width:680px) {
  #root .calculator-page .plan-hero-copy {
    padding-top:calc(84px + var(--lexo-safe-top))!important;
  }
}

@media (min-width:681px) and (max-width:1023px) {
  #root .calculator-page .plan-hero-copy {
    padding-top:36px!important;
  }
}

/* Keep short landscape screens compact without losing the top gap. */
@media (max-width:680px) and (max-height:500px) {
  #root .calculator-page .plan-hero-copy {
    padding-top:calc(66px + var(--lexo-safe-top))!important;
  }
}

@media (min-width:681px) and (max-width:1023px) and (max-height:500px) {
  #root .calculator-page .plan-hero-copy {
    padding-top:24px!important;
  }
}

/* === 2026-09-25 calculator mobile hero top spacing fix ===
   Mobile header is fixed at 56px, so 76px left only ~20px of visual air.
   Give the calculator eyebrow a deliberate gap below the header. */
@media (max-width:680px) {
  #root .calculator-page .plan-hero-copy {
    padding-top:calc(94px + var(--lexo-safe-top))!important;
  }
}

@media (max-width:680px) and (max-height:500px) {
  #root .calculator-page .plan-hero-copy {
    padding-top:calc(78px + var(--lexo-safe-top))!important;
  }
}
/* === end calculator mobile hero top spacing fix === */

/* === 2026-09-25 FINAL calculator brand-to-eyebrow spacing ===
   Keep visible air between the LEXO logo and the hero eyebrow on every width. */
@media (min-width:1200px) {
  #root .calculator-page .plan-hero-copy > .calc-brand {
    margin-bottom:48px!important;
  }
}

@media (min-width:1024px) and (max-width:1199px) {
  #root .calculator-page .plan-hero-copy > .calc-brand {
    margin-bottom:42px!important;
  }
}

@media (min-width:681px) and (max-width:1023px) {
  #root .calculator-page .plan-hero-copy > .calc-brand {
    margin-bottom:36px!important;
  }
}

@media (max-width:680px) {
  /* Mobile logo is fixed in the 56px header, so spacing is controlled by hero padding, not margin. */
  #root .calculator-page .plan-hero-copy > .calc-brand {
    margin-bottom:0!important;
  }
}
/* === end FINAL calculator brand-to-eyebrow spacing === */

/* === 2026-09-25 FINAL robust inner section eyebrow override ===
   Two #root IDs intentionally outrank historical page-level !important patches.
   Applies ONLY to explicit .section-eyebrow elements, never hero kickers. */
#root#root .section-eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 0 14px!important;
  padding:0!important;
  color:#6f7b88!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  text-shadow:none!important;
}

#root#root .section-eyebrow::before {
  content:""!important;
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:1px!important;
  flex:0 0 24px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:var(--lexo-yellow,#ffd400)!important;
  opacity:1!important;
  transform:none!important;
  transition:none!important;
}

/* Old Realizacje used a second line on the right. Never allow a duplicate line. */
#root#root .section-eyebrow::after {
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:none!important;
  transform:none!important;
}

/* Same component on photography/dark sections: identical geometry, contrast-safe text. */
#root#root .section-eyebrow--light {
  color:rgba(255,255,255,.78)!important;
  text-shadow:0 2px 18px rgba(0,0,0,.24)!important;
}

/* Calculator internal kickers had very specific span rules; this makes them true shared kickers. */
#root#root .calculator-page .plan-step-panel-heading .section-eyebrow {
  display:inline-flex!important;
  margin:0 0 14px!important;
}

@media (max-width:680px) {
  #root#root .section-eyebrow {
    display:inline-flex!important;
    gap:12px!important;
    margin:0 0 12px!important;
    font-size:9px!important;
    line-height:1.2!important;
    letter-spacing:2.6px!important;
  }

  #root#root .section-eyebrow::before {
    width:22px!important;
    min-width:22px!important;
    flex-basis:22px!important;
  }
}
/* === end FINAL robust inner section eyebrow override === */



/* === 2026-09-25 screenshot cleanup: project hero, footer, calculator schedule === */
/* Realizacje hero must always show the same left-hand accent line. */
#root#root .portfolio-page .portfolio-hero .portfolio-eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  gap:14px!important;
  width:fit-content!important;
}
#root#root .portfolio-page .portfolio-hero .portfolio-eyebrow::before {
  content:""!important;
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:1px!important;
  flex:0 0 24px!important;
  margin:0!important;
  background:var(--lexo-yellow,#ffd400)!important;
  opacity:1!important;
  transform:none!important;
}
#root#root .portfolio-page .portfolio-hero .portfolio-eyebrow::after {
  content:none!important;
  display:none!important;
}

/* Footer kicker follows the exact same left-line language on every page. */
#root#root .lexo-site-footer .lexo-footer-eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  gap:14px!important;
  margin:0!important;
  color:#6f7b88!important;
  font-size:9px!important;
  line-height:1.2!important;
  font-weight:700!important;
  letter-spacing:3px!important;
  text-transform:uppercase!important;
}
#root#root .lexo-site-footer .lexo-footer-eyebrow::before {
  content:""!important;
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:1px!important;
  flex:0 0 24px!important;
  background:var(--lexo-yellow,#ffd400)!important;
  opacity:1!important;
  transform:none!important;
}
#root#root .lexo-site-footer .lexo-footer-eyebrow::after {
  content:none!important;
  display:none!important;
}

/* Schedule is a section kicker, but stays in the horizontal schedule summary row. */
#root#root .calculator-page .plan-schedule .plan-schedule-eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
  flex:none!important;
}
@media (max-width:680px) {
  #root#root .calculator-page .plan-schedule .plan-schedule-eyebrow {
    grid-column:1 / -1!important;
    margin:0 0 4px!important;
  }
}
/* === end screenshot cleanup === */

/* === 2026-09-25 Realizacje hero: SVG is the only accent-line source === */
#root#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow {
  display:inline-flex!important;
  align-items:center!important;
  gap:14px!important;
  width:fit-content!important;
  padding:0!important;
  background:none!important;
}
#root#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow::before,
#root#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow::after {
  content:none!important;
  display:none!important;
}
#root#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow > .portfolio-hero-eyebrow-line {
  display:block!important;
  width:24px!important;
  min-width:24px!important;
  height:2px!important;
  flex:0 0 24px!important;
  max-width:none!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  overflow:visible!important;
}
#root#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow > .portfolio-hero-eyebrow-line path {
  display:block!important;
  stroke:#ffd400!important;
  stroke-width:1!important;
  opacity:1!important;
  visibility:visible!important;
}
@media (max-width:680px) {
  #root#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow {gap:12px!important;}
  #root#root .portfolio-page .portfolio-hero .portfolio-hero-eyebrow > .portfolio-hero-eyebrow-line {
    width:22px!important; min-width:22px!important; flex-basis:22px!important;
  }
}
/* === end Realizacje SVG source === */

/* === 2026-09-25 CANONICAL TYPOGRAPHY SYSTEM ===
   Final typography source of truth. Keeps display hierarchy consistent across
   Home / About / Projects / Calculator / Career / Contact without flattening
   deliberate eyebrow and footer styling. */

/* Desktop defaults. Breakpoints below only change the semantic tokens. */
:root {
  --lexo-type-h1: clamp(48px, 3.7vw, 56px);
  --lexo-type-h2: clamp(36px, 2.7vw, 42px);
  --lexo-type-h3: clamp(17px, 1.2vw, 19px);
  --lexo-type-body-lg: 16px;
  --lexo-type-body: 15px;
  --lexo-type-button: 13px;
  --lexo-type-label: 12px;
  --lexo-type-meta: 11px;
  --lexo-type-eyebrow: 9px;
}

/* Main hero hierarchy: same visual weight on all six top-level pages. */
#root#root :is(
  .home-page .home-hero h1,
  .company-page .company-hero h1,
  .portfolio-page .portfolio-hero h1,
  .calculator-page .plan-hero h1,
  .recruit-page .recruit-hero h1,
  .inquiry-page .inquiry-layout .inquiry-copy-main > h1
) {
  font-size:var(--lexo-type-h1)!important;
  line-height:1.02!important;
  font-weight:500!important;
  letter-spacing:-.047em!important;
}

#root#root :is(
  .home-hero-content > p,
  .company-copy-main > p,
  .portfolio-copy > p,
  .calculator-page .plan-hero-copy > p,
  .recruit-page .recruit-copy-main > p,
  .inquiry-page .inquiry-copy-main > p
) {
  font-size:var(--lexo-type-body)!important;
  line-height:1.55!important;
  font-weight:400!important;
}

/* Major section titles only — form step headings are intentionally handled below. */
#root#root :is(
  .home-about-copy > h2,
  .home-process > h2,
  .home-career h2,
  .hp-heading h2,
  .company-team-intro > h2,
  .company-testimonials-head > h2,
  .portfolio-execution-title-block > h2,
  .portfolio-explorer-title-block > h2,
  .recruit-process > h2,
  #inquiry-followup-title,
  #inquiry-office-title
) {
  font-size:var(--lexo-type-h2)!important;
  line-height:1.06!important;
  font-weight:500!important;
  letter-spacing:-.04em!important;
}

/* Major card / process headings. */
#root#root :is(
  .home-benefits h3,
  .home-process-grid h3,
  .company-person-copy h3,
  .recruit-process h3,
  .inquiry-followup-grid h3
) {
  font-size:var(--lexo-type-h3)!important;
  line-height:1.3!important;
  font-weight:600!important;
  letter-spacing:-.015em!important;
}

/* Comfortable reading sizes in editorial sections. */
#root#root :is(
  .home-about-copy > p,
  .home-process-grid p,
  .home-career p,
  .company-testimonials p,
  .portfolio-execution-side > p,
  .recruit-process p,
  .inquiry-followup-head > p,
  .inquiry-office-copy p
) {
  font-size:var(--lexo-type-body)!important;
  line-height:1.58!important;
}

/* Home cards/stats: prevent the mobile 'zoomed-down desktop' look. */
#root#root .home-benefits p,
#root#root .home-about-stats dd,
#root#root .home-process-grid p {
  font-size:max(12px, var(--lexo-type-meta))!important;
  line-height:1.48!important;
}
#root#root .home-about-stats dt {
  font-size:max(14px, var(--lexo-type-label))!important;
  line-height:1.3!important;
  font-weight:600!important;
}

/* Shared buttons / text links. */
#root#root :is(
  .home-button,.home-text-link,
  .company-primary,.company-secondary,
  .portfolio-primary,.portfolio-secondary,
  .calc-primary,
  .inquiry-submit,
  .lexo-footer-cta
) {
  font-size:var(--lexo-type-button)!important;
  line-height:1.35!important;
  font-weight:600!important;
}

/* Forms: headings remain compact, labels/helpers become readable. */
#root#root :is(
  .recruit-wizard-heading h2,
  .inquiry-step-heading h2,
  .calculator-page .calc-panel-intro h2
) {
  font-size:22px!important;
  line-height:1.18!important;
  font-weight:600!important;
  letter-spacing:-.025em!important;
}
#root#root :is(
  .recruit-wizard-heading p,
  .inquiry-step-heading p,
  .calculator-page .calc-panel-intro p,
  .calculator-page .plan-step-panel-heading p
) {
  font-size:13px!important;
  line-height:1.5!important;
}
#root#root :is(
  .recruit-wizard-grid label,
  .recruit-form-card label,
  .inquiry-step-grid label,
  .inquiry-wizard label,
  .calculator-page .plan-field-label
) {
  font-size:var(--lexo-type-label)!important;
  line-height:1.35!important;
}

/* Contact: no 7–9px UI copy around 16px inputs. */
#root#root .inquiry-page :is(
  .inquiry-wizard-brand small,
  .inquiry-stepper button > small,
  .inquiry-step-panel > header > span,
  .inquiry-count,
  .inquiry-dropzone span,
  .inquiry-summary span,
  .inquiry-summary-edit,
  .inquiry-security,
  .inquiry-upload > small,
  .inquiry-file-selected,
  .inquiry-error
) {
  font-size:var(--lexo-type-meta)!important;
  line-height:1.4!important;
}
#root#root .inquiry-page :is(.inquiry-service-grid button,.inquiry-summary button) {
  font-size:var(--lexo-type-label)!important;
  line-height:1.35!important;
}

/* Career: same microcopy floor and hierarchy as Contact. */
#root#root .recruit-page :is(
  .recruit-wizard-stepper button > small,
  .recruit-upload-title small,
  .recruit-dropzone small,
  .recruit-inline-roles > span,
  .recruit-locations,
  .recruit-stats small,
  .recruit-roles small
) {
  font-size:var(--lexo-type-meta)!important;
  line-height:1.4!important;
}
#root#root .recruit-page .recruit-roles b {
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:600!important;
}

/* Calculator: keep the technical/document feel, but remove sub-10px copy. */
#root#root .calculator-page :is(
  .plan-mini-stat small,
  .plan-mini-stat strong span,
  .plan-mini-stat em,
  .plan-number-field > small,
  .plan-field-group > small,
  .plan-stepper-suffix,
  .plan-planning-toggle small,
  .plan-gantt-row > div:first-child small,
  .plan-gantt-step,
  .plan-gantt-duration,
  .calc-quote > span
) {
  font-size:var(--lexo-type-meta)!important;
  line-height:1.4!important;
}
#root#root .calculator-page :is(
  .plan-step-nav button,
  .plan-step-nav button span,
  .plan-segmented button,
  .plan-predrilling,
  .plan-scope-actions button,
  .plan-scope-grid button,
  .plan-schedule aside p
) {
  font-size:var(--lexo-type-label)!important;
  line-height:1.35!important;
}
#root#root .calculator-page .plan-gantt-head {
  font-size:10.5px!important;
  line-height:1.3!important;
}
#root#root .calculator-page .plan-gantt-head b {
  font-size:10px!important;
  line-height:1.3!important;
}
#root#root .calculator-page .plan-gantt-row > div:first-child span {
  font-size:12px!important;
  line-height:1.3!important;
  font-weight:600!important;
}

/* The global 750 weight in legacy Calculator/Career CSS must not make display
   headings visually heavier than the rest of the site. */
#root#root :is(
  .calculator-page h1,
  .calculator-page h2,
  .recruit-page h1,
  .recruit-page .recruit-process > h2,
  .portfolio-page .portfolio-hero h1
) {
  font-weight:500!important;
}



/* Additional component harmonisation inside the same semantic scale. */
#root#root .home-page .hp-card-title {
  font-size:clamp(18px,1.45vw,23px)!important;
  line-height:1.25!important;
  font-weight:600!important;
}
#root#root .home-page .hp-description {
  font-size:14px!important;
  line-height:1.5!important;
}
#root#root .company-page :is(.company-person-role,.company-testimonial-meta small) {
  font-size:var(--lexo-type-meta)!important;
  line-height:1.4!important;
}
#root#root .company-page .company-person-copy a {
  font-size:13px!important;
  line-height:1.4!important;
}
#root#root .company-page .company-testimonial p {
  font-size:14px!important;
  line-height:1.58!important;
}
#root#root .portfolio-page .portfolio-card-copy strong {
  font-size:14px!important;
  line-height:1.3!important;
  font-weight:600!important;
}
#root#root .portfolio-page .portfolio-card-copy span {
  font-size:12px!important;
  line-height:1.48!important;
}
#root#root .portfolio-page .portfolio-reach-list small {
  font-size:var(--lexo-type-meta)!important;
  line-height:1.4!important;
}
#root#root .inquiry-page .inquiry-followup-grid p {
  font-size:13.5px!important;
  line-height:1.52!important;
}
#root#root .inquiry-page .inquiry-office-address p {
  font-size:14px!important;
  line-height:1.5!important;
}

/* Tablet: this used to fall back to unrelated per-page sizes. */
@media (min-width:681px) and (max-width:1023px) {
  :root {
    --lexo-type-h1:clamp(38px,5vw,44px);
    --lexo-type-h2:clamp(30px,4vw,34px);
    --lexo-type-h3:18px;
    --lexo-type-body-lg:16px;
    --lexo-type-body:15px;
    --lexo-type-button:13px;
    --lexo-type-label:12px;
    --lexo-type-meta:11px;
  }
}

/* Small laptop. */
@media (min-width:1024px) and (max-width:1199px) {
  :root {
    --lexo-type-h1:clamp(40px,3.8vw,46px);
    --lexo-type-h2:clamp(32px,3vw,36px);
    --lexo-type-h3:18px;
    --lexo-type-body:15px;
  }
}

/* Canonical laptop. */
@media (min-width:1200px) and (max-width:1439px) {
  :root {
    --lexo-type-h1:clamp(44px,3.35vw,48px);
    --lexo-type-h2:clamp(34px,2.7vw,38px);
    --lexo-type-h3:clamp(17px,1.35vw,19px);
    --lexo-type-body:15px;
  }
}

/* Mobile: readable body and helpers, compact display hierarchy. */
@media (max-width:680px) {
  :root {
    --lexo-type-h1:clamp(32px,8.6vw,36px);
    --lexo-type-h2:clamp(27px,7.2vw,30px);
    --lexo-type-h3:16px;
    --lexo-type-body-lg:15px;
    --lexo-type-body:14px;
    --lexo-type-button:13px;
    --lexo-type-label:12px;
    --lexo-type-meta:11px;
  }

  #root#root :is(
    .recruit-wizard-heading h2,
    .inquiry-step-heading h2,
    .calculator-page .calc-panel-intro h2
  ) { font-size:20px!important; }

  #root#root .home-benefits h3,
  #root#root .home-process-grid h3 { font-size:15px!important; }

  #root#root .home-benefits p,
  #root#root .home-process-grid p { font-size:12.5px!important; }

  #root#root .home-about-stats dt { font-size:14px!important; }
  #root#root .home-about-stats dd { font-size:11.5px!important; }


  #root#root .home-page .hp-card-title { font-size:17px!important; }
  #root#root .home-page .hp-description { font-size:12.5px!important; line-height:1.45!important; }
  #root#root .company-page .company-person-copy a { font-size:12.5px!important; }
  #root#root .company-page .company-testimonial p { font-size:13.5px!important; }
  #root#root .portfolio-page .portfolio-card-copy strong { font-size:14px!important; }
  #root#root .portfolio-page .portfolio-card-copy span { font-size:12px!important; }
  #root#root .inquiry-page .inquiry-followup-grid p { font-size:13px!important; }

  /* Keep eyebrow/kicker visual language intentionally small. */
  #root#root .section-eyebrow,
  #root#root .lexo-footer-eyebrow { font-size:9px!important; }
}

/* Very narrow phones: only display text compresses; body/microcopy never does. */
@media (max-width:390px) {
  :root {
    --lexo-type-h1:32px;
    --lexo-type-h2:27px;
  }
}
/* === end CANONICAL TYPOGRAPHY SYSTEM === */

/* === 2026-09-25 HEADING WRAP GUARD ===
   Larger responsive type must wrap only between complete words. */
#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) :is(h1,h2,h3,h4),
#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) :is(h1,h2,h3,h4) :is(span,strong,em,b) {
  overflow-wrap:normal!important;
  word-break:normal!important;
  -webkit-hyphens:none!important;
  hyphens:none!important;
}

/* Hero copy already constrains the reading measure; an extra 11–12ch cap was
   unnecessarily forcing long Polish words into emergency wrapping. */
#root#root :is(
  .home-page .home-hero h1,
  .company-page .company-hero h1,
  .portfolio-page .portfolio-hero h1,
  .calculator-page .plan-hero h1,
  .recruit-page .recruit-hero h1,
  .inquiry-page .inquiry-layout .inquiry-copy-main > h1
) {
  width:100%!important;
  max-width:100%!important;
  text-wrap:balance!important;
}

/* On one-column layouts let section headings use the actual content width.
   This prevents narrow legacy 11–13ch measures from forcing awkward wraps. */
@media (max-width:1023px) {
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) :is(h1,h2,h3) {
    max-width:100%!important;
  }

  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) :is(h1,h2,h3) :is(span,strong,em,b) {
    white-space:normal!important;
  }
}
/* === end HEADING WRAP GUARD === */


/* === 2026-09-25 CARD / BLOCK RHYTHM POLISH ===
   Equal rows should read as one system: same top edge, same visual height,
   content starts at the top rather than floating vertically. */

#root#root :is(
  .home-benefits,
  .home-process-grid,
  .company-team,
  .company-testimonial-grid,
  .portfolio-selected-grid,
  .portfolio-execution-steps,
  .calculator-page .plan-parameter-grid,
  .calculator-page .plan-scope-grid,
  .calculator-page .plan-team-layout,
  .recruit-page .recruit-process ol,
  .recruit-page .recruit-openings-grid,
  .inquiry-page .inquiry-followup-grid,
  .inquiry-page .inquiry-service-grid
) {
  align-items:stretch!important;
}

#root#root .home-benefits > div {
  height:100%;
  align-self:stretch;
  align-items:flex-start!important;
}
#root#root .home-benefit-icon { margin-top:1px; }

#root#root .home-process-grid > li {
  display:grid!important;
  grid-template-rows:auto auto 1fr;
  align-content:start!important;
  height:100%;
}
#root#root .home-process-grid p { align-self:start; }

#root#root .hp-track { align-items:stretch!important; }
#root#root .hp-card { align-self:stretch; }
#root#root .home-page .hp-open {
  display:flex!important;
  flex-direction:column;
  height:100%;
}
#root#root .hp-card-copy { flex:1 1 auto; width:100%; }

#root#root .company-team { align-items:stretch!important; }
#root#root .company-person {
  height:100%;
  align-self:stretch;
  align-items:start;
}
#root#root .company-person-copy {
  justify-content:flex-start!important;
  align-self:stretch;
  padding-top:10px;
}
#root#root .company-testimonial {
  height:100%;
  align-self:stretch;
}

#root#root .portfolio-selected-grid { align-items:stretch!important; }
#root#root .portfolio-card {
  display:flex!important;
  flex-direction:column;
  height:100%;
  align-self:stretch;
}
#root#root .portfolio-card-photo { flex:0 0 auto; width:100%; }
#root#root .portfolio-card-copy { flex:1 1 auto; width:100%; }
#root#root .portfolio-execution-steps > li {
  height:100%;
  align-content:start!important;
}

#root#root .calculator-page .plan-parameter-grid > *,
#root#root .calculator-page .plan-scope-grid > *,
#root#root .calculator-page .plan-team-layout > * {
  align-self:stretch;
}
#root#root .calculator-page .plan-scope-grid button,
#root#root .calculator-page .plan-planning-toggle button {
  height:100%;
  min-height:68px;
  align-items:flex-start!important;
}
#root#root .calculator-page .plan-planning-toggle { align-content:start; }

#root#root .recruit-page .recruit-process ol > li {
  height:100%;
  align-content:start!important;
}
#root#root .recruit-page .recruit-openings-grid button {
  height:100%;
  align-items:start!important;
}
#root#root .recruit-page .recruit-opening-icon,
#root#root .recruit-page .recruit-openings-grid button > svg {
  margin-top:1px;
}

#root#root .inquiry-page .inquiry-followup-grid > li {
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  height:100%;
}
#root#root .inquiry-page .inquiry-service-grid button {
  height:100%;
  align-items:flex-start!important;
}

@media (min-width:681px) {
  #root#root .home-benefits h3,
  #root#root .home-process-grid h3,
  #root#root .home-page .hp-card-title,
  #root#root .portfolio-page .portfolio-card-copy strong,
  #root#root .recruit-page .recruit-process h3,
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    min-height:2.6em;
  }
}

@media (max-width:680px) {
  #root#root .home-benefits h3,
  #root#root .home-process-grid h3,
  #root#root .home-page .hp-card-title,
  #root#root .portfolio-page .portfolio-card-copy strong,
  #root#root .recruit-page .recruit-process h3,
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    min-height:0!important;
  }

  #root#root .company-person-copy { padding-top:8px; }
  #root#root .calculator-page .plan-scope-grid button,
  #root#root .calculator-page .plan-planning-toggle button { min-height:0; }
}

#root#root .recruit-page .recruit-opening-copy b {
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:600!important;
}
#root#root .recruit-page .recruit-opening-copy small {
  font-size:12px!important;
  line-height:1.4!important;
}
#root#root .company-page .company-person h3 {
  font-size:clamp(21px,1.45vw,27px)!important;
  line-height:1.12!important;
}
#root#root .portfolio-page .portfolio-card-copy b {
  font-size:16px!important;
  line-height:1.2!important;
}
#root#root .inquiry-page .inquiry-followup-grid h3 {
  font-size:clamp(17px,1.1vw,20px)!important;
  line-height:1.28!important;
}
/* === end CARD / BLOCK RHYTHM POLISH === */


/* === 2026-09-25 FOOTER NAV ADAPTIVE AUDIT ===
   Footer links are text navigation, not 44px controls. Keep ~10px clear space between labels. */
#root#root .lexo-site-footer .lexo-footer-nav-wrap nav{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:10px!important;
}
#root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{
  width:fit-content!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  line-height:1.25!important;
}
@media (min-width:1024px) and (max-width:1199px){
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{font-size:12px!important;}
}
@media (min-width:681px) and (max-width:1023px){
  #root#root .lexo-site-footer .lexo-footer-nav-wrap{padding-top:14px!important;margin-top:14px!important;}
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{font-size:11.75px!important;}
}
@media (min-width:600px) and (max-width:680px){
  #root#root .lexo-site-footer .lexo-footer-nav-wrap{padding-top:12px!important;margin-top:12px!important;}
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{font-size:11.5px!important;}
}
@media (max-width:599px){
  #root#root .lexo-site-footer .lexo-footer-nav-wrap{padding-top:10px!important;margin-top:10px!important;}
  #root#root .lexo-site-footer .lexo-footer-main h3{margin-bottom:10px!important;}
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{font-size:11.5px!important;}
}
/* === end FOOTER NAV ADAPTIVE AUDIT === */


/* === 2026-09-25 RESTORE AGREED GLOBAL SIDE NAV ===
   Agreed behavior: full-height fixed glass rail on laptops + desktop (>=1024px),
   compact drawer only on tablet/mobile (<=1023px). Same 01–06 geometry on every page.
   Hero media bleeds beneath the rail so the image remains faintly visible through the glass. */
@media (max-width:1023px){
  :root{}
  
  
  #root#root :is(.home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page){
    padding-right:0!important;
  }
}

@media (min-width:1024px){
  :root{}

  

  

  

  

  

  
  

  
  

  #root#root :is(.home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page){
    padding-right:var(--lexo-rail-width)!important;
  }

  #root#root :is(
    .home-hero-visual,.company-photo-wrap,.portfolio-featured,
    .calculator-page .calc-photo,.recruit-page .recruit-visual,.inquiry-page .inquiry-visual,
    .home-career
  ){
    overflow:visible!important;
  }

  #root#root :is(
    .home-page .home-hero-photo,.company-hero-video,.portfolio-featured-image,.portfolio-featured>img,
    .calculator-page .calc-photo>img,.recruit-page .recruit-photo,.inquiry-page .inquiry-photo,
    .home-career-photo
  ){
    width:calc(100% + var(--lexo-rail-width))!important;
    max-width:none!important;
  }

  /* Keep form/content out of the rail; only its photo continues underneath. */
  #root#root .recruit-page .recruit-form-card{z-index:2!important;}
}

@media (min-width:1440px){
  :root{}
  
  
  
  
}

@media (min-width:1024px) and (max-height:720px){
  
  
  
}
/* === end RESTORE AGREED GLOBAL SIDE NAV === */

/* === 2026-09-25 CANONICAL PHONE HEADER === */
@media (max-width:767px){
  body:has(#root .home-page)::before,
  body:has(#root .company-page)::before,
  body:has(#root .portfolio-page)::before,
  body:has(#root .calculator-page)::before,
  body:has(#root .recruit-page)::before,
  body:has(#root .inquiry-page)::before{
    content:"";
    position:fixed;
    z-index:68;
    top:0;right:0;left:0;
    height:calc(56px + env(safe-area-inset-top,0px));
    pointer-events:none;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid #edf0f3;
    -webkit-backdrop-filter:blur(10px) saturate(1.03);
    backdrop-filter:blur(10px) saturate(1.03);
  }
  #root#root :is(.home-page .home-brand-row,.company-page .company-brand,.portfolio-page .portfolio-brand,.calculator-page .calc-brand,.recruit-page .recruit-brand-row,.inquiry-page .inquiry-brand-row){
    position:fixed!important;z-index:71!important;
    top:calc(10px + env(safe-area-inset-top,0px))!important;left:14px!important;right:auto!important;
    width:auto!important;min-width:0!important;height:36px!important;min-height:36px!important;
    margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;transform:none!important;
  }
  #root#root :is(.home-page .home-brand-row,.company-page .company-brand,.portfolio-page .portfolio-brand,.calculator-page .calc-brand,.recruit-page .recruit-brand-row,.inquiry-page .inquiry-brand-row) .lexo-brand{transform:none!important;transform-origin:left center!important;margin:0!important;}
  #root#root :is(.home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page) .lexo-brand img{width:28px!important;height:28px!important;}
  #root#root :is(.home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page) .lexo-brand span{font-size:27px!important;line-height:1!important;}
  
  #root#root :is(.home-page .home-hero-copy,.company-page .company-copy,.portfolio-page .portfolio-intro,.calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy){padding-top:calc(78px + env(safe-area-inset-top,0px))!important;}
}
/* === end CANONICAL PHONE HEADER === */
/* === LEXO FINAL VISUAL RHYTHM — 2026-09-25 ===
   Loaded last. Direct page-specific typography + equal-height/top-alignment rules. */
:root{
  --vr-h1:clamp(46px,3.7vw,54px);
  --vr-h2:clamp(34px,2.8vw,42px);
  --vr-h3:18px;
  --vr-body:15px;
  --vr-small:12px;
}

/* Calm, consistent hero scale. */
#root#root :is(
  .home-page .home-hero h1,
  .company-page .company-hero h1,
  .portfolio-page .portfolio-hero h1,
  .calculator-page .plan-hero h1,
  .recruit-page .recruit-hero h1,
  .inquiry-page .inquiry-copy h1
){
  font-size:var(--vr-h1)!important;
  line-height:1.035!important;
  letter-spacing:-.045em!important;
  font-weight:500!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance!important;
}

/* Main section headings only — wizard/form headings keep their compact scale. */
#root#root .home-page :is(.home-about h2,.home-process h2,.home-career h2),
#root#root .company-page :is(.company-team h2,.company-testimonials h2),
#root#root .portfolio-page :is(.portfolio-section-heading h2,.portfolio-reach h2,.portfolio-execution-title-block h2,.portfolio-explorer-head h2),
#root#root .recruit-page :is(.recruit-process h2,.recruit-openings h2),
#root#root .inquiry-page :is(.inquiry-followup h2,.inquiry-office h2){
  font-size:var(--vr-h2)!important;
  line-height:1.08!important;
  letter-spacing:-.038em!important;
  font-weight:500!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance!important;
}

/* ---------- HOME ---------- */
#root#root .home-benefits,
#root#root .home-process-grid{align-items:stretch!important;}
#root#root .home-benefits>div,
#root#root .home-process-grid>li{
  align-self:stretch!important;
  height:100%!important;
  align-content:start!important;
  justify-content:flex-start!important;
}
#root#root .home-benefits>div{align-items:start!important;}
#root#root .home-benefits h3,
#root#root .home-process-grid h3{
  font-size:16px!important;
  line-height:1.28!important;
  font-weight:600!important;
}
#root#root .home-benefits p,
#root#root .home-process-grid p{font-size:13px!important;line-height:1.5!important;}
#root#root .hp-track{align-items:stretch!important;}
#root#root .hp-card{align-self:stretch!important;height:auto!important;}
#root#root .hp-open{height:100%!important;}
#root#root .hp-card-copy{height:100%!important;min-height:220px!important;justify-content:flex-start!important;}

/* ---------- O NAS ---------- */
#root#root .company-page .company-features{align-items:stretch!important;}
#root#root .company-page .company-feature{
  align-self:stretch!important;
  height:100%!important;
  align-items:start!important;
  align-content:start!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
#root#root .company-page .company-feature-icon{margin-top:1px!important;}
#root#root .company-page .company-feature strong{font-size:15px!important;line-height:1.3!important;font-weight:600!important;}
#root#root .company-page .company-feature p{font-size:13px!important;line-height:1.5!important;}

#root#root .company-page .company-team{
  align-items:stretch!important;
  grid-auto-rows:auto!important;
}
#root#root .company-page .company-person{
  align-self:stretch!important;
  height:100%!important;
  min-height:176px!important;
  align-items:stretch!important;
}
#root#root .company-page .company-person-photo,
#root#root .company-page .company-person-photo img{height:100%!important;min-height:176px!important;}
#root#root .company-page .company-person-copy{
  justify-content:flex-start!important;
  align-items:flex-start!important;
  padding-top:16px!important;
  padding-bottom:14px!important;
}
#root#root .company-page .company-person-role{font-size:10px!important;line-height:1.25!important;}
#root#root .company-page .company-person h3{font-size:clamp(21px,1.55vw,27px)!important;line-height:1.12!important;font-weight:500!important;}
#root#root .company-page .company-person a{font-size:12.5px!important;line-height:1.4!important;}

#root#root .company-page .company-testimonial-grid{align-items:stretch!important;grid-auto-rows:1fr!important;}
#root#root .company-page .company-testimonial{
  align-self:stretch!important;
  height:100%!important;
  min-height:250px!important;
  justify-content:flex-start!important;
}
#root#root .company-page .company-testimonial p{font-size:14px!important;line-height:1.58!important;}
#root#root .company-page .company-testimonial-meta{margin-top:auto!important;}

/* ---------- REALIZACJE ---------- */
#root#root .portfolio-page :is(.portfolio-execution-steps,.portfolio-explorer-grid,.portfolio-selected-grid){align-items:stretch!important;}
#root#root .portfolio-page :is(.portfolio-execution-steps>li,.portfolio-card,.portfolio-explorer-card,.portfolio-showcase-card){
  align-self:stretch!important;
  height:100%!important;
  align-content:start!important;
}
#root#root .portfolio-page .portfolio-card-copy{height:100%!important;align-content:start!important;}

/* ---------- KALKULATOR ---------- */
#root#root .calculator-page :is(.plan-parameter-grid,.plan-scope-grid){align-items:stretch!important;}
#root#root .calculator-page .plan-scope-grid>button{height:100%!important;align-items:flex-start!important;align-content:start!important;}
#root#root .calculator-page .plan-mini-stat{align-items:start!important;align-content:start!important;}
#root#root .calculator-page .calc-panel-intro h2{font-size:21px!important;line-height:1.2!important;font-weight:600!important;}

/* ---------- KARIERA ---------- */
#root#root .recruit-page .recruit-process ol,
#root#root .recruit-page .recruit-openings-grid{align-items:stretch!important;}
#root#root .recruit-page .recruit-process ol>li,
#root#root .recruit-page .recruit-openings-grid>*{
  align-self:stretch!important;
  height:100%!important;
  align-content:start!important;
  justify-content:flex-start!important;
}
#root#root .recruit-page .recruit-process h3{font-size:16px!important;line-height:1.3!important;font-weight:600!important;}
#root#root .recruit-page .recruit-process p{font-size:13px!important;line-height:1.5!important;}

/* ---------- KONTAKT ---------- */
#root#root .inquiry-page .inquiry-followup-grid{align-items:stretch!important;}
#root#root .inquiry-page .inquiry-followup-grid>li{
  align-self:stretch!important;
  height:100%!important;
  align-content:start!important;
  justify-content:flex-start!important;
}
#root#root .inquiry-page .inquiry-followup-grid h3{font-size:15px!important;line-height:1.3!important;font-weight:600!important;}
#root#root .inquiry-page .inquiry-followup-grid p{font-size:13px!important;line-height:1.5!important;}
#root#root .inquiry-page .inquiry-service-grid{align-items:stretch!important;}
#root#root .inquiry-page .inquiry-service-grid button{height:100%!important;align-items:flex-start!important;}

/* Multi-column rows reserve the same title rhythm so following copy starts level. */
@media (min-width:681px){
  #root#root .home-benefits h3,
  #root#root .home-process-grid h3,
  #root#root .company-page .company-feature strong,
  #root#root .recruit-page .recruit-process h3,
  #root#root .inquiry-page .inquiry-followup-grid h3{
    min-block-size:2.55em!important;
  }
}

/* Tablet */
@media (min-width:681px) and (max-width:1023px){
  :root{--vr-h1:clamp(36px,5.3vw,42px);--vr-h2:clamp(30px,4vw,34px);}
  #root#root .company-page .company-person{min-height:168px!important;}
  #root#root .company-page .company-person-photo,
  #root#root .company-page .company-person-photo img{min-height:168px!important;}
}

/* Small / normal laptop */
@media (min-width:1024px) and (max-width:1439px){
  :root{--vr-h1:clamp(40px,3.35vw,47px);--vr-h2:clamp(32px,2.55vw,37px);}
}

/* Mobile: natural card height, but still top-aligned and readable. */
@media (max-width:680px){
  :root{--vr-h1:clamp(30px,8.4vw,35px);--vr-h2:clamp(27px,7.4vw,31px);}

  #root#root :is(.home-benefits>div,.home-process-grid>li,.company-person,.company-testimonial,.portfolio-execution-steps>li,.portfolio-card,.portfolio-explorer-card,.recruit-process ol>li,.recruit-openings-grid>*,.inquiry-followup-grid>li){
    min-height:0!important;
    height:auto!important;
  }

  #root#root .company-page .company-feature strong{font-size:13.5px!important;min-block-size:0!important;}
  #root#root .company-page .company-feature p{font-size:12px!important;line-height:1.45!important;}
  #root#root .company-page .company-person{grid-template-columns:110px minmax(0,1fr)!important;min-height:150px!important;}
  #root#root .company-page .company-person-photo,
  #root#root .company-page .company-person-photo img{height:100%!important;min-height:150px!important;}
  #root#root .company-page .company-person-copy{justify-content:flex-start!important;padding:14px 12px!important;}
  #root#root .company-page .company-person h3{font-size:18px!important;}
  #root#root .company-page .company-person a{font-size:11.5px!important;}
  #root#root .company-page .company-testimonial{padding-block:20px!important;}
  #root#root .company-page .company-testimonial p{font-size:13px!important;line-height:1.55!important;}

  #root#root .home-benefits h3,
  #root#root .home-process-grid h3,
  #root#root .recruit-page .recruit-process h3,
  #root#root .inquiry-page .inquiry-followup-grid h3{min-block-size:0!important;font-size:14px!important;}
  #root#root .home-benefits p,
  #root#root .home-process-grid p,
  #root#root .recruit-page .recruit-process p,
  #root#root .inquiry-page .inquiry-followup-grid p{font-size:12px!important;line-height:1.45!important;}
  #root#root .hp-card-copy{min-height:0!important;}
}
/* === end LEXO FINAL VISUAL RHYTHM === */


/* === 2026-09-25 COMPACT FOOTER PASS === */
#root .lexo-site-footer{
  --footer-gutter:clamp(22px,2.6vw,40px);
}
#root .lexo-footer-contact{
  gap:32px;
  padding:44px var(--footer-gutter) 48px;
}
#root .lexo-footer-contact-copy{max-width:780px;}
#root .lexo-footer-eyebrow{
  gap:12px;
  font-size:8.5px;
  letter-spacing:2.6px;
}
#root .lexo-footer-eyebrow:before{width:22px;min-width:22px;flex-basis:22px;}
#root .lexo-footer-contact h2{
  font-size:clamp(30px,3vw,46px);
  line-height:1.07;
  margin:20px 0 12px;
}
#root .lexo-footer-contact p{
  font-size:clamp(14px,1vw,17px);
  line-height:1.48;
}
#root .lexo-footer-cta{
  min-width:220px;
  min-height:44px;
  padding:11px 16px;
  gap:22px;
  font-size:12.5px;
}
#root .lexo-footer-cta svg{width:17px;height:17px;}

#root .lexo-footer-main{
  padding:32px var(--footer-gutter) 36px;
}
#root .lexo-footer-brand{padding-right:clamp(22px,3vw,46px);}
#root .lexo-footer-brand .lexo-brand img{width:38px;height:38px;}
#root .lexo-footer-brand .lexo-brand span{font-size:33px;}
#root .lexo-footer-signature{margin-top:20px;}
#root .lexo-footer-signature>span{width:40px;margin-bottom:10px;}
#root .lexo-footer-signature strong{
  font-size:9px;
  line-height:1.65;
  letter-spacing:2.5px;
}
#root .lexo-footer-nav-wrap,
#root .lexo-footer-details{padding-left:clamp(20px,2.4vw,34px);}
#root .lexo-footer-main h3{
  margin:4px 0 16px;
  font-size:8.5px;
  letter-spacing:2.6px;
}
#root .lexo-footer-nav-wrap nav{gap:8px;}
#root .lexo-footer-nav-wrap nav button{
  font-size:13px;
  line-height:1.3;
}
#root .lexo-footer-contact-link{
  gap:11px;
  margin-bottom:10px;
  font-size:13.5px;
  line-height:1.3;
}
#root .lexo-footer-contact-link svg{width:18px;height:18px;}
#root .lexo-footer-company{
  gap:3px;
  margin-top:4px;
  font-size:10.5px;
  line-height:1.4;
}
#root .lexo-footer-legal{
  gap:18px;
  padding:18px var(--footer-gutter) 22px;
}
#root .lexo-footer-legal small{font-size:10.5px;line-height:1.4;}
#root .lexo-footer-legal button{
  gap:10px;
  padding:4px 0;
  font-size:11px;
}
#root .lexo-footer-legal button svg{width:18px;height:18px;}

@media (min-width:1200px){
  #root .lexo-site-footer{--footer-gutter:clamp(42px,4.4vw,78px);}
}

@media (max-width:1023px){
  #root .lexo-footer-contact{padding-block:40px;gap:26px;}
  #root .lexo-footer-main{padding-block:30px 34px;}
  #root .lexo-footer-brand{padding-bottom:28px;}
  #root .lexo-footer-signature{margin-top:18px;}
}

@media (max-width:599px){
  #root .lexo-footer-contact{padding-block:32px 34px;gap:20px;}
  #root .lexo-footer-contact h2{font-size:30px;margin:17px 0 10px;}
  #root .lexo-footer-contact p{font-size:14px;}
  #root .lexo-footer-cta{min-height:44px;font-size:12.5px;}
  #root .lexo-footer-main{padding-block:28px 30px;}
  #root .lexo-footer-brand{padding-bottom:24px;}
  #root .lexo-footer-brand .lexo-brand img{width:32px;height:32px;}
  #root .lexo-footer-brand .lexo-brand span{font-size:28px;}
  #root .lexo-footer-nav-wrap,
  #root .lexo-footer-details{padding:22px 0 0;margin-top:22px;}
  #root .lexo-footer-contact-link{font-size:14px;}
  #root .lexo-footer-legal{gap:14px;padding-block:16px max(16px,env(safe-area-inset-bottom));}
  #root .lexo-footer-legal small{font-size:10px;}
  #root .lexo-footer-legal button{font-size:10.5px;}
}
/* === end COMPACT FOOTER PASS === */

/* === 2026-09-25 FINAL compact adaptive footer navigation ===
   Overrides the older 44px touch-row rule in LaptopHeroSystem.css. */
@media (max-width:1023px) {
  #root#root .lexo-site-footer .lexo-footer-nav-wrap {
    padding-top:16px!important;
    margin-top:16px!important;
  }
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav {
    gap:2px!important;
  }
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav button {
    width:fit-content!important;
    min-height:32px!important;
    height:auto!important;
    padding:4px 0!important;
    font-size:12px!important;
    line-height:1.2!important;
    align-items:center!important;
  }
}
@media (max-width:599px) {
  #root#root .lexo-site-footer .lexo-footer-nav-wrap {
    padding-top:14px!important;
    margin-top:14px!important;
  }
  #root#root .lexo-site-footer .lexo-footer-main h3 {
    margin-bottom:8px!important;
  }
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav {
    gap:0!important;
  }
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav button {
    min-height:30px!important;
    padding:3px 0!important;
    font-size:11.5px!important;
    line-height:1.2!important;
  }
}
/* === end FINAL compact adaptive footer navigation === */


/* === 2026-09-25 FINAL footer nav 10px rhythm — all adaptive ranges === */
#root#root .lexo-site-footer .lexo-footer-nav-wrap nav{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:10px!important;}
#root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{width:fit-content!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;line-height:1.25!important;}
@media (min-width:1024px) and (max-width:1199px){#root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{font-size:12px!important;}}
@media (min-width:681px) and (max-width:1023px){#root#root .lexo-site-footer .lexo-footer-nav-wrap{padding-top:14px!important;margin-top:14px!important;}#root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{font-size:11.75px!important;}}
@media (min-width:600px) and (max-width:680px){#root#root .lexo-site-footer .lexo-footer-nav-wrap{padding-top:12px!important;margin-top:12px!important;}#root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{font-size:11.5px!important;}}
@media (max-width:599px){#root#root .lexo-site-footer .lexo-footer-nav-wrap{padding-top:10px!important;margin-top:10px!important;}#root#root .lexo-site-footer .lexo-footer-main h3{margin-bottom:10px!important;}#root#root .lexo-site-footer .lexo-footer-nav-wrap nav button{font-size:11.5px!important;}}
/* === end FINAL footer nav 10px rhythm === */

/* === FINAL bottom canvas guard: never reveal white below footer === */
html:has(#root#root .lexo-site-footer),
body:has(#root#root .lexo-site-footer),
#root#root:has(.lexo-site-footer),
#root#root > .lexo-shell:has(.lexo-site-footer){
  margin-bottom:0!important;
  padding-bottom:0!important;
  background:#f6f8fa!important;
}
#root#root .lexo-site-footer{margin-bottom:0!important;background:#f6f8fa!important;}
#root#root .lexo-footer-legal{margin-bottom:0!important;background:#f6f8fa!important;}
@media(max-width:1199px){
  #root#root .lexo-site-footer{padding-bottom:max(0px,env(safe-area-inset-bottom))!important;}
  #root#root .lexo-footer-legal{padding-bottom:max(14px,env(safe-area-inset-bottom))!important;}
}
/* === end FINAL bottom canvas guard === */


/* === 2026-09-25 FINAL project-card arrow polish === */
#root#root .home-page .hp-card-arrow{width:40px!important;height:40px!important;}
#root#root .home-page .hp-card-arrow svg{width:19px!important;height:19px!important;}
@media (max-width:1199px) and (min-width:600px){
  #root#root .home-page .hp-card-arrow{width:36px!important;height:36px!important;margin-top:14px!important;}
  #root#root .home-page .hp-card-arrow svg{width:18px!important;height:18px!important;}
}
@media (max-width:599px){
  #root#root .home-page .hp-card-arrow{top:12px!important;right:14px!important;width:34px!important;height:34px!important;margin:0!important;}
  #root#root .home-page .hp-card-arrow svg{width:17px!important;height:17px!important;}
}
@media (max-width:380px){
  #root#root .home-page .hp-card-arrow{top:11px!important;right:12px!important;width:32px!important;height:32px!important;}
  #root#root .home-page .hp-card-arrow svg{width:16px!important;height:16px!important;}
}
/* === end FINAL project-card arrow polish === */

/* === 2026-09-25 remove Projects explorer count === */
#root#root .portfolio-page .portfolio-results-head {
  justify-content:flex-start!important;
}
#root#root .portfolio-page .portfolio-results-head > strong {
  display:none!important;
}
/* === end Projects explorer count removal === */


/* === 2026-09-25 home benefits wrap / laptop balance === */
#root#root .home-page .home-benefits > div {
  align-items:flex-start!important;
}
#root#root .home-page .home-benefits > div > div {
  min-width:0!important;
}
#root#root .home-page .home-benefits :is(h3,p) {
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
#root#root .home-page .home-benefits h3 {
  text-wrap:balance!important;
}

@media (min-width:1200px) and (max-width:1439px) {
  #root#root .home-page .home-benefits > div {
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:12px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }
  #root#root .home-page .home-benefits > div:first-child {padding-left:0!important;}
  #root#root .home-page .home-benefits > div:last-child {padding-right:0!important;}
  #root#root .home-page .home-benefit-icon {
    width:42px!important;
    height:42px!important;
  }
  #root#root .home-page .home-benefit-icon svg {
    width:21px!important;
    height:21px!important;
  }
  #root#root .home-page .home-benefits h3 {
    font-size:14px!important;
    line-height:1.22!important;
    margin-bottom:5px!important;
  }
  #root#root .home-page .home-benefits p {
    font-size:12px!important;
    line-height:1.42!important;
  }
}

@media (min-width:681px) and (max-width:1199px) {
  #root#root .home-page .home-benefits {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    row-gap:24px!important;
  }
  #root#root .home-page .home-benefits > div {
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    column-gap:12px!important;
    align-items:start!important;
  }
  #root#root .home-page .home-benefits h3 {
    font-size:14px!important;
    line-height:1.25!important;
  }
  #root#root .home-page .home-benefits p {
    font-size:12.5px!important;
    line-height:1.45!important;
  }
}

@media (max-width:680px) {
  #root#root .home-page .home-benefits {
    grid-template-columns:1fr!important;
  }
  #root#root .home-page .home-benefits > div {
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:12px!important;
    align-items:start!important;
  }
  #root#root .home-page .home-benefits h3 {
    min-block-size:0!important;
    font-size:13.5px!important;
    line-height:1.25!important;
  }
  #root#root .home-page .home-benefits p {
    font-size:12px!important;
    line-height:1.42!important;
  }
}
/* === end home benefits wrap / laptop balance === */


/* === 2026-09-25 compact project slider vertical rhythm === */
#root#root .home-page .hp-card-copy{
  height:auto!important;
  min-height:150px!important;
  padding-bottom:10px!important;
}
#root#root .home-page .hp-controls{
  margin-top:12px!important;
}
@media (min-width:681px) and (max-width:1199px){
  #root#root .home-page .hp-card-copy{
    min-height:138px!important;
    padding-bottom:8px!important;
  }
  #root#root .home-page .hp-controls{margin-top:10px!important;}
}
@media (max-width:680px){
  #root#root .home-page .hp-card-copy{
    height:auto!important;
    min-height:0!important;
  }
}
/* === end compact project slider vertical rhythm === */


/* === 2026-09-25 compact short-laptop recruitment hero ===
   Keeps Kariera aligned with the other hero heights; the form scrolls internally only when step 2 needs it. */
@media (min-width:1024px) and (max-width:1439px) and (max-height:900px) {
  #root .recruit-page { --recruit-compact-hero:clamp(550px,78svh,610px); }

  #root .recruit-page .recruit-hero {
    height:var(--recruit-compact-hero)!important;
    min-height:var(--recruit-compact-hero)!important;
    max-height:var(--recruit-compact-hero)!important;
    overflow:hidden!important;
  }

  #root .recruit-page .recruit-copy,
  #root .recruit-page .recruit-visual {
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }

  #root .recruit-page .recruit-copy {
    padding:22px 34px 24px 42px!important;
  }

  #root .recruit-page .recruit-copy-main {
    margin-top:18px!important;
  }

  #root .recruit-page .recruit-copy-main>.recruit-eyebrow {
    margin-bottom:8px!important;
  }

  #root .recruit-page .recruit-copy h1 {
    margin-bottom:10px!important;
    font-size:clamp(30px,2.7vw,35px)!important;
    line-height:1.02!important;
  }

  #root .recruit-page .recruit-copy-main>p {
    margin-bottom:14px!important;
    font-size:11.5px!important;
    line-height:1.42!important;
  }

  #root .recruit-page .recruit-inline-roles {
    margin-top:10px!important;
    padding-top:9px!important;
  }

  #root .recruit-page .recruit-inline-roles button {
    min-height:29px!important;
    padding:6px 10px!important;
    font-size:9.5px!important;
  }

  #root .recruit-page .recruit-visual {
    padding:14px 26px!important;
    align-items:center!important;
  }

  #root .recruit-page .recruit-photo {
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
  }

  #root .recruit-page .recruit-form-card {
    width:min(100%,560px)!important;
    max-width:560px!important;
    max-height:calc(100% - 28px)!important;
    margin:auto!important;
    padding:14px 18px 14px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  #root .recruit-page .recruit-wizard-brand {
    gap:8px!important;
    margin-bottom:10px!important;
    padding-bottom:9px!important;
  }

  #root .recruit-page .recruit-wizard-brand>img {
    width:30px!important;
    height:30px!important;
  }

  #root .recruit-page .recruit-wizard-brand strong {
    font-size:8.5px!important;
    letter-spacing:1.6px!important;
  }

  #root .recruit-page .recruit-wizard-stepper {
    margin-bottom:11px!important;
  }

  #root .recruit-page .recruit-wizard-stepper::before,
  #root .recruit-page .recruit-wizard-stepper::after {
    top:13px!important;
  }

  #root .recruit-page .recruit-wizard-stepper button {
    gap:5px!important;
  }

  #root .recruit-page .recruit-wizard-stepper button>span {
    width:27px!important;
    height:27px!important;
    font-size:10px!important;
    box-shadow:0 0 0 4px #fff!important;
  }

  #root .recruit-page .recruit-wizard-stepper button>small {
    font-size:9px!important;
    line-height:1.2!important;
  }

  #root .recruit-page .recruit-wizard-heading {
    margin-bottom:10px!important;
  }

  #root .recruit-page .recruit-wizard-heading h2 {
    margin-bottom:5px!important;
    font-size:clamp(20px,1.65vw,23px)!important;
    line-height:1.04!important;
  }

  #root .recruit-page .recruit-wizard-heading p {
    font-size:11px!important;
    line-height:1.38!important;
  }

  #root .recruit-page .recruit-wizard-grid {
    gap:8px 12px!important;
  }

  #root .recruit-page .recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {
    gap:5px!important;
    font-size:10.5px!important;
  }

  #root .recruit-page .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  #root .recruit-page .recruit-wizard-grid select {
    min-height:38px!important;
    padding:7px 9px!important;
    font-size:12px!important;
  }

  #root .recruit-page .recruit-security-note {
    gap:8px!important;
    margin-top:8px!important;
  }

  #root .recruit-page .recruit-security-note>span {
    width:23px!important;
    height:27px!important;
    font-size:10px!important;
  }

  #root .recruit-page .recruit-security-note b {font-size:10.5px!important;}
  #root .recruit-page .recruit-security-note small {font-size:9.5px!important;}

  #root .recruit-page .recruit-dropzone {
    min-height:66px!important;
    padding:9px 11px!important;
  }

  #root .recruit-page .recruit-upload-icon {
    width:32px!important;
    height:32px!important;
    font-size:18px!important;
  }

  #root .recruit-page .recruit-consent {
    font-size:9.5px!important;
    line-height:1.35!important;
  }

  #root .recruit-page .recruit-wizard-footer {
    gap:10px!important;
    margin-top:9px!important;
    padding-top:9px!important;
  }

  #root .recruit-page :is(.recruit-back,.recruit-next,.recruit-submit) {
    min-height:42px!important;
    padding:9px 12px!important;
    font-size:11.5px!important;
  }
}

@media (min-width:1024px) and (max-width:1439px) and (max-height:700px) {
  #root .recruit-page { --recruit-compact-hero:550px; }
  #root .recruit-page .recruit-copy {padding-top:18px!important;padding-bottom:20px!important;}
  #root .recruit-page .recruit-copy-main {margin-top:14px!important;}
  #root .recruit-page .recruit-visual {padding-block:10px!important;}
  #root .recruit-page .recruit-form-card {
    max-height:530px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }
}
/* === end compact short-laptop recruitment hero === */



/* === 2026-09-25 short-laptop recruitment form breathing balance ===
   Keep the compact hero height, but restore visual separation inside the form. */
@media (min-width:1024px) and (max-width:1439px) and (max-height:900px) {
  #root .recruit-page .recruit-form-card {
    padding:18px 20px 16px!important;
    scrollbar-gutter:stable;
  }

  #root .recruit-page .recruit-wizard-brand {
    gap:9px!important;
    margin-bottom:13px!important;
    padding-bottom:11px!important;
  }
  #root .recruit-page .recruit-wizard-brand>img {
    width:31px!important;
    height:31px!important;
  }
  #root .recruit-page .recruit-wizard-brand strong {
    font-size:8.75px!important;
    line-height:1.3!important;
  }

  #root .recruit-page .recruit-wizard-stepper {
    margin-bottom:15px!important;
  }
  #root .recruit-page .recruit-wizard-stepper::before,
  #root .recruit-page .recruit-wizard-stepper::after {
    top:14px!important;
  }
  #root .recruit-page .recruit-wizard-stepper button {
    gap:6px!important;
  }
  #root .recruit-page .recruit-wizard-stepper button>span {
    width:29px!important;
    height:29px!important;
    font-size:10px!important;
  }
  #root .recruit-page .recruit-wizard-stepper button>small {
    font-size:9.5px!important;
    line-height:1.25!important;
  }

  #root .recruit-page .recruit-wizard-heading {
    margin-bottom:14px!important;
  }
  #root .recruit-page .recruit-wizard-heading h2 {
    margin-bottom:6px!important;
    font-size:clamp(21px,1.7vw,24px)!important;
    line-height:1.08!important;
  }
  #root .recruit-page .recruit-wizard-heading p {
    font-size:11.5px!important;
    line-height:1.45!important;
  }

  #root .recruit-page .recruit-wizard-grid {
    gap:11px 14px!important;
  }
  #root .recruit-page .recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {
    gap:6px!important;
    font-size:11px!important;
    line-height:1.3!important;
    font-weight:600!important;
  }
  #root .recruit-page .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  #root .recruit-page .recruit-wizard-grid select {
    min-height:40px!important;
    padding:8px 10px!important;
    font-size:12.5px!important;
  }

  #root .recruit-page .recruit-security-note {
    gap:9px!important;
    margin-top:12px!important;
  }
  #root .recruit-page .recruit-security-note>span {
    width:24px!important;
    height:29px!important;
  }
  #root .recruit-page .recruit-security-note p {
    gap:3px!important;
  }
  #root .recruit-page .recruit-security-note b {
    font-size:11px!important;
    line-height:1.3!important;
  }
  #root .recruit-page .recruit-security-note small {
    font-size:9.75px!important;
    line-height:1.4!important;
  }

  #root .recruit-page .recruit-upload-wrap {gap:9px!important;}
  #root .recruit-page .recruit-upload-title {gap:9px!important;}
  #root .recruit-page .recruit-dropzone {
    min-height:72px!important;
    padding:10px 12px!important;
  }
  #root .recruit-page .recruit-consent {
    font-size:10px!important;
    line-height:1.4!important;
  }

  #root .recruit-page .recruit-wizard-footer {
    gap:10px!important;
    margin-top:13px!important;
    padding-top:12px!important;
  }
  #root .recruit-page :is(.recruit-back,.recruit-next,.recruit-submit) {
    min-height:44px!important;
    padding:10px 13px!important;
    font-size:12px!important;
  }
}

@media (min-width:1024px) and (max-width:1439px) and (max-height:700px) {
  #root .recruit-page .recruit-form-card {
    padding:15px 18px 14px!important;
  }
  #root .recruit-page .recruit-wizard-brand {margin-bottom:11px!important;padding-bottom:10px!important;}
  #root .recruit-page .recruit-wizard-stepper {margin-bottom:13px!important;}
  #root .recruit-page .recruit-wizard-heading {margin-bottom:12px!important;}
  #root .recruit-page .recruit-wizard-grid {gap:9px 12px!important;}
  #root .recruit-page .recruit-security-note {margin-top:10px!important;}
  #root .recruit-page .recruit-wizard-footer {margin-top:10px!important;padding-top:10px!important;}
}
/* === end recruitment form breathing balance === */

/* === 2026-09-25 balanced short-laptop recruitment height === */
@media (min-width:1024px) and (max-width:1439px) and (max-height:900px) {
  #root .recruit-page { --recruit-compact-hero:clamp(580px,80svh,635px)!important; }
  #root .recruit-page .recruit-hero {
    height:var(--recruit-compact-hero)!important;
    min-height:var(--recruit-compact-hero)!important;
    max-height:var(--recruit-compact-hero)!important;
  }
  #root .recruit-page .recruit-form-card {
    max-height:calc(100% - 24px)!important;
  }
}
@media (min-width:1024px) and (max-width:1439px) and (max-height:700px) {
  #root .recruit-page { --recruit-compact-hero:570px!important; }
  #root .recruit-page .recruit-form-card { max-height:546px!important; }
}
/* === end balanced short-laptop recruitment height === */


/* === 2026-09-25 FINAL career hero height parity ===
   Kariera follows the exact same laptop hero heights as the canonical site system. */
@media (min-width:1024px) and (max-width:1199px){
  #root#root .recruit-page .recruit-hero{
    height:540px!important;
    min-height:540px!important;
    max-height:540px!important;
    overflow:hidden!important;
  }
  #root#root .recruit-page :is(.recruit-copy,.recruit-visual){
    height:540px!important;
    min-height:540px!important;
    max-height:540px!important;
  }
  #root#root .recruit-page .recruit-form-card{
    max-height:calc(540px - 28px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
}
@media (min-width:1200px) and (max-width:1439px){
  #root#root .recruit-page .recruit-hero{
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
    overflow:hidden!important;
  }
  #root#root .recruit-page :is(.recruit-copy,.recruit-visual){
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
  }
  #root#root .recruit-page .recruit-form-card{
    max-height:calc(560px - 28px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
}
@media (min-width:1200px) and (max-width:1439px) and (max-height:720px){
  #root#root .recruit-page .recruit-hero,
  #root#root .recruit-page :is(.recruit-copy,.recruit-visual){
    height:520px!important;
    min-height:520px!important;
    max-height:520px!important;
  }
  #root#root .recruit-page .recruit-form-card{max-height:492px!important;}
}
/* === end FINAL career hero height parity === */

/* === 2026-09-25 career form fitted to shared hero height ===
   Hero height stays identical to the other pages; the wizard scales to fit it. */
@media (min-width:1024px) and (max-width:1439px) {
  #root#root .recruit-page .recruit-visual {
    padding:14px 18px!important;
  }

  #root#root .recruit-page .recruit-form-card {
    width:min(100%,700px)!important;
    max-width:700px!important;
    padding:14px 18px 13px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    scrollbar-gutter:auto!important;
  }

  #root#root .recruit-page .recruit-wizard-brand {
    gap:8px!important;
    margin-bottom:9px!important;
    padding-bottom:9px!important;
  }
  #root#root .recruit-page .recruit-wizard-brand>img {
    width:29px!important;
    height:29px!important;
  }
  #root#root .recruit-page .recruit-wizard-brand>span {padding-left:10px!important;}
  #root#root .recruit-page .recruit-wizard-brand strong {
    font-size:8.5px!important;
    line-height:1.25!important;
    letter-spacing:1.55px!important;
  }

  #root#root .recruit-page .recruit-wizard-stepper {
    margin-bottom:11px!important;
  }
  #root#root .recruit-page .recruit-wizard-stepper::before,
  #root#root .recruit-page .recruit-wizard-stepper::after {top:13px!important;}
  #root#root .recruit-page .recruit-wizard-stepper button {gap:5px!important;}
  #root#root .recruit-page .recruit-wizard-stepper button>span {
    width:28px!important;
    height:28px!important;
    font-size:10px!important;
  }
  #root#root .recruit-page .recruit-wizard-stepper button>small {
    font-size:9.25px!important;
    line-height:1.2!important;
  }

  #root#root .recruit-page .recruit-wizard-heading {margin-bottom:10px!important;}
  #root#root .recruit-page .recruit-wizard-heading h2 {
    margin-bottom:4px!important;
    font-size:clamp(20px,1.55vw,22px)!important;
    line-height:1.08!important;
  }
  #root#root .recruit-page .recruit-wizard-heading p {
    font-size:11.25px!important;
    line-height:1.38!important;
  }

  #root#root .recruit-page .recruit-wizard-grid {
    gap:9px 12px!important;
  }
  #root#root .recruit-page .recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {
    gap:5px!important;
    font-size:10.75px!important;
    line-height:1.28!important;
  }
  #root#root .recruit-page .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  #root#root .recruit-page .recruit-wizard-grid select {
    min-height:39px!important;
    height:39px!important;
    padding:7px 9px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }

  #root#root .recruit-page .recruit-security-note {
    gap:8px!important;
    margin-top:9px!important;
  }
  #root#root .recruit-page .recruit-security-note>span {
    width:23px!important;
    height:27px!important;
  }
  #root#root .recruit-page .recruit-security-note p {gap:2px!important;}
  #root#root .recruit-page .recruit-security-note b {
    font-size:10.75px!important;
    line-height:1.25!important;
  }
  #root#root .recruit-page .recruit-security-note small {
    font-size:9.5px!important;
    line-height:1.32!important;
  }

  #root#root .recruit-page .recruit-wizard-footer {
    gap:9px!important;
    margin-top:9px!important;
    padding-top:10px!important;
  }
  #root#root .recruit-page :is(.recruit-back,.recruit-next,.recruit-submit) {
    min-height:42px!important;
    height:42px!important;
    padding:9px 12px!important;
    font-size:11.75px!important;
  }

  /* The longer second step keeps its scroll; step one should fit naturally. */
  #root#root .recruit-page .recruit-form-card:has(> form > .recruit-wizard-panel:first-of-type.is-active) {
    scrollbar-gutter:auto!important;
  }
}

/* Very short laptop: fit the complete first step inside the shared 520px hero. */
@media (min-width:1024px) and (max-width:1439px) and (max-height:720px) {
  #root#root .recruit-page .recruit-visual {padding:10px 16px!important;}
  #root#root .recruit-page .recruit-form-card {
    padding:12px 16px 11px!important;
  }
  #root#root .recruit-page .recruit-wizard-brand {
    margin-bottom:7px!important;
    padding-bottom:7px!important;
  }
  #root#root .recruit-page .recruit-wizard-brand>img {width:27px!important;height:27px!important;}
  #root#root .recruit-page .recruit-wizard-brand strong {font-size:8.25px!important;}
  #root#root .recruit-page .recruit-wizard-stepper {margin-bottom:9px!important;}
  #root#root .recruit-page .recruit-wizard-stepper::before,
  #root#root .recruit-page .recruit-wizard-stepper::after {top:12px!important;}
  #root#root .recruit-page .recruit-wizard-stepper button>span {width:26px!important;height:26px!important;}
  #root#root .recruit-page .recruit-wizard-stepper button>small {font-size:9px!important;}
  #root#root .recruit-page .recruit-wizard-heading {margin-bottom:8px!important;}
  #root#root .recruit-page .recruit-wizard-heading h2 {font-size:20px!important;margin-bottom:3px!important;}
  #root#root .recruit-page .recruit-wizard-heading p {font-size:11px!important;line-height:1.34!important;}
  #root#root .recruit-page .recruit-wizard-grid {gap:7px 10px!important;}
  #root#root .recruit-page .recruit-wizard-grid label:not(.recruit-consent):not(.recruit-dropzone) {gap:4px!important;font-size:10.5px!important;}
  #root#root .recruit-page .recruit-wizard-grid input:not([type=checkbox]):not([type=file]),
  #root#root .recruit-page .recruit-wizard-grid select {min-height:38px!important;height:38px!important;padding:6px 8px!important;}
  #root#root .recruit-page .recruit-security-note {margin-top:7px!important;}
  #root#root .recruit-page .recruit-security-note>span {width:22px!important;height:25px!important;}
  #root#root .recruit-page .recruit-security-note b {font-size:10.5px!important;}
  #root#root .recruit-page .recruit-security-note small {font-size:9.25px!important;}
  #root#root .recruit-page .recruit-wizard-footer {margin-top:8px!important;padding-top:8px!important;}
  #root#root .recruit-page :is(.recruit-back,.recruit-next,.recruit-submit) {min-height:40px!important;height:40px!important;padding:8px 11px!important;}
}
/* === end career form fitted to shared hero height === */


/* === 2026-09-25 career form width balance: keep photo visible on laptops === */
@media (min-width:1024px) and (max-width:1199px){
  #root#root .recruit-page .recruit-visual{
    justify-content:flex-end!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  #root#root .recruit-page .recruit-form-card{
    width:min(100%,460px)!important;
    max-width:460px!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
}
@media (min-width:1200px) and (max-width:1439px){
  #root#root .recruit-page .recruit-visual{
    justify-content:flex-end!important;
    padding-left:22px!important;
    padding-right:22px!important;
  }
  #root#root .recruit-page .recruit-form-card{
    width:min(100%,500px)!important;
    max-width:500px!important;
    margin-left:auto!important;
    margin-right:0!important;
  }
}
/* === end career form width balance === */


/* === 2026-09-25 follow-up icon balance === */
@media (min-width:1024px) {
  #root#root .inquiry-page .inquiry-followup-grid>li {
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto 1fr!important;
    gap:0!important;
    align-content:start!important;
  }
  #root#root .inquiry-page .inquiry-followup-number {
    margin:0 0 14px!important;
    font-size:31px!important;
    line-height:1!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid>li>svg {
    box-sizing:border-box!important;
    width:36px!important;
    height:36px!important;
    margin:0 0 14px!important;
    padding:8px!important;
    border-radius:50%!important;
    background:#fff4c9!important;
    color:#c99700!important;
    stroke-width:1.7!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    grid-column:1!important;
    margin:0 0 9px!important;
    min-block-size:2.55em!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid p {
    grid-column:1!important;
    margin:0!important;
  }
}
@media (min-width:681px) and (max-width:1023px) {
  #root#root .inquiry-page .inquiry-followup-grid>li {
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto 1fr!important;
    gap:0!important;
  }
  #root#root .inquiry-page .inquiry-followup-number {margin:0 0 12px!important;}
  #root#root .inquiry-page .inquiry-followup-grid>li>svg {
    box-sizing:border-box!important;
    width:34px!important;
    height:34px!important;
    margin:0 0 12px!important;
    padding:7px!important;
    border-radius:50%!important;
    background:#fff4c9!important;
    color:#c99700!important;
    stroke-width:1.7!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    grid-column:1!important;
    margin:0 0 8px!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid p {grid-column:1!important;}
}
@media (max-width:680px) {
  #root#root .inquiry-page .inquiry-followup-grid>li,
  #root#root .inquiry-page .inquiry-followup-grid>li:first-child,
  #root#root .inquiry-page .inquiry-followup-grid>li:last-child,
  #root#root .inquiry-page .inquiry-followup-grid>li:nth-child(odd) {
    grid-template-columns:38px 32px minmax(0,1fr)!important;
    column-gap:9px!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid>li>svg {
    box-sizing:border-box!important;
    width:30px!important;
    height:30px!important;
    margin:0!important;
    padding:6px!important;
    border-radius:50%!important;
    background:#fff4c9!important;
    color:#c99700!important;
    stroke-width:1.7!important;
  }
}
/* === end follow-up icon balance === */


/* === 2026-09-25 follow-up number + icon row === */
@media (min-width:681px) {
  #root#root .inquiry-page .inquiry-followup-grid>li {
    display:grid!important;
    grid-template-columns:max-content 36px minmax(0,1fr)!important;
    grid-template-rows:auto auto 1fr!important;
    column-gap:10px!important;
    row-gap:0!important;
    align-items:center!important;
    align-content:start!important;
  }
  #root#root .inquiry-page .inquiry-followup-number {
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid>li>svg {
    grid-column:2!important;
    grid-row:1!important;
    align-self:center!important;
    margin:0!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    grid-column:1/-1!important;
    grid-row:2!important;
    margin:12px 0 8px!important;
  }
  #root#root .inquiry-page .inquiry-followup-grid p {
    grid-column:1/-1!important;
    grid-row:3!important;
    margin:0!important;
  }
}
@media (min-width:681px) and (max-width:1023px) {
  #root#root .inquiry-page .inquiry-followup-grid>li {
    grid-template-columns:max-content 34px minmax(0,1fr)!important;
    column-gap:9px!important;
  }
}
/* === end follow-up number + icon row === */


/* === 2026-09-25 planned start calendar picker === */
#root#root .inquiry-page .inquiry-date-input{
  cursor:pointer!important;
  color-scheme:light!important;
}
#root#root .inquiry-page .inquiry-date-input::-webkit-calendar-picker-indicator{
  display:block!important;
  width:18px!important;
  height:18px!important;
  margin:0!important;
  padding:0!important;
  opacity:.78!important;
  cursor:pointer!important;
}
#root#root .inquiry-page .inquiry-date-input:hover::-webkit-calendar-picker-indicator{opacity:1!important;}
/* === end planned start calendar picker === */


/* === 2026-09-25 custom LEXO calendar === */
#root .inquiry-page .inquiry-date-field{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
  font-size:12px;
  line-height:1.25;
  font-weight:600;
  color:#455563;
}
#root .inquiry-page .inquiry-date-picker{position:relative;min-width:0;}
#root .inquiry-page .inquiry-date-trigger{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:11px 12px;
  border:1px solid #d9e0e6;
  border-radius:0;
  background:#fff;
  color:#101b28;
  font-size:14px;
  font-weight:500;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
#root .inquiry-page .inquiry-date-trigger:hover{border-color:#bcc6cf;background:#fff;}
#root .inquiry-page .inquiry-date-trigger:focus-visible{
  outline:0!important;
  border-color:#d0a500!important;
  box-shadow:0 0 0 3px rgba(255,212,0,.12)!important;
}
#root .inquiry-page .inquiry-date-trigger .is-placeholder{color:#96a2ae;font-weight:400;}
#root .inquiry-page .inquiry-date-trigger svg{
  width:18px;height:18px;flex:none;fill:none;stroke:#9b7a00;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
#root .inquiry-page .inquiry-calendar{
  position:absolute;
  z-index:180;
  top:calc(100% + 8px);
  right:0;
  width:308px;
  max-width:calc(100vw - 32px);
  padding:14px;
  border:1px solid #d9e0e6;
  border-radius:2px;
  background:#fff;
  color:#101b28;
  box-shadow:0 20px 46px rgba(8,19,34,.16);
  font-weight:400;
}
#root .inquiry-page .inquiry-calendar-head{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}
#root .inquiry-page .inquiry-calendar-head>button{
  width:34px;height:34px;min-height:0!important;padding:0!important;
  display:grid;place-items:center;border:0;background:#f7f9fa;color:#101b28;cursor:pointer;
}
#root .inquiry-page .inquiry-calendar-head>button:hover{background:#fff3be;}
#root .inquiry-page .inquiry-calendar-head>button:focus-visible{outline:1px solid #c89b00;outline-offset:1px;}
#root .inquiry-page .inquiry-calendar-head svg{
  width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;
}
#root .inquiry-page .inquiry-calendar-head strong{
  text-align:center;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#101b28;
}
#root .inquiry-page .inquiry-calendar-head strong span{color:#778391;font-weight:600;}
#root .inquiry-page .inquiry-calendar-weekdays,
#root .inquiry-page .inquiry-calendar-days{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:3px;
}
#root .inquiry-page .inquiry-calendar-weekdays{margin-bottom:5px;}
#root .inquiry-page .inquiry-calendar-weekdays span{
  display:grid;place-items:center;height:24px;
  font-size:9px;line-height:1;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a96a2;
}
#root .inquiry-page .inquiry-calendar-days>span,
#root .inquiry-page .inquiry-calendar-days>button{aspect-ratio:1/1;min-width:0;min-height:0!important;}
#root .inquiry-page .inquiry-calendar-days>button{
  display:grid;place-items:center;padding:0!important;border:0;background:transparent;color:#263443;
  font-size:12px;line-height:1;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;
}
#root .inquiry-page .inquiry-calendar-days>button:hover{background:#fff3be;color:#081322;}
#root .inquiry-page .inquiry-calendar-days>button.is-today{box-shadow:inset 0 0 0 1px #d3aa12;}
#root .inquiry-page .inquiry-calendar-days>button.is-selected{
  background:#ffd400!important;color:#081322!important;font-weight:700;box-shadow:none!important;
}
#root .inquiry-page .inquiry-calendar-days>button:focus-visible{outline:1px solid #9f7900;outline-offset:1px;}
#root .inquiry-page .inquiry-calendar-foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:12px;padding-top:10px;border-top:1px solid #e7ebee;
}
#root .inquiry-page .inquiry-calendar-foot button{
  min-height:0!important;padding:5px 0!important;border:0;background:transparent;font-size:10.5px;line-height:1.2;font-weight:700;cursor:pointer;
}
#root .inquiry-page .inquiry-calendar-foot .is-clear{color:#7a8794;}
#root .inquiry-page .inquiry-calendar-foot .is-clear:hover{color:#101b28;}
#root .inquiry-page .inquiry-calendar-foot .is-today-action{color:#a77f00;}
#root .inquiry-page .inquiry-calendar-foot .is-today-action:hover{color:#081322;}
#root .inquiry-page .inquiry-wizard:has(.inquiry-calendar){overflow:visible!important;}

@media (max-width:680px){
  #root .inquiry-page .inquiry-calendar{
    position:fixed;
    top:50%;left:14px;right:14px;
    width:auto;max-width:none;
    transform:translateY(-50%);
    padding:14px;
    box-shadow:0 0 0 100vmax rgba(8,19,34,.28),0 24px 54px rgba(8,19,34,.22);
  }
}
/* === end custom LEXO calendar === */

/* === 2026-09-25 FINAL calendar stacking / section overlap fix === */
#root#root .inquiry-page .inquiry-layout:has(.inquiry-calendar){
  position:relative!important;
  z-index:420!important;
  overflow:visible!important;
}
#root#root .inquiry-page .inquiry-visual:has(.inquiry-calendar){
  position:relative!important;
  z-index:421!important;
  overflow:visible!important;
  isolation:isolate!important;
}
#root#root .inquiry-page .inquiry-wizard:has(.inquiry-calendar){
  position:relative!important;
  z-index:422!important;
  overflow:visible!important;
}
#root#root .inquiry-page .inquiry-date-field:has(.inquiry-calendar),
#root#root .inquiry-page .inquiry-date-picker:has(.inquiry-calendar){
  position:relative!important;
  z-index:423!important;
  overflow:visible!important;
}
#root#root .inquiry-page .inquiry-calendar{
  z-index:999!important;
}
#root#root .inquiry-page .inquiry-followup{
  position:relative!important;
  z-index:0!important;
}
/* === end calendar stacking / section overlap fix === */

/* === 2026-09-25 FINAL MOBILE UX CLEANUP: Realizacje + overlays === */
@media (max-width:767px){
  /* Realizacje: the country filter is the mobile control; the map is desktop-only. */
  #root#root .portfolio-page .portfolio-explorer-body{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
  }
  #root#root .portfolio-page .portfolio-explorer-left{
    order:1!important;
    display:block!important;
    width:100%!important;
  }
  #root#root .portfolio-page .portfolio-map-panel{
    display:none!important;
  }
  #root#root .portfolio-page .portfolio-explorer-results{
    order:2!important;
    width:100%!important;
  }
  #root#root .portfolio-page .portfolio-filter-dropdown{
    width:100%!important;
    margin:0!important;
  }

  /* Project details become a real full-screen mobile page with one scroll. */
  html:has(.project-showcase-backdrop),
  body:has(.project-showcase-backdrop){
    overflow:hidden!important;
  }
  html body #root#root .project-showcase-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:300!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html body #root#root .project-showcase-panel{
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body #root#root .project-showcase-main,
  html body #root#root .project-showcase-gallery{
    display:contents!important;
  }
  html body #root#root .project-showcase-hero{
    order:1!important;
    position:relative!important;
    width:100%!important;
    height:clamp(15rem,62vw,20rem)!important;
    min-height:clamp(15rem,62vw,20rem)!important;
    flex:none!important;
    overflow:hidden!important;
    background:#0b1520!important;
  }
  html body #root#root .project-showcase-hero>img,
  html body #root#root .project-showcase-hero>video{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  html body #root#root .project-showcase-mobile-back{
    top:max(12px,env(safe-area-inset-top))!important;
    left:14px!important;
    min-height:42px!important;
    padding:0 12px!important;
    border:1px solid rgba(255,255,255,.65)!important;
    border-radius:2px!important;
    background:rgba(255,255,255,.90)!important;
    color:#081322!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    box-shadow:0 5px 18px rgba(8,19,34,.12)!important;
    font-size:12px!important;
    font-weight:600!important;
  }
  html body #root#root .project-showcase-mobile-media-tabs{
    top:max(12px,env(safe-area-inset-top))!important;
    right:14px!important;
    min-height:42px!important;
    padding:4px!important;
    border:1px solid rgba(255,255,255,.54)!important;
    border-radius:2px!important;
    background:rgba(8,19,34,.70)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
  }
  html body #root#root .project-showcase-mobile-media-tabs button{
    min-height:32px!important;
    padding:0 9px!important;
    border-radius:0!important;
    font-size:10px!important;
  }
  html body #root#root .project-showcase-sidebar{
    order:2!important;
    max-height:none!important;
    padding:24px 18px 22px!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:visible!important;
    color:#081322!important;
    background:#fff!important;
    border:0!important;
  }
  html body #root#root .project-showcase-eyebrow{
    padding:0!important;
    border:0!important;
    color:#9b7500!important;
    font-size:10px!important;
    letter-spacing:.14em!important;
  }
  html body #root#root .project-showcase-eyebrow::after{
    width:30px!important;
    height:1px!important;
    margin-top:10px!important;
    background:#ffd400!important;
  }
  html body #root#root .project-showcase-title{
    margin-top:18px!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    gap:10px!important;
  }
  html body #root#root .project-showcase-title>svg{
    width:24px!important;
    height:24px!important;
    color:#d5a300!important;
  }
  html body #root#root .project-showcase-title h2{
    font-size:30px!important;
    line-height:1.04!important;
    font-weight:500!important;
    letter-spacing:-.04em!important;
    color:#081322!important;
  }
  html body #root#root .project-showcase-status{
    margin:14px 0 12px!important;
    padding:6px 9px!important;
    border-radius:2px!important;
    font-size:9px!important;
  }
  html body #root#root .lexo-light-theme .project-showcase-description,
  html body #root#root .project-showcase-description{
    max-height:none!important;
    overflow:visible!important;
    color:#526071!important;
    font-size:14px!important;
    line-height:1.55!important;
  }
  html body #root#root .project-showcase-metrics{
    margin-top:18px!important;
    padding:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    border-top:1px solid #e1e6ea!important;
    border-bottom:1px solid #e1e6ea!important;
  }
  html body #root#root .project-showcase-metrics>div{
    min-height:70px!important;
    padding:12px 8px!important;
    grid-template-columns:22px minmax(0,1fr)!important;
    gap:8px!important;
  }
  html body #root#root .project-showcase-metrics svg{
    width:20px!important;
    height:20px!important;
  }
  html body #root#root .project-showcase-metrics small{
    font-size:9px!important;
  }
  html body #root#root .project-showcase-metrics b{
    margin-top:3px!important;
    font-size:12px!important;
  }
  html body #root#root .project-showcase-sidebar blockquote{
    margin:18px 0 0!important;
    padding:0 0 0 24px!important;
    color:#667180!important;
  }
  html body #root#root .lexo-light-theme .project-showcase-sidebar blockquote p,
  html body #root#root .project-showcase-sidebar blockquote p{
    display:block!important;
    overflow:visible!important;
    color:#667180!important;
    font-size:12px!important;
    line-height:1.5!important;
  }
  html body #root#root .project-showcase-close,
  html body #root#root .project-showcase-tabs,
  html body #root#root .project-showcase-thumbs-shell,
  html body #root#root .project-showcase-thumbs,
  html body #root#root .project-showcase-previous{
    display:none!important;
  }
  html body #root#root .project-showcase-highlights{
    order:3!important;
    margin:0!important;
    padding:0 18px 18px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    border-radius:0!important;
    background:#fff!important;
  }
  html body #root#root .project-showcase-highlights article{
    min-height:0!important;
    padding:15px 12px!important;
    grid-template-columns:28px minmax(0,1fr)!important;
    gap:10px!important;
    border:1px solid #e1e6ea!important;
    border-bottom:0!important;
    border-radius:0!important;
    background:#fff!important;
  }
  html body #root#root .project-showcase-highlights article:last-child{
    border-bottom:1px solid #e1e6ea!important;
  }
  html body #root#root .project-showcase-highlights .project-showcase-highlight-arrow{
    display:none!important;
  }
  html body #root#root .project-showcase-highlights h4{
    margin:0 0 4px!important;
    font-size:12px!important;
  }
  html body #root#root .project-showcase-highlights p{
    display:block!important;
    -webkit-line-clamp:unset!important;
    overflow:visible!important;
    color:#69747e!important;
    font-size:11px!important;
    line-height:1.45!important;
  }
  html body #root#root .project-showcase-footer{
    order:4!important;
    position:sticky!important;
    bottom:0!important;
    z-index:20!important;
    min-height:0!important;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    border-top:1px solid #e1e6ea!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(10px)!important;
    -webkit-backdrop-filter:blur(10px)!important;
  }
  html body #root#root .project-showcase-footer-close{
    display:none!important;
  }
  html body #root#root .project-showcase-footer .project-showcase-footer-previous,
  html body #root#root .project-showcase-footer .project-showcase-footer-next{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    padding:10px 12px!important;
    border-radius:0!important;
    font-size:11px!important;
  }

  /* B2B: one full-screen form on phones; the old intro step is removed from the mobile flow. */
  html:has(.b2b-modal-backdrop),
  body:has(.b2b-modal-backdrop){
    overflow:hidden!important;
  }
  html body #root#root .b2b-modal-backdrop{
    position:fixed!important;
    inset:0!important;
    z-index:320!important;
    padding:0!important;
    display:block!important;
    overflow:hidden!important;
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html body #root#root .b2b-modal-panel{
    width:100%!important;
    max-width:none!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
    filter:none!important;
    box-shadow:none!important;
  }
  html body #root#root .offer-modal-layout,
  html body #root#root .offer-modal-mobile-step-intro,
  html body #root#root .offer-modal-mobile-step-form{
    width:100%!important;
    height:100%!important;
    display:block!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:0!important;
    background:#fff!important;
  }
  html body #root#root .offer-modal-aside,
  html body #root#root .offer-modal-mobile-brandbar,
  html body #root#root .offer-modal-mobile-next{
    display:none!important;
  }
  html body #root#root .offer-modal-form-shell,
  html body #root#root .offer-modal-mobile-step-intro .offer-modal-form-shell,
  html body #root#root .offer-modal-mobile-step-form .offer-modal-form-shell{
    display:block!important;
    width:100%!important;
    height:100%!important;
    padding:calc(68px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    background:#fff!important;
  }
  html body #root#root .b2b-modal-close,
  html body #root#root .b2b-modal-panel:has(.offer-modal-mobile-step-intro)>.b2b-modal-close{
    position:fixed!important;
    z-index:340!important;
    top:max(12px,env(safe-area-inset-top))!important;
    right:14px!important;
    width:44px!important;
    height:44px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid #d9e0e6!important;
    border-radius:2px!important;
    background:#fff!important;
    color:#081322!important;
    box-shadow:none!important;
  }
  html body #root#root .offer-modal-form-heading{
    margin:0 0 22px!important;
    padding:0 52px 0 0!important;
  }
  html body #root#root .offer-modal-form-kicker{
    margin:0 0 9px!important;
    font-size:10px!important;
    letter-spacing:.16em!important;
  }
  html body #root#root .offer-modal-form-heading h2{
    margin:0 0 8px!important;
    font-size:30px!important;
    line-height:1.04!important;
    font-weight:500!important;
    letter-spacing:-.04em!important;
  }
  html body #root#root .offer-modal-form-heading p{
    max-width:32rem!important;
    margin:0!important;
    font-size:14px!important;
    line-height:1.5!important;
  }
  html body #root#root .offer-modal-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  html body #root#root .offer-modal-row,
  html body #root#root .offer-modal-contact-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  html body #root#root .offer-modal-field,
  html body #root#root .offer-modal-field-wide,
  html body #root#root .offer-modal-message,
  html body #root#root .offer-modal-file,
  html body #root#root .offer-modal-consent,
  html body #root#root .offer-modal-actions,
  html body #root#root .offer-modal-error{
    grid-column:1!important;
  }
  html body #root#root .offer-modal-field-label{
    gap:7px!important;
    margin-bottom:7px!important;
    font-size:12px!important;
    line-height:1.3!important;
  }
  html body #root#root .offer-modal-field-label svg{
    width:18px!important;
    height:18px!important;
  }
  html body #root#root .lexo-shell .offer-modal-field .b2b-form-input{
    width:100%!important;
    min-height:50px!important;
    padding:12px 13px!important;
    border:1px solid #d9e0e6!important;
    border-radius:0!important;
    background:#fff!important;
    color:#081322!important;
    font-size:16px!important;
  }
  html body #root#root .lexo-shell .offer-modal-message textarea.b2b-form-input{
    min-height:122px!important;
    padding-bottom:28px!important;
  }
  html body #root#root .offer-modal-file{
    min-height:66px!important;
    padding:10px 12px!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
    border:1px solid #d9e0e6!important;
    border-radius:0!important;
    background:#fff!important;
  }
  html body #root#root .offer-modal-file>strong{
    min-width:0!important;
    padding:10px!important;
    border:0!important;
    border-left:1px solid #d9e0e6!important;
    background:#fff!important;
    font-size:11px!important;
  }
  html body #root#root .offer-modal-consent{
    gap:9px!important;
    margin:2px 0 0!important;
    font-size:11px!important;
    line-height:1.45!important;
  }
  html body #root#root .offer-modal-consent input{
    width:20px!important;
    height:20px!important;
  }
  html body #root#root .offer-modal-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:2px!important;
    padding-top:12px!important;
    border-top:1px solid #e5e9ed!important;
  }
  html body #root#root .offer-modal-actions .offer-modal-submit{
    order:1!important;
    width:100%!important;
    min-height:52px!important;
    padding:12px 14px!important;
    border-radius:0!important;
    background:#ffd400!important;
    color:#081322!important;
    font-size:14px!important;
    font-weight:650!important;
    text-transform:none!important;
  }
  html body #root#root .offer-modal-actions .offer-modal-security{
    order:2!important;
    justify-self:center!important;
    font-size:11px!important;
  }
}
/* === end FINAL MOBILE UX CLEANUP === */

/* === 2026-09-25 MOBILE FLOATING CONTROLS — canonical, no top strip === */
@media (max-width:767px){
  /* No full-width mobile header layer anywhere. */
  body:has(#root .home-page)::before,
  body:has(#root .company-page)::before,
  body:has(#root .portfolio-page)::before,
  body:has(#root .calculator-page)::before,
  body:has(#root .recruit-page)::before,
  body:has(#root .inquiry-page)::before,
  #root .home-brand-slot::before,
  #root .company-page .company-copy::before,
  #root .portfolio-page .portfolio-intro::before,
  #root .calculator-page .plan-hero-copy::before,
  #root .recruit-page .recruit-copy::before,
  #root .inquiry-page::before,
  #root .inquiry-page .inquiry-copy::before{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    pointer-events:none!important;
  }

  /* Floating logo only; hamburger is owned by SiteSideNav.css and remains fixed. */
  #root#root :is(
    .home-page .home-brand-row,
    .company-page .company-brand,
    .portfolio-page .portfolio-brand,
    .calculator-page .calc-brand,
    .recruit-page .recruit-brand-row,
    .inquiry-page .inquiry-brand-row
  ){
    position:fixed!important;
    z-index:119!important;
    top:calc(14px + env(safe-area-inset-top,0px))!important;
    left:max(14px,env(safe-area-inset-left,0px))!important;
    right:auto!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    overflow:visible!important;
    clip-path:none!important;
    transform:none!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  #root#root :is(
    .home-page .home-brand-row,
    .company-page .company-brand,
    .portfolio-page .portfolio-brand,
    .calculator-page .calc-brand,
    .recruit-page .recruit-brand-row,
    .inquiry-page .inquiry-brand-row
  ) .lexo-brand{
    margin:0!important;
    transform:none!important;
    transform-origin:left top!important;
  }

  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) .lexo-brand img{
    width:28px!important;
    height:28px!important;
  }
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) .lexo-brand span{
    font-size:27px!important;
    line-height:1!important;
  }

  #root#root :is(
    .home-page .home-hero-copy,
    .company-page .company-copy,
    .portfolio-page .portfolio-intro,
    .calculator-page .plan-hero-copy,
    .recruit-page .recruit-copy,
    .inquiry-page .inquiry-copy
  ){
    padding-top:calc(68px + env(safe-area-inset-top,0px))!important;
  }
}
/* === end mobile floating controls === */
/* LEXO site navigation — canonical source of truth. */
:root {
  --lexo-rail-width: 0px;
  --lexo-nav-safe-top: env(safe-area-inset-top, 0px);
  --lexo-nav-safe-right: env(safe-area-inset-right, 0px);
  --lexo-nav-safe-bottom: env(safe-area-inset-bottom, 0px);
}

.site-side-navigation,
.site-side-navigation * {
  box-sizing: border-box;
}

.site-side-navigation {
  font-family: Arial, Helvetica, sans-serif;
  color: #081322;
}

.site-side-navigation button {
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.site-side-navigation button:focus-visible {
  outline: 2px solid #d6a500;
  outline-offset: 3px;
}

/* Mobile / tablet drawer -------------------------------------------------- */
.site-side-rail {
  display: none;
}

.site-side-trigger {
  position: fixed;
  top: calc(8px + var(--lexo-nav-safe-top));
  right: max(14px, var(--lexo-nav-safe-right));
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  margin: 0;
  padding: 0;
  border: 1px solid #dfe5ea;
  border-radius: 2px;
  background: rgba(255, 255, 255, .96);
  color: #081322;
  box-shadow: 0 6px 20px rgba(8, 19, 34, .05);
  appearance: none;
}

.site-side-trigger-icon {
  display: flex;
  width: 16px;
  height: 12px;
  flex: none;
  flex-direction: column;
  justify-content: space-between;
}

.site-side-trigger-icon i {
  display: block;
  width: 100%;
  height: 1.5px;
  border-radius: 0;
  background: #081322;
}

.site-side-dialog {
  position: fixed;
  inset: 0 0 0 auto;
  width: min(360px, calc(100vw - 24px));
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #081322;
}

.site-side-dialog:not([open]) { display: none; }
.site-side-dialog[open] { display: block; }
.site-side-dialog::backdrop {
  background: rgba(8, 19, 34, .32);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

.site-side-dialog-panel {
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding:
    calc(12px + var(--lexo-nav-safe-top))
    calc(20px + var(--lexo-nav-safe-right))
    calc(24px + var(--lexo-nav-safe-bottom))
    20px;
  border-left: 1px solid rgba(255, 255, 255, .7);
  background: rgba(248, 250, 252, .96);
  -webkit-backdrop-filter: blur(20px) saturate(1.04);
  backdrop-filter: blur(20px) saturate(1.04);
  box-shadow: -12px 0 32px rgba(8, 19, 34, .08);
}

.site-side-close {
  display: grid;
  place-items: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  min-height: 40px;
  margin: 0 0 18px auto;
  padding: 0;
  border: 1px solid #dfe5ea;
  border-radius: 2px;
  background: #fff;
  color: #081322;
  font-size: 24px;
  font-weight: 300;
  line-height: 1;
}

.site-side-dialog .site-side-items {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 0;
  margin: 0;
  padding: 0;
}

.site-side-dialog .site-side-items button {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 56px;
  margin: 0;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid #e1e6eb;
  border-radius: 0;
  background: transparent;
  color: #5a6674;
  text-align: left;
  font-size: 15px;
  line-height: 1.25;
}

.site-side-dialog .site-side-items button > span:first-child {
  color: #6b7682;
  font-size: 13px;
  font-weight: 600;
}

.site-side-dialog .site-side-items button[aria-current] {
  color: #081322;
  font-weight: 700;
}

.site-side-dialog .site-side-items button[aria-current]::before {
  content: '';
  position: absolute;
  inset: 9px auto 9px -20px;
  width: 2px;
  background: #d6a500;
}

html:has(.site-side-dialog[open]),
body:has(.site-side-dialog[open]) {
  overflow: hidden;
}

/* Desktop rail ----------------------------------------------------------- */
@media (min-width: 1024px) {
  :root { --lexo-rail-width: 88px; }

  .site-side-trigger,
  .site-side-dialog,
  .site-side-dialog[open] {
    display: none;
  }

  .site-side-rail {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 70;
    display: flex;
    width: var(--lexo-rail-width);
    height: 100vh;
    height: 100dvh;
    margin: 0;
    padding: 18px 10px 16px;
    flex-direction: column;
    overflow: hidden;
    border: 0;
    border-left: 1px solid rgba(255, 255, 255, .52);
    background: rgba(248, 250, 252, .36);
    -webkit-backdrop-filter: blur(24px) saturate(1.08) brightness(1.04);
    backdrop-filter: blur(24px) saturate(1.08) brightness(1.04);
    box-shadow: -4px 0 24px rgba(8, 19, 34, .045), inset 1px 0 0 rgba(255, 255, 255, .20);
  }

  .site-side-rail .site-side-items {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    gap: clamp(5px, 1.1vh, 10px);
    margin: 0;
    padding: 0;
  }

  .site-side-rail .site-side-items button {
    position: relative;
    display: grid;
    gap: 3px;
    width: 100%;
    min-height: 0;
    margin: 0;
    padding: 7px 0 7px 5px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #2f3b48;
    text-align: left;
    font-size: 10px;
    line-height: 1.25;
  }

  .site-side-rail .site-side-items button > span {
    white-space: nowrap;
  }

  .site-side-rail .site-side-items button > span:first-child {
    color: #3c4956;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.05;
  }

  .site-side-rail .site-side-items button[aria-current],
  .site-side-rail .site-side-items button[aria-current] > span:first-child {
    color: #081322;
    font-weight: 700;
  }

  .site-side-rail .site-side-items button::before {
    content: '';
    position: absolute;
    top: 3px;
    bottom: 3px;
    left: 0;
    width: 2px;
    background: #d6a500;
    transform: scaleY(0);
    transform-origin: center;
    transition: transform .24s cubic-bezier(.22, .8, .2, 1);
  }

  .site-side-rail .site-side-items button[aria-current]::before {
    transform: scaleY(1);
  }
}

@media (min-width: 1440px) {
  :root { --lexo-rail-width: clamp(96px, 6.7vw, 126px); }
  .site-side-rail { padding: clamp(30px, 4vh, 48px) 12px 24px; }
  .site-side-rail .site-side-items { gap: clamp(12px, 1.9vh, 22px); }
  .site-side-rail .site-side-items button { gap: 5px; padding: 11px 0 11px 7px; font-size: 12px; }
  .site-side-rail .site-side-items button > span:first-child { font-size: 17px; }
}

@media (min-width: 1024px) and (max-height: 720px) {
  .site-side-rail { padding-top: 16px; padding-bottom: 14px; }
  .site-side-rail .site-side-items { gap: clamp(7px, 1.45vh, 10px); }
  .site-side-rail .site-side-items button {
    padding-top: 7px;
    padding-bottom: 7px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .site-side-rail .site-side-items button:hover,
  .site-side-dialog .site-side-items button:hover { color: #081322; }
}

@media (prefers-reduced-motion: reduce) {
  .site-side-rail .site-side-items button::before { transition: none; }
  .site-side-dialog::backdrop,
  .site-side-dialog-panel { -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* === 2026-09-28 language switcher === */
.site-language-switch {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  flex:none;
  padding-top:10px;
  border-top:1px solid rgba(8,19,34,.08);
}
.site-language-switch button {
  min-width:0;
  width:auto;
  height:26px;
  padding:0 4px;
  border:0;
  background:transparent;
  color:#7a8693;
  font:700 9px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.08em;
  cursor:pointer;
}
.site-language-switch button.is-active {
  color:#081322;
  background:#ffd400;
}
.site-side-dialog .site-language-switch {
  justify-content:flex-start;
  gap:8px;
  margin-top:24px;
  padding-top:18px;
}
.site-side-dialog .site-language-switch button {
  height:36px;
  min-width:46px;
  padding:0 12px;
  border:1px solid #dfe4e8;
  font-size:11px;
}
.site-side-dialog .site-language-switch button.is-active {
  border-color:#ffd400;
}
@media (min-width:1440px) {
  .site-language-switch {gap:5px;padding-top:12px;}
  .site-language-switch button {height:28px;padding:0 6px;font-size:10px;}
}
@media (min-width:1024px) and (max-height:720px) {
  .site-language-switch {padding-top:7px;}
  .site-language-switch button {height:22px;font-size:8px;}
}
/* === end language switcher === */
/* ========================================================================
   LEXO RESPONSIVE SYSTEM — canonical final layout contract
   Loaded after all legacy/page styles. It normalizes geometry only; page
   identity, content and visual language remain in the page styles.
   ======================================================================== */

:root {
  --lexo-mobile-max: 680px;
  --lexo-tablet-max: 1023px;
  --lexo-laptop-max: 1439px;
  --lexo-safe-top: env(safe-area-inset-top, 0px);
  --lexo-safe-right: env(safe-area-inset-right, 0px);
  --lexo-safe-bottom: env(safe-area-inset-bottom, 0px);
  --lexo-safe-left: env(safe-area-inset-left, 0px);
}

html,
body,
#root {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: clip;
}

#root#root > .lexo-shell:has(:is(
  .home-page,
  .company-page,
  .portfolio-page,
  .calculator-page,
  .recruit-page,
  .inquiry-page
)) {
  display: block !important;
  width: 100% !important;
  min-height: 100svh !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  color: #081322 !important;
}

/* The new document pages never use the legacy top header/story HUD. */
#root#root > .lexo-shell:has(:is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
)) > header,
#root#root > .lexo-shell:has(:is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
)) > .story-footer,
#root#root > .lexo-shell:has(:is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
)) > .hero-opening-beam {
  display: none !important;
}

#root#root > .lexo-shell:has(:is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
)) :is(.presentation-main,.presentation-viewport,.presentation-frame) {
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  animation: none !important;
  flex: none !important;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-right: var(--lexo-rail-width, 0px) !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) *,
#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) *::before,
#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) *::after {
  box-sizing: border-box;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) :is(img,video,svg,canvas,iframe) {
  max-width: 100%;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) :is(h1,h2,h3,p,a,button,label,span,strong,small) {
  min-width: 0;
}

/* Desktop hero/media contract ------------------------------------------- */
@media (min-width: 1024px) {
  #root#root :is(
    .home-hero-stage,
    .company-hero,
    .portfolio-hero,
    .calculator-page .plan-hero,
    .recruit-page .recruit-hero,
    .inquiry-page .inquiry-layout
  ) {
    overflow: visible !important;
  }

  /* Media reaches the right viewport edge underneath the glass rail. */
  #root#root :is(
    .home-page .home-hero-visual,
    .company-page .company-photo-wrap,
    .portfolio-page .portfolio-featured,
    .calculator-page .calc-photo,
    .recruit-page .recruit-visual,
    .inquiry-page .inquiry-visual
  ) {
    position: relative !important;
    width: calc(100% + var(--lexo-rail-width, 0px)) !important;
    max-width: none !important;
    margin-right: calc(var(--lexo-rail-width, 0px) * -1) !important;
    overflow: hidden !important;
  }

  #root#root :is(
    .home-page .home-hero-photo,
    .company-page .company-hero-video,
    .portfolio-page .portfolio-featured-image,
    .portfolio-page .portfolio-featured > img,
    .calculator-page .calc-photo > img,
    .recruit-page .recruit-photo,
    .inquiry-page .inquiry-photo
  ) {
    max-width: none !important;
  }

  /* Forms/overlays stay clear of the fixed glass rail. */
  #root#root .recruit-page .recruit-visual {
    padding-right: calc(clamp(22px, 3vw, 50px) + var(--lexo-rail-width, 0px)) !important;
  }
  #root#root .inquiry-page .inquiry-visual {
    padding-right: calc(clamp(24px, 3vw, 56px) + var(--lexo-rail-width, 0px)) !important;
  }
  #root#root .portfolio-page .portfolio-featured-top {
    right: calc(24px + var(--lexo-rail-width, 0px)) !important;
  }
}

/* Touch / motion safety --------------------------------------------------- */
@media (pointer: coarse) {
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) button {
    touch-action: manipulation;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) *,
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) *::before,
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) *::after {
    scroll-behavior: auto !important;
  }
}

/* Lazy route fallback: intentionally simple so it cannot shift the page shell. */
#root .lexo-page-loader {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: min(58svh, 620px);
  padding: 40px 20px;
  background: #fff;
  color: #081322;
}
#root .lexo-page-loader span {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.04em;
}

/* =======================================================================
   LEXO RESPONSIVE CONTRACT — 2026-09-28
   This is intentionally the LAST stylesheet imported by main.tsx.
   Page styles own visual identity; this layer owns responsive geometry.
   ======================================================================= */

:root {
  --lexo-phone-gutter: 14px;
  --lexo-tablet-gutter: clamp(24px, 5vw, 48px);
  --lexo-section-y-mobile: 48px;
  --lexo-section-y-tablet: 64px;
  --lexo-touch: 44px;
}

/* Global containment: content may reflow but must never create page-level x-scroll. */
#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page,
  .lexo-site-footer
) {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page,
  .lexo-site-footer
) :is(img,video,canvas,svg) {
  max-width: 100%;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page,
  .lexo-site-footer
) :is(p,li,a,button,label,small,strong,span) {
  min-width: 0;
}

/* Desktop/laptop contract: rail starts at the exact same breakpoint as SiteSideNav. */
@media (min-width: 1024px) {
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) {
    padding-right: var(--lexo-rail-width) !important;
  }

  #root#root .lexo-site-footer {
    margin-right: var(--lexo-rail-width) !important;
  }
}

/* Small laptop: keep desktop composition, but prevent cramped typography/cards. */
@media (min-width: 1024px) and (max-width: 1199px) {
  #root#root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) {
    padding-left: clamp(28px, 3vw, 38px) !important;
    padding-right: clamp(28px, 3vw, 38px) !important;
  }

  #root#root :is(
    .home-benefits,.home-process-grid,.company-features,.company-team,
    .company-testimonial-grid,.portfolio-execution-steps,.portfolio-explorer-grid,
    .recruit-process-grid,.inquiry-followup-grid
  ) {
    gap: clamp(18px, 2vw, 28px) !important;
  }
}

/* Tablet: one-column hero and consistent page gutters. */
@media (max-width: 1023px) {
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) {
    padding-right: 0 !important;
  }

  #root#root .lexo-site-footer {
    margin-right: 0 !important;
  }

  #root#root :is(
    .home-hero-stage,.company-hero,.portfolio-hero,
    .calculator-page .plan-hero,.recruit-page .recruit-hero,.inquiry-page .inquiry-layout
  ) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #root#root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: calc(82px + var(--lexo-safe-top)) var(--lexo-tablet-gutter) 44px !important;
    overflow: visible !important;
  }

  /* One floating brand position for every routed page. */
  #root#root :is(
    .home-page .home-brand-row,
    .company-page .company-brand,
    .portfolio-page .portfolio-brand,
    .calculator-page .calc-brand,
    .recruit-page .recruit-brand-row,
    .inquiry-page .inquiry-brand-row
  ) {
    position: fixed !important;
    z-index: 119 !important;
    top: calc(14px + var(--lexo-safe-top)) !important;
    left: max(24px, var(--lexo-safe-left)) !important;
    right: auto !important;
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #root#root :is(
    .home-page .home-brand-row,
    .company-page .company-brand,
    .portfolio-page .portfolio-brand,
    .calculator-page .calc-brand,
    .recruit-page .recruit-brand-row,
    .inquiry-page .inquiry-brand-row
  ) .lexo-brand {
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transform-origin: left top !important;
  }

  /* Remove all legacy/synthetic header strips. */
  body:has(#root .home-page)::before,
  body:has(#root .company-page)::before,
  body:has(#root .portfolio-page)::before,
  body:has(#root .calculator-page)::before,
  body:has(#root .recruit-page)::before,
  body:has(#root .inquiry-page)::before,
  #root .home-brand-slot::before,
  #root .company-page .company-copy::before,
  #root .portfolio-page .portfolio-intro::before,
  #root .calculator-page .plan-hero-copy::before,
  #root .recruit-page .recruit-copy::before,
  #root .inquiry-page::before,
  #root .inquiry-page .inquiry-copy::before {
    content: none !important;
    display: none !important;
  }

  /* Media blocks use one predictable ratio. */
  #root#root :is(
    .home-page .home-hero-visual,
    .company-page .company-photo-wrap,
    .portfolio-page .portfolio-featured,
    .calculator-page .calc-photo
  ) {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
  }

  #root#root :is(
    .home-page .home-hero-photo,
    .company-page .company-hero-video,
    .portfolio-page .portfolio-featured-image,
    .portfolio-page .portfolio-featured > img,
    .calculator-page .calc-photo > img
  ) {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* Forms: image above, form below, never overlayed on touch layouts. */
  #root#root :is(.recruit-page .recruit-visual,.inquiry-page .inquiry-visual) {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #fff !important;
  }

  #root#root :is(.recruit-page .recruit-photo,.inquiry-page .inquiry-photo) {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: clamp(280px, 44vw, 420px) !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  #root#root :is(.recruit-page .recruit-form-card,.inquiry-page .inquiry-wizard,.inquiry-page .inquiry-card) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Two-column tablet grids where there is room. */
  #root#root :is(
    .home-benefits,.home-process-grid,.company-features,.company-team,
    .company-testimonial-grid,.portfolio-execution-steps,.portfolio-explorer-grid,
    .recruit-process-grid,.inquiry-followup-grid
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* Calculator: vertical layout + horizontally scrollable step navigation. */
  #root#root .calculator-page .plan-config-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #root#root .calculator-page .plan-step-nav {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--border, #dbe1e7) !important;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  #root#root .calculator-page .plan-step-nav button {
    flex: 0 0 auto !important;
    min-width: 148px !important;
    border-bottom: 0 !important;
    border-right: 1px solid var(--border, #dbe1e7) !important;
  }

  #root#root :is(.calc-timeline-scroll,.plan-gantt,.portfolio-filter-menu) {
    max-width: 100% !important;
  }

  #root#root .calc-timeline-scroll {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  /* Footer follows the same tablet rhythm as page content. */
  #root#root .lexo-site-footer :is(.lexo-footer-contact,.lexo-footer-main) {
    padding-left: var(--lexo-tablet-gutter) !important;
    padding-right: var(--lexo-tablet-gutter) !important;
  }
}

/* Phone: one compact header, one gutter, one-column content system. */
@media (max-width: 680px) {
  #root#root :is(
    .home-hero-copy,.company-copy,.portfolio-intro,
    .calculator-page .plan-hero-copy,.recruit-page .recruit-copy,.inquiry-page .inquiry-copy
  ) {
    padding-top: calc(68px + var(--lexo-safe-top)) !important;
    padding-right: max(var(--lexo-phone-gutter), var(--lexo-safe-right)) !important;
    padding-bottom: 30px !important;
    padding-left: max(var(--lexo-phone-gutter), var(--lexo-safe-left)) !important;
  }

  #root#root :is(
    .home-page .home-brand-row,
    .company-page .company-brand,
    .portfolio-page .portfolio-brand,
    .calculator-page .calc-brand,
    .recruit-page .recruit-brand-row,
    .inquiry-page .inquiry-brand-row
  ) {
    top: calc(14px + var(--lexo-safe-top)) !important;
    left: max(var(--lexo-phone-gutter), var(--lexo-safe-left)) !important;
  }

  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) .lexo-brand svg,
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) .lexo-brand img {
    width: 28px !important;
    height: 28px !important;
  }

  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) .lexo-brand span {
    font-size: 27px !important;
    line-height: 1 !important;
  }

  /* Keep the menu button on the exact same visual baseline as the brand. */
  #root#root .site-side-trigger {
    top: calc(8px + var(--lexo-safe-top)) !important;
    right: max(var(--lexo-phone-gutter), var(--lexo-safe-right)) !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  #root#root :is(
    .home-page .home-hero h1,.company-page .company-hero h1,.portfolio-page .portfolio-hero h1,
    .calculator-page .plan-hero h1,.recruit-page .recruit-hero h1,.inquiry-page .inquiry-copy h1
  ) {
    font-size: clamp(34px, 10.2vw, 44px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.045em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  #root#root :is(
    .home-page .home-hero h1,.company-page .company-hero h1,.portfolio-page .portfolio-hero h1,
    .calculator-page .plan-hero h1,.recruit-page .recruit-hero h1,.inquiry-page .inquiry-copy h1
  ) :is(span,strong,em) {
    white-space: normal !important;
  }

  #root#root :is(
    .home-page .home-about h2,.home-page .home-process h2,.home-page .home-career h2,
    .company-page .company-team h2,.company-page .company-testimonials h2,
    .portfolio-page .portfolio-execution h2,.portfolio-page .portfolio-explorer h2,
    .recruit-page .recruit-process h2,.inquiry-page .inquiry-followup h2,.inquiry-page .inquiry-office h2,
    .lexo-site-footer h2
  ) {
    font-size: clamp(30px, 8.6vw, 38px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    text-wrap: balance !important;
  }

  /* Hero media: same visual weight everywhere. */
  #root#root :is(
    .home-page .home-hero-visual,
    .company-page .company-photo-wrap,
    .portfolio-page .portfolio-featured,
    .calculator-page .calc-photo
  ) {
    aspect-ratio: 16 / 10 !important;
  }

  #root#root :is(.recruit-page .recruit-photo,.inquiry-page .inquiry-photo) {
    height: clamp(230px, 72vw, 320px) !important;
  }

  /* Standard one-column grids on phones. */
  #root#root :is(
    .home-benefits,.home-process-grid,.company-features,.company-team,
    .company-testimonial-grid,.portfolio-execution-steps,.portfolio-explorer-grid,
    .recruit-process-grid,.inquiry-followup-grid,
    .plan-parameter-grid,.plan-team-layout,.plan-scope-grid,
    .recruit-form-card fieldset,.recruit-wizard-grid,
    .inquiry-card fieldset,.inquiry-step-grid,.inquiry-service-grid
  ) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  /* Shared horizontal page padding for content sections that previously used mixed breakpoints. */
  #root#root :is(
    .home-page .home-container,
    .company-page .company-features,
    .company-page .company-team,
    .company-page .company-testimonials,
    .portfolio-page .portfolio-execution,
    .portfolio-page .portfolio-explorer,
    .recruit-page .recruit-process,
    .inquiry-page .inquiry-section-inner,
    .inquiry-page .inquiry-office
  ) {
    padding-left: max(var(--lexo-phone-gutter), var(--lexo-safe-left)) !important;
    padding-right: max(var(--lexo-phone-gutter), var(--lexo-safe-right)) !important;
  }

  /* CTA groups do not squeeze into narrow columns. */
  #root#root :is(.home-hero-actions,.company-actions,.portfolio-actions) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
  }

  #root#root :is(
    .home-hero-actions .home-button,.home-hero-actions .home-text-link,
    .company-actions .company-primary,.company-actions .company-secondary,
    .portfolio-actions .portfolio-primary,.portfolio-actions .portfolio-secondary
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-height: var(--lexo-touch) !important;
  }

  /* Every form control stays zoom-safe on iOS and touchable. */
  #root#root :is(
    .recruit-form-card input,.recruit-form-card select,.recruit-form-card textarea,
    .inquiry-card input,.inquiry-card select,.inquiry-card textarea,
    .calculator-page input,.calculator-page select,.calculator-page textarea
  ) {
    width: 100% !important;
    max-width: 100% !important;
    font-size: 16px !important;
  }

  #root#root :is(
    .recruit-page button,.inquiry-page button,.calculator-page button,
    .portfolio-page button,.company-page button,.home-page button,
    .lexo-site-footer button,.lexo-site-footer a
  ) {
    min-height: var(--lexo-touch);
  }

  #root#root :is(.recruit-form-card,.inquiry-card,.inquiry-wizard) {
    padding: 20px var(--lexo-phone-gutter) 26px !important;
  }

  /* Calculator becomes a clean document rather than a compressed desktop widget. */
  #root#root .calculator-page .plan-config-shell {
    margin: 20px var(--lexo-phone-gutter) !important;
  }

  #root#root .calculator-page .plan-step-panel {
    padding: 20px 14px 24px !important;
  }

  #root#root .calculator-page .plan-overview {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 0 !important;
  }

  #root#root .calculator-page .plan-mini-stat:nth-child(odd) {
    border-left: 0 !important;
    padding-left: 0 !important;
  }

  /* Project filters and project cards remain usable without x-overflow. */
  #root#root .portfolio-page :is(.portfolio-explorer-body,.portfolio-explorer-left,.portfolio-explorer-results) {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #root#root .portfolio-page .portfolio-featured-top {
    top: 14px !important;
    right: 14px !important;
    left: 14px !important;
  }

  /* Home project slider: full-width cards, controls below, no clipped copy. */
  #root#root :is(.hp-stage,.hp-viewport,.hp-open,.hp-card-copy) {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #root#root .hp-card-copy {
    min-height: 0 !important;
    height: auto !important;
  }

  #root#root .hp-controls {
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
  }

  /* Footer: one simple column, no inherited desktop dividers/indents. */
  #root#root .lexo-site-footer :is(.lexo-footer-contact,.lexo-footer-main) {
    padding-left: max(var(--lexo-phone-gutter), var(--lexo-safe-left)) !important;
    padding-right: max(var(--lexo-phone-gutter), var(--lexo-safe-right)) !important;
  }

  #root#root .lexo-site-footer .lexo-footer-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #root#root .lexo-site-footer :is(.lexo-footer-nav-wrap,.lexo-footer-details) {
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: 0 !important;
  }

  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px 18px !important;
  }

  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav button {
    width: 100% !important;
    text-align: left !important;
  }
}

/* Very small phones: remove the last sources of accidental clipping. */
@media (max-width: 420px) {
  :root { --lexo-phone-gutter: 12px; }

  #root#root :is(
    .home-page .home-hero h1,.company-page .company-hero h1,.portfolio-page .portfolio-hero h1,
    .calculator-page .plan-hero h1,.recruit-page .recruit-hero h1,.inquiry-page .inquiry-copy h1
  ) {
    font-size: clamp(32px, 10.5vw, 40px) !important;
  }

  #root#root .calculator-page .plan-overview,
  #root#root .lexo-site-footer .lexo-footer-nav-wrap nav {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #root#root .calculator-page .plan-mini-stat {
    border-left: 0 !important;
    padding-left: 0 !important;
  }

  #root#root .site-side-dialog {
    width: min(100vw, 360px) !important;
  }
}

/* Blocking overlays own the screen; floating page brand must not sit above them. */
body:has(:is(
  .b2b-modal-backdrop,.project-showcase-backdrop,.project-modal-backdrop,.project-media-lightbox
)) #root :is(
  .home-brand-row,.company-brand,.portfolio-brand,.calc-brand,.recruit-brand-row,.inquiry-brand-row
) {
  visibility: hidden !important;
}

/* Accessible motion fallback: animation may disappear, content may not. */
@media (prefers-reduced-motion: reduce) {
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page,.lexo-site-footer
  ) [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Last-mile narrow-layout guards for legacy fixed/min widths. */
@media (max-width: 680px) {
  #root#root .portfolio-page :is(.portfolio-filter-dropdown,.portfolio-filter-menu) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #root#root .lexo-site-footer .lexo-footer-cta {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #root#root :is(.recruit-wizard-tab,.inquiry-wizard-step-label) {
    min-width: 0 !important;
    max-width: calc(100vw - (2 * var(--lexo-phone-gutter))) !important;
  }

  #root#root :is(
    .inquiry-details a,.inquiry-office a,.lexo-footer-contact-link,
    .recruit-page a,.calculator-page a
  ) {
    overflow-wrap: anywhere !important;
  }
}


/* Restored original LEXO intro preloader (24.09 version). */
@keyframes lexoMiniLoaderExit {
  0%, 48% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}
@keyframes lexoLoaderHalo {
  0% { transform: scale(.72); opacity: 0; }
  35% { opacity: .72; }
  100% { transform: scale(1.24); opacity: 0; }
}
@keyframes lexoLoaderMark {
  0% { transform: scale(.88) rotate(-4deg); opacity: 0; }
  38%, 78% { transform: scale(1) rotate(0); opacity: 1; }
  100% { transform: scale(.98); opacity: .88; }
}
#root .lexo-mini-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: #fff;
  animation: lexoMiniLoaderExit 1.35s cubic-bezier(.4,0,.2,1) both;
  pointer-events: none;
}
#root .lexo-mini-loader-inner {
  display: grid;
  justify-items: center;
  gap: .85rem;
}
#root .lexo-mini-loader-symbol {
  position: relative;
  width: 7.25rem;
  height: 7.25rem;
  display: grid;
  place-items: center;
}
#root .lexo-mini-loader-symbol::before,
#root .lexo-mini-loader-symbol::after {
  content: "";
  position: absolute;
  inset: .55rem;
  border: 2px solid #eef200;
  border-radius: 50%;
  animation: lexoLoaderHalo .98s cubic-bezier(.2,.65,.35,1) infinite;
}
#root .lexo-mini-loader-symbol::after { animation-delay: .28s; }
#root .lexo-mini-loader img {
  position: relative;
  z-index: 1;
  width: 6.35rem;
  height: auto;
  animation: lexoLoaderMark .9s cubic-bezier(.22,.72,.28,1) both;
}
@media (prefers-reduced-motion: reduce) {
  #root .lexo-mini-loader { display: none !important; }
}

/* === 2026-09-28 POPUP RESPONSIVE CONTRACT ===
   Final source of truth for the project showcase, media lightbox and B2B form. */
html:has(:is(.project-showcase-backdrop,.b2b-modal-backdrop)),
body:has(:is(.project-showcase-backdrop,.b2b-modal-backdrop)) {
  overflow: hidden !important;
}

/* Never allow an overlay to inherit page rail/gutter geometry. */
#root#root :is(.project-showcase-backdrop,.b2b-modal-backdrop,.project-showcase-lightbox) {
  box-sizing: border-box !important;
  max-width: 100vw !important;
}

/* Tablet and below: overlays become viewport-owned surfaces, not floating desktop cards. */
@media (max-width: 1023px) {
  html body #root#root .project-showcase-backdrop,
  html body #root#root .b2b-modal-backdrop {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
  }

  html body #root#root .project-showcase-panel,
  html body #root#root .b2b-modal-panel {
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Project popup = one internally scrolling mobile/tablet document. */
  html body #root#root .project-showcase-panel {
    display: flex !important;
    flex-direction: column !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    background: #fff !important;
  }

  html body #root#root .project-showcase-main,
  html body #root#root .project-showcase-gallery {
    display: contents !important;
  }

  html body #root#root .project-showcase-hero {
    order: 1 !important;
    position: relative !important;
    width: 100% !important;
    height: clamp(250px, 46vw, 420px) !important;
    min-height: clamp(250px, 46vw, 420px) !important;
    max-height: 46svh !important;
    flex: none !important;
    overflow: hidden !important;
  }

  html body #root#root .project-showcase-hero > :is(img,video) {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
  }

  html body #root#root .project-showcase-sidebar {
    order: 2 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    padding: 28px clamp(18px, 4vw, 36px) 24px !important;
    overflow: visible !important;
    border: 0 !important;
    background: #fff !important;
  }

  html body #root#root .project-showcase-highlights {
    order: 3 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 clamp(18px, 4vw, 36px) 22px !important;
    grid-template-columns: minmax(0,1fr) !important;
    background: #fff !important;
  }

  html body #root#root .project-showcase-footer {
    order: 4 !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 30 !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 10px clamp(14px, 3vw, 24px) calc(10px + env(safe-area-inset-bottom,0px)) !important;
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
    gap: 8px !important;
    border-top: 1px solid #e1e6ea !important;
    background: rgba(255,255,255,.97) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
  }

  html body #root#root .project-showcase-footer-close { display: none !important; }

  html body #root#root .project-showcase-footer :is(.project-showcase-footer-previous,.project-showcase-footer-next) {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  /* Fixed controls respect safe areas and stay touch-sized. */
  html body #root#root .project-showcase-mobile-back {
    position: absolute !important;
    z-index: 15 !important;
    top: calc(12px + env(safe-area-inset-top,0px)) !important;
    left: max(14px,env(safe-area-inset-left,0px)) !important;
    min-height: 44px !important;
  }

  html body #root#root .project-showcase-mobile-media-tabs {
    position: absolute !important;
    z-index: 15 !important;
    top: calc(12px + env(safe-area-inset-top,0px)) !important;
    right: max(14px,env(safe-area-inset-right,0px)) !important;
    min-height: 44px !important;
  }

  /* B2B tablet: retain two columns, but let the form own scrolling. */
  html body #root#root .b2b-modal-backdrop {
    z-index: 320 !important;
    background: rgba(8,19,34,.52) !important;
  }

  html body #root#root .b2b-modal-panel {
    position: relative !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  html body #root#root .offer-modal-layout {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(250px,36%) minmax(0,64%) !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  html body #root#root .offer-modal-aside {
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  html body #root#root .offer-modal-form-shell {
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding: clamp(64px,8vw,82px) clamp(22px,4vw,42px) calc(24px + env(safe-area-inset-bottom,0px)) !important;
  }

  html body #root#root .b2b-modal-close {
    position: fixed !important;
    z-index: 340 !important;
    top: calc(12px + env(safe-area-inset-top,0px)) !important;
    right: max(14px,env(safe-area-inset-right,0px)) !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  html body #root#root .offer-modal-row,
  html body #root#root .offer-modal-contact-row {
    min-width: 0 !important;
    gap: 12px !important;
  }

  html body #root#root .offer-modal-field,
  html body #root#root .offer-modal-file,
  html body #root#root .offer-modal-message {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  html body #root#root .offer-modal-field .b2b-form-input {
    max-width: 100% !important;
  }

  /* Media lightbox always fits the *visible* viewport. */
  html body #root#root .project-showcase-lightbox {
    position: fixed !important;
    inset: 0 !important;
    z-index: 380 !important;
    width: 100vw !important;
    height: 100dvh !important;
    padding: max(64px,calc(52px + env(safe-area-inset-top,0px))) 14px max(20px,env(safe-area-inset-bottom,0px)) !important;
    overflow: hidden !important;
    background: rgba(3,8,12,.96) !important;
  }

  html body #root#root .project-showcase-lightbox > div {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
  }

  html body #root#root .project-showcase-lightbox img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  html body #root#root .project-showcase-lightbox > button {
    top: calc(12px + env(safe-area-inset-top,0px)) !important;
    right: max(14px,env(safe-area-inset-right,0px)) !important;
    width: 44px !important;
    height: 44px !important;
  }

  html body #root#root .project-showcase-lightbox :is(.is-prev,.is-next) {
    width: 44px !important;
    height: 44px !important;
  }

  html body #root#root .project-showcase-lightbox .is-prev { left: 10px !important; }
  html body #root#root .project-showcase-lightbox .is-next { right: 10px !important; }
}

/* Phone: compact controls, one-column B2B form, no accidental overlap. */
@media (max-width: 680px) {
  html body #root#root .project-showcase-hero {
    height: clamp(230px,62vw,320px) !important;
    min-height: clamp(230px,62vw,320px) !important;
    max-height: none !important;
  }

  html body #root#root .project-showcase-sidebar {
    padding: 22px 14px 20px !important;
  }

  html body #root#root .project-showcase-title h2 {
    font-size: clamp(27px,8vw,34px) !important;
  }

  html body #root#root .project-showcase-metrics {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }

  html body #root#root .project-showcase-highlights {
    padding: 0 14px 18px !important;
  }

  html body #root#root .project-showcase-footer :is(.project-showcase-footer-previous,.project-showcase-footer-next) {
    font-size: 11px !important;
    gap: 6px !important;
  }

  html body #root#root .offer-modal-layout,
  html body #root#root .offer-modal-mobile-step-intro,
  html body #root#root .offer-modal-mobile-step-form {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  html body #root#root .offer-modal-aside,
  html body #root#root .offer-modal-mobile-brandbar,
  html body #root#root .offer-modal-mobile-next {
    display: none !important;
  }

  html body #root#root .offer-modal-form-shell,
  html body #root#root .offer-modal-mobile-step-intro .offer-modal-form-shell,
  html body #root#root .offer-modal-mobile-step-form .offer-modal-form-shell {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    padding: calc(68px + env(safe-area-inset-top,0px)) 14px calc(24px + env(safe-area-inset-bottom,0px)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  html body #root#root .offer-modal-form-heading {
    padding-right: 52px !important;
  }

  html body #root#root .offer-modal-form-heading h2 {
    font-size: clamp(28px,8.2vw,34px) !important;
  }

  html body #root#root .offer-modal-row,
  html body #root#root .offer-modal-contact-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
  }

  html body #root#root .offer-modal-file {
    width: 100% !important;
    grid-template-columns: 24px minmax(0,1fr) auto !important;
  }

  html body #root#root .offer-modal-file > span {
    min-width: 0 !important;
    overflow: hidden !important;
  }

  html body #root#root .offer-modal-file > span b,
  html body #root#root .offer-modal-file > span small {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body #root#root .offer-modal-actions {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
  }
}

@media (max-width: 420px) {
  /* Back label and media tabs otherwise collide on 360–390 px phones. */
  html body #root#root .project-showcase-mobile-back {
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    padding: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
  }

  html body #root#root .project-showcase-mobile-back svg {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
  }

  html body #root#root .project-showcase-mobile-media-tabs {
    max-width: calc(100vw - 86px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)) !important;
  }

  html body #root#root .project-showcase-mobile-media-tabs button {
    min-width: 0 !important;
    padding-inline: 8px !important;
    font-size: 9px !important;
  }

  html body #root#root .project-showcase-metrics {
    grid-template-columns: minmax(0,1fr) !important;
  }

  html body #root#root .project-showcase-metrics > div {
    border-right: 0 !important;
  }

  html body #root#root .project-showcase-footer {
    grid-template-columns: minmax(0,1fr) !important;
  }

  html body #root#root .offer-modal-form-shell {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  html body #root#root .offer-modal-file {
    grid-template-columns: 22px minmax(0,1fr) !important;
  }

  html body #root#root .offer-modal-file > strong {
    grid-column: 2 !important;
    width: 100% !important;
    margin-top: 6px !important;
    padding: 9px 10px !important;
    border-left: 0 !important;
    border-top: 1px solid #d9e0e6 !important;
    text-align: center !important;
  }
}
/* === end POPUP RESPONSIVE CONTRACT === */


/* === 2026-09-28 SMALL LAPTOP: FOOTER RAIL + B2B MODAL ===
   1024–1439px laptops keep desktop navigation, but need a tighter geometry. */
@media (min-width:1024px) {
  /* width + margin-right previously made the footer extend underneath the fixed rail */
  #root#root .lexo-site-footer {
    width:calc(100% - var(--lexo-rail-width, 0px)) !important;
    max-width:calc(100% - var(--lexo-rail-width, 0px)) !important;
    margin-right:var(--lexo-rail-width, 0px) !important;
  }
}

@media (min-width:1024px) and (max-width:1439px) {
  #root#root .lexo-footer-contact {
    gap:clamp(22px,2.6vw,38px) !important;
    padding-left:clamp(28px,3.6vw,48px) !important;
    padding-right:clamp(28px,3.6vw,48px) !important;
  }

  #root#root .lexo-footer-contact-copy {
    flex:1 1 auto !important;
    min-width:0 !important;
    max-width:min(720px,calc(100% - 245px)) !important;
  }

  #root#root .lexo-footer-cta {
    flex:0 0 auto !important;
    width:clamp(210px,18vw,245px) !important;
    min-width:0 !important;
    max-width:245px !important;
    padding:12px 16px !important;
    gap:18px !important;
  }

  html body #root#root .b2b-modal-backdrop {
    padding:12px !important;
  }

  html body #root#root .b2b-modal-panel {
    width:min(calc(100vw - 24px),1200px) !important;
    max-width:1200px !important;
    height:min(calc(100dvh - 24px),760px) !important;
    max-height:calc(100dvh - 24px) !important;
    min-height:0 !important;
  }

  html body #root#root .offer-modal-layout {
    grid-template-columns:minmax(300px,32%) minmax(0,68%) !important;
    height:100% !important;
  }

  html body #root#root .offer-modal-aside {
    min-width:0 !important;
    min-height:0 !important;
    grid-template-rows:minmax(0,1fr) clamp(170px,30vh,220px) !important;
    overflow:hidden !important;
  }

  html body #root#root .offer-modal-aside-content {
    min-height:0 !important;
    padding:24px 26px 18px !important;
    overflow:hidden !important;
  }

  html body #root#root .offer-modal-aside-brand {
    margin-bottom:24px !important;
  }

  html body #root#root .offer-modal-aside-copy h2 {
    margin-bottom:10px !important;
    font-size:clamp(34px,3vw,44px) !important;
    line-height:1 !important;
  }

  html body #root#root .offer-modal-aside-copy > p {
    font-size:12px !important;
    line-height:1.45 !important;
  }

  html body #root#root .offer-modal-benefits {
    margin-top:12px !important;
  }

  html body #root#root .offer-modal-benefits > div {
    padding:7px 0 !important;
  }

  html body #root#root .offer-modal-benefits svg {
    width:34px !important;
    height:34px !important;
    padding:8px !important;
  }

  html body #root#root .offer-modal-benefits b {
    font-size:11px !important;
  }

  html body #root#root .offer-modal-benefits small {
    font-size:10px !important;
  }

  html body #root#root .offer-modal-form-shell {
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
    padding:28px 30px 18px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }

  html body #root#root .offer-modal-form-heading {
    margin-bottom:14px !important;
    padding-right:48px !important;
  }

  html body #root#root .offer-modal-form-kicker {
    margin-bottom:7px !important;
    font-size:8px !important;
  }

  html body #root#root .offer-modal-form-heading h2 {
    margin-bottom:5px !important;
    font-size:clamp(30px,3vw,40px) !important;
    line-height:1.02 !important;
  }

  html body #root#root .offer-modal-form-heading p {
    font-size:12px !important;
    line-height:1.4 !important;
  }

  html body #root#root .offer-modal-form {
    gap:10px 14px !important;
  }

  html body #root#root .offer-modal-row,
  html body #root#root .offer-modal-contact-row {
    gap:14px !important;
  }

  html body #root#root .offer-modal-field-label {
    margin-bottom:5px !important;
    font-size:10px !important;
  }

  html body #root#root .lexo-shell .offer-modal-field .b2b-form-input {
    min-height:44px !important;
    padding:10px 12px !important;
    font-size:12px !important;
  }

  html body #root#root .lexo-shell .offer-modal-message textarea.b2b-form-input {
    min-height:88px !important;
  }

  html body #root#root .offer-modal-file {
    min-height:54px !important;
    padding:8px 10px !important;
  }

  html body #root#root .offer-modal-file > strong {
    min-width:126px !important;
    padding:10px 12px !important;
    font-size:10px !important;
  }

  html body #root#root .offer-modal-consent {
    font-size:10px !important;
    line-height:1.35 !important;
  }

  html body #root#root .offer-modal-actions {
    grid-template-columns:minmax(0,1fr) minmax(210px,240px) !important;
    gap:14px !important;
    padding-top:8px !important;
  }

  html body #root#root .offer-modal-actions .offer-modal-submit {
    min-height:48px !important;
    padding:11px 14px !important;
    font-size:12px !important;
  }

  html body #root#root .b2b-modal-close {
    top:12px !important;
    right:12px !important;
    width:38px !important;
    min-width:38px !important;
    height:38px !important;
    min-height:38px !important;
  }
}

/* Short laptop (e.g. 1280×571 / 1366×600): deliberately simplify vertical content. */
@media (min-width:1024px) and (max-height:720px) {
  html body #root#root .b2b-modal-backdrop {
    padding:8px !important;
  }

  html body #root#root .b2b-modal-panel {
    width:min(calc(100vw - 16px),1220px) !important;
    max-width:1220px !important;
    height:calc(100dvh - 16px) !important;
    max-height:calc(100dvh - 16px) !important;
  }

  html body #root#root .offer-modal-layout {
    grid-template-columns:minmax(280px,33%) minmax(0,67%) !important;
  }

  html body #root#root .offer-modal-aside {
    grid-template-rows:minmax(0,1fr) clamp(160px,35vh,205px) !important;
  }

  html body #root#root .offer-modal-aside-content {
    padding:18px 22px 14px !important;
  }

  html body #root#root .offer-modal-aside-brand {
    margin-bottom:16px !important;
  }

  html body #root#root .offer-modal-aside-brand img {
    width:30px !important;
    height:30px !important;
  }

  html body #root#root .offer-modal-aside-brand b {
    font-size:24px !important;
  }

  html body #root#root .offer-modal-kicker {
    margin-bottom:8px !important;
    font-size:8px !important;
  }

  html body #root#root .offer-modal-aside-copy h2 {
    margin-bottom:8px !important;
    font-size:clamp(30px,2.8vw,38px) !important;
  }

  html body #root#root .offer-modal-aside-copy > p {
    font-size:11px !important;
    line-height:1.38 !important;
  }

  html body #root#root .offer-modal-benefits,
  html body #root#root .offer-modal-aside-footer {
    display:none !important;
  }

  html body #root#root .offer-modal-form-shell {
    padding:18px 26px 12px !important;
  }

  html body #root#root .offer-modal-form-heading {
    margin-bottom:10px !important;
  }

  html body #root#root .offer-modal-form-kicker {
    margin-bottom:5px !important;
  }

  html body #root#root .offer-modal-form-heading h2 {
    font-size:clamp(28px,2.7vw,36px) !important;
  }

  html body #root#root .offer-modal-form-heading p {
    font-size:11px !important;
  }

  html body #root#root .offer-modal-form {
    gap:8px 12px !important;
  }

  html body #root#root .offer-modal-field-label {
    margin-bottom:3px !important;
    font-size:9px !important;
  }

  html body #root#root .lexo-shell .offer-modal-field .b2b-form-input {
    min-height:40px !important;
    padding:8px 10px !important;
    font-size:11px !important;
  }

  html body #root#root .lexo-shell .offer-modal-message textarea.b2b-form-input {
    min-height:72px !important;
  }

  html body #root#root .offer-modal-file {
    min-height:48px !important;
    padding:6px 9px !important;
  }

  html body #root#root .offer-modal-file > strong {
    min-width:118px !important;
    padding:8px 10px !important;
  }

  html body #root#root .offer-modal-actions {
    margin-top:0 !important;
    padding-top:6px !important;
  }

  html body #root#root .offer-modal-actions .offer-modal-submit {
    min-height:44px !important;
  }
}
/* === end SMALL LAPTOP: FOOTER RAIL + B2B MODAL === */

/* === 2026-09-28 HARMONIZED SHORT-LAPTOP B2B COMPOSITION ===
   Small laptops need a composed editorial card, not a vertically split document. */
@media (min-width:1024px) and (max-width:1439px) and (max-height:760px) {
  html body #root#root .b2b-modal-backdrop {
    padding:20px 24px !important;
  }

  html body #root#root .b2b-modal-panel {
    width:min(calc(100vw - 48px),1160px) !important;
    max-width:1160px !important;
    height:min(calc(100dvh - 40px),620px) !important;
    max-height:calc(100dvh - 40px) !important;
    min-height:520px !important;
    filter:drop-shadow(0 22px 52px rgba(8,19,34,.18)) !important;
  }

  html body #root#root .offer-modal-layout {
    grid-template-columns:minmax(320px,31.5%) minmax(0,68.5%) !important;
    height:100% !important;
    border:1px solid #dce2e8 !important;
    background:#fff !important;
  }

  /* Left panel: full-bleed project image with one compact information card. */
  html body #root#root .offer-modal-aside {
    position:relative !important;
    display:block !important;
    min-width:0 !important;
    min-height:0 !important;
    overflow:hidden !important;
    background:#dfe7ec !important;
    border-right:1px solid #dce2e8 !important;
  }

  html body #root#root .offer-modal-aside-photo {
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:38% center !important;
    filter:saturate(.96) contrast(1.01) !important;
  }

  html body #root#root .offer-modal-aside-content {
    position:absolute !important;
    z-index:2 !important;
    left:18px !important;
    right:auto !important;
    bottom:18px !important;
    width:calc(100% - 36px) !important;
    max-width:none !important;
    max-height:calc(100% - 36px) !important;
    display:flex !important;
    flex-direction:column !important;
    padding:18px 20px 17px !important;
    overflow:auto !important;
    background:rgba(255,255,255,.97) !important;
    border:0 !important;
    border-top:3px solid #ffd400 !important;
    box-shadow:0 14px 32px rgba(8,19,34,.10) !important;
    -webkit-backdrop-filter:blur(8px) !important;
    backdrop-filter:blur(8px) !important;
  }

  html body #root#root .offer-modal-aside-content::before {
    display:none !important;
  }

  html body #root#root .offer-modal-aside-brand {
    margin:0 0 12px !important;
    gap:7px !important;
  }

  html body #root#root .offer-modal-aside-brand img {
    width:28px !important;
    height:28px !important;
  }

  html body #root#root .offer-modal-aside-brand b {
    font-size:22px !important;
    line-height:1 !important;
  }

  html body #root#root .offer-modal-kicker {
    margin:0 0 7px !important;
    font-size:8px !important;
    letter-spacing:.17em !important;
  }

  html body #root#root .offer-modal-aside-copy h2 {
    margin:0 0 8px !important;
    max-width:100% !important;
    font-size:clamp(29px,2.65vw,35px) !important;
    line-height:1.01 !important;
    letter-spacing:-.045em !important;
  }

  html body #root#root .offer-modal-aside-copy h2 > small {
    margin-top:5px !important;
    font-size:.54em !important;
  }

  html body #root#root .offer-modal-aside-copy > p {
    max-width:30em !important;
    margin:0 !important;
    font-size:11px !important;
    line-height:1.42 !important;
  }

  html body #root#root .offer-modal-benefits,
  html body #root#root .offer-modal-aside-footer {
    display:none !important;
  }

  /* Right panel: one calm reading width and consistent vertical rhythm. */
  html body #root#root .offer-modal-form-shell {
    display:block !important;
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
    padding:22px 26px 18px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    background:#fff !important;
  }

  html body #root#root .offer-modal-form-heading,
  html body #root#root .offer-modal-form,
  html body #root#root .offer-modal-success {
    width:100% !important;
    max-width:760px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  html body #root#root .offer-modal-form-heading {
    margin-bottom:12px !important;
    padding-right:48px !important;
  }

  html body #root#root .offer-modal-form-heading h2 {
    margin-bottom:4px !important;
    font-size:clamp(31px,2.8vw,37px) !important;
    line-height:1.02 !important;
    letter-spacing:-.045em !important;
  }

  html body #root#root .offer-modal-form-heading p {
    max-width:58em !important;
    font-size:11px !important;
    line-height:1.4 !important;
  }

  html body #root#root .offer-modal-form {
    gap:9px 12px !important;
  }

  html body #root#root .offer-modal-row,
  html body #root#root .offer-modal-contact-row {
    gap:12px !important;
  }

  html body #root#root .offer-modal-field-label {
    margin-bottom:4px !important;
    font-size:9px !important;
  }

  html body #root#root .lexo-shell .offer-modal-field .b2b-form-input {
    min-height:42px !important;
    padding:9px 11px !important;
    font-size:11px !important;
  }

  html body #root#root .lexo-shell .offer-modal-message textarea.b2b-form-input {
    min-height:74px !important;
  }

  html body #root#root .offer-modal-file {
    min-height:50px !important;
    padding:7px 10px !important;
  }

  html body #root#root .offer-modal-file > strong {
    min-width:116px !important;
    padding:9px 10px !important;
  }

  html body #root#root .offer-modal-consent {
    margin-top:0 !important;
    font-size:9.5px !important;
    line-height:1.35 !important;
  }

  html body #root#root .offer-modal-actions {
    grid-template-columns:minmax(0,1fr) 220px !important;
    align-items:center !important;
    gap:18px !important;
    margin-top:0 !important;
    padding-top:7px !important;
  }

  html body #root#root .offer-modal-security {
    justify-self:start !important;
    font-size:10px !important;
  }

  html body #root#root .offer-modal-actions .offer-modal-submit {
    width:220px !important;
    min-height:46px !important;
    padding:10px 14px !important;
  }

  html body #root#root .b2b-modal-close {
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    width:40px !important;
    min-width:40px !important;
    height:40px !important;
    min-height:40px !important;
  }
}
/* === end HARMONIZED SHORT-LAPTOP B2B COMPOSITION === */

/* === 2026-09-28 MOBILE FEATURED PROJECT — clean stacked composition === */
@media (max-width: 767px) {
  html body #root#root .portfolio-page .portfolio-featured {
    display: grid !important;
    grid-template-rows: auto auto auto auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    overflow: visible !important;
    background: #fff !important;
  }

  html body #root#root .portfolio-page .portfolio-featured::after {
    content: none !important;
    display: none !important;
  }

  html body #root#root .portfolio-page .portfolio-featured > img,
  html body #root#root .portfolio-page .portfolio-featured-image {
    grid-row: 1 !important;
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    object-position: center !important;
    translate: none !important;
    scale: 1 !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-caption {
    grid-row: 2 !important;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 16px 54px 16px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid #e3e8ec !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    text-align: left !important;
    animation: none !important;
    transform: none !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-caption::before {
    left: 0 !important;
    top: 15px !important;
    bottom: 15px !important;
    width: 2px !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-caption span {
    grid-column: 1 / -1 !important;
    margin: 0 0 5px !important;
    color: #687587 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-caption strong {
    font-size: clamp(25px, 7vw, 30px) !important;
    line-height: 1 !important;
    letter-spacing: -.045em !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-caption .portfolio-action-arrow {
    position: absolute !important;
    top: 50% !important;
    right: 18px !important;
    bottom: auto !important;
    width: 20px !important;
    height: 20px !important;
    transform: translateY(-50%) !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-top {
    grid-row: 3 !important;
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border-top: 0 !important;
    border-bottom: 1px solid #e3e8ec !important;
    color: #081322 !important;
    background: #fff !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-top > span {
    color: #687587 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-arrows {
    align-self: stretch !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin-right: -14px !important;
    border-left: 1px solid #e3e8ec !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-arrows button {
    display: grid !important;
    place-items: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 !important;
    border: 0 !important;
    border-left: 1px solid #e3e8ec !important;
    border-radius: 0 !important;
    color: #081322 !important;
    background: transparent !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transition: background-color .18s ease, color .18s ease !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-arrows button:first-child {
    border-left: 0 !important;
  }

  @media (hover:hover) and (pointer:fine) {
    html body #root#root .portfolio-page .portfolio-featured-arrows button:hover {
      background: #ffd400 !important;
      color: #081322 !important;
    }
  }

  html body #root#root .portfolio-page .portfolio-dots {
    grid-row: 4 !important;
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: flex !important;
    width: auto !important;
    margin: 0 14px 2px !important;
    padding: 0 0 12px !important;
    gap: 5px !important;
  }

  html body #root#root .portfolio-page .portfolio-dots button {
    min-height: 3px !important;
    height: 3px !important;
    background: #dfe4e8 !important;
  }

  html body #root#root .portfolio-page .portfolio-dots button::after {
    background: #ffd400 !important;
  }
}

@media (max-width: 420px) {
  html body #root#root .portfolio-page .portfolio-featured-caption {
    padding: 14px 50px 14px 16px !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-caption .portfolio-action-arrow {
    right: 16px !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-arrows button {
    width: 44px !important;
    min-width: 44px !important;
    height: 48px !important;
    min-height: 48px !important;
  }
}
/* === end MOBILE FEATURED PROJECT === */

/* === 2026-09-28 MOBILE FEATURED NAV — remove arrow controls === */
@media (max-width: 767px) {
  html body #root#root .portfolio-page .portfolio-featured-arrows {
    display: none !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-top {
    min-height: 0 !important;
    justify-content: flex-end !important;
    padding: 10px 14px 5px !important;
    border-bottom: 0 !important;
    background: #fff !important;
  }

  html body #root#root .portfolio-page .portfolio-featured-top > span {
    color: #758292 !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
  }

  html body #root#root .portfolio-page .portfolio-dots {
    margin: 0 14px !important;
    padding: 0 0 14px !important;
    gap: 4px !important;
  }

  html body #root#root .portfolio-page .portfolio-dots button {
    min-width: 0 !important;
    min-height: 16px !important;
    height: 16px !important;
    padding: 7px 0 6px !important;
    background: transparent !important;
    position: relative !important;
  }

  html body #root#root .portfolio-page .portfolio-dots button::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 7px !important;
    height: 2px !important;
    background: #dfe4e8 !important;
  }

  html body #root#root .portfolio-page .portfolio-dots button.is-active::before {
    background: #ffd400 !important;
  }
}
/* === end MOBILE FEATURED NAV === */



/* === 2026-09-28 MOBILE CALCULATOR FLOW ===
   On phones the calculator must be the first actionable content after the intro.
   Decorative media and live summary stay out of the way until the user configures the project. */
#root#root .calculator-page .plan-config-mobile-heading {
  display: none;
}

@media (max-width:680px) {
  #root#root .calculator-page .plan-hero {
    display: block !important;
  }

  #root#root .calculator-page .plan-hero-copy {
    padding-bottom: 18px !important;
  }

  /* These values are results, not inputs; showing them before the form is confusing on phones. */
  #root#root .calculator-page .plan-hero-copy .plan-overview,
  #root#root .calculator-page .calc-photo {
    display: none !important;
  }

  #root#root .calculator-page .plan-config-shell {
    margin: 0 12px 28px !important;
    border: 1px solid #dbe1e7 !important;
    border-top: 2px solid var(--accent, #ffd000) !important;
    background: #fff !important;
  }

  #root#root .calculator-page .plan-config-mobile-heading {
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    gap: 16px !important;
    padding: 14px 14px 12px !important;
    border-bottom: 1px solid #dbe1e7 !important;
    background: #fff !important;
  }

  #root#root .calculator-page .plan-config-mobile-heading span {
    flex: none !important;
    color: #8a96a3 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    font-variant-numeric: tabular-nums !important;
  }

  #root#root .calculator-page .plan-config-mobile-heading strong {
    min-width: 0 !important;
    color: #0b1520 !important;
    font-size: 15px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
    text-align: right !important;
  }

  #root#root .calculator-page .plan-step-nav {
    border-top: 0 !important;
  }

  #root#root .calculator-page .plan-step-panel {
    border-top: 1px solid #eef1f4 !important;
  }
}
/* === end MOBILE CALCULATOR FLOW === */

/* === 2026-09-28 MOBILE CALCULATOR — PHOTO + CLEAN STEPPER === */
@media (max-width:680px) {
  /* Keep the visual introduction, but do not show live-result stats before inputs. */
  #root#root .calculator-page .plan-hero-copy .plan-overview {
    display:none !important;
  }

  #root#root .calculator-page .calc-photo {
    position:relative !important;
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16 / 10 !important;
    margin:0 !important;
    overflow:hidden !important;
    background:#e7ecef !important;
  }

  #root#root .calculator-page .calc-photo > img {
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:58% center !important;
    translate:none !important;
    scale:1 !important;
    transform:none !important;
  }

  #root#root .calculator-page .plan-config-shell {
    margin:14px 12px 28px !important;
    border:1px solid #dbe1e7 !important;
    border-top:2px solid var(--accent,#ffd000) !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  #root#root .calculator-page .plan-config-mobile-heading {
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    justify-content:initial !important;
    gap:12px !important;
    padding:15px 14px 11px !important;
    border-bottom:0 !important;
    background:#fff !important;
  }

  #root#root .calculator-page .plan-config-mobile-heading strong {
    text-align:left !important;
    font-size:14px !important;
    line-height:1.25 !important;
  }

  /* Five equal step keys. The current title above carries the descriptive label. */
  #root#root .calculator-page .plan-step-nav {
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:6px !important;
    width:100% !important;
    padding:0 14px 14px !important;
    overflow:visible !important;
    border:0 !important;
    border-bottom:1px solid #e5e9ed !important;
    background:#fff !important;
  }

  #root#root .calculator-page .plan-step-nav button,
  #root#root .calculator-page .plan-step-nav button:first-child {
    position:relative !important;
    display:grid !important;
    place-items:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    height:42px !important;
    margin:0 !important;
    padding:0 !important;
    border:1px solid #dfe5ea !important;
    border-radius:0 !important;
    background:#f8fafb !important;
    color:transparent !important;
    font-size:0 !important;
    line-height:1 !important;
    overflow:hidden !important;
    transform:none !important;
  }

  #root#root .calculator-page .plan-step-nav button span {
    display:block !important;
    color:#7a8795 !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
    transform:none !important;
  }

  #root#root .calculator-page .plan-step-nav button.is-active {
    border-color:var(--accent,#ffd000) !important;
    background:var(--accent,#ffd000) !important;
    color:transparent !important;
  }

  #root#root .calculator-page .plan-step-nav button.is-active span {
    color:#081322 !important;
  }

  #root#root .calculator-page .plan-step-nav button.is-active::before,
  #root#root .calculator-page .plan-step-nav button::before {
    content:none !important;
    display:none !important;
  }

  #root#root .calculator-page .plan-step-panel {
    border-top:0 !important;
    padding-top:24px !important;
  }
}
/* === end MOBILE CALCULATOR — PHOTO + CLEAN STEPPER === */

/* === 2026-09-28 MOBILE CALCULATOR — PREMIUM CONFIGURATOR ===
   Mobile is a guided configurator, not a compressed desktop tab bar. */
#root#root .calculator-page .plan-mobile-step-actions {
  display:none;
}

@media (max-width:680px) {
  #root#root .calculator-page .calc-photo {
    aspect-ratio:16 / 9 !important;
  }

  #root#root .calculator-page .plan-config-shell {
    position:relative !important;
    z-index:4 !important;
    scroll-margin-top:72px !important;
    margin:-26px 12px 32px !important;
    border:1px solid #dfe5ea !important;
    border-top:0 !important;
    background:#fff !important;
    overflow:hidden !important;
    box-shadow:0 18px 44px rgba(8,19,34,.09) !important;
  }

  #root#root .calculator-page .plan-config-mobile-heading {
    position:relative !important;
    display:block !important;
    padding:22px 18px 18px !important;
    border:0 !important;
    background:#fff !important;
  }

  #root#root .calculator-page .plan-config-mobile-heading::before {
    content:"";
    position:absolute;
    top:0;
    left:18px;
    width:52px;
    height:3px;
    background:var(--accent,#ffd000);
  }

  #root#root .calculator-page .plan-config-mobile-heading > span {
    display:block !important;
    margin:0 0 8px !important;
    color:#7b8794 !important;
    font-size:9px !important;
    line-height:1.2 !important;
    font-weight:700 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    text-align:left !important;
  }

  #root#root .calculator-page .plan-config-mobile-heading > strong {
    display:block !important;
    max-width:18ch !important;
    margin:0 !important;
    color:#081322 !important;
    font-size:clamp(22px,6.2vw,28px) !important;
    line-height:1.06 !important;
    font-weight:600 !important;
    letter-spacing:-.035em !important;
    text-align:left !important;
  }

  #root#root .calculator-page .plan-config-mobile-progress {
    position:relative !important;
    display:block !important;
    width:100% !important;
    height:2px !important;
    margin-top:18px !important;
    overflow:hidden !important;
    background:#e8ecef !important;
  }

  #root#root .calculator-page .plan-config-mobile-progress > i {
    display:block !important;
    height:100% !important;
    margin:0 !important;
    background:var(--accent,#ffd000) !important;
    transition:width .42s cubic-bezier(.22,.75,.2,1) !important;
  }

  /* Desktop step navigation is deliberately removed on phone. */
  #root#root .calculator-page .plan-step-nav {
    display:none !important;
  }

  #root#root .calculator-page .plan-step-panel {
    padding:24px 18px 22px !important;
    border-top:1px solid #eef1f3 !important;
    background:#fff !important;
  }

  #root#root .calculator-page .calc-panel-intro {
    margin:0 0 22px !important;
  }

  /* The stage heading already names the step; avoid a cheap duplicated title. */
  #root#root .calculator-page .calc-panel-intro > h2 {
    display:none !important;
  }

  #root#root .calculator-page .calc-panel-intro > p {
    margin:0 !important;
    color:#627080 !important;
    font-size:13px !important;
    line-height:1.55 !important;
  }

  #root#root .calculator-page .calc-panel-intro > p + p {
    margin-top:10px !important;
  }

  #root#root .calculator-page .plan-parameter-grid,
  #root#root .calculator-page .plan-scope-grid,
  #root#root .calculator-page .plan-team-layout {
    gap:22px !important;
  }

  #root#root .calculator-page .plan-field-label {
    margin-bottom:8px !important;
    color:#303d49 !important;
    font-size:10px !important;
    line-height:1.25 !important;
    font-weight:700 !important;
    letter-spacing:.07em !important;
    text-transform:uppercase !important;
  }

  #root#root .calculator-page :is(.plan-number-field,.plan-field-group) > small {
    margin-top:8px !important;
    color:#788492 !important;
    font-size:11px !important;
    line-height:1.45 !important;
  }

  #root#root .calculator-page .plan-stepper,
  #root#root .calculator-page .plan-segmented {
    min-height:50px !important;
    height:50px !important;
    border:1px solid #d5dce2 !important;
    border-radius:0 !important;
    background:#fff !important;
  }

  #root#root .calculator-page .plan-stepper-value input {
    font-size:18px !important;
    font-weight:650 !important;
    letter-spacing:-.02em !important;
  }

  #root#root .calculator-page .plan-stepper button {
    width:48px !important;
    min-width:48px !important;
    background:#f7f9fa !important;
  }

  #root#root .calculator-page .plan-segmented button {
    min-height:48px !important;
    padding:8px 9px !important;
    color:#374553 !important;
    background:#fff !important;
    font-size:12px !important;
    font-weight:600 !important;
  }

  #root#root .calculator-page .plan-segmented button.is-active {
    background:var(--accent,#ffd000) !important;
    color:#081322 !important;
  }

  #root#root .calculator-page .plan-predrilling {
    width:100% !important;
    min-height:44px !important;
    margin-top:8px !important;
    padding:10px 0 !important;
    border-top:1px solid #edf0f2 !important;
    color:#43515f !important;
  }

  #root#root .calculator-page .plan-step-panel-heading {
    display:block !important;
    margin-bottom:18px !important;
  }

  #root#root .calculator-page .plan-step-panel-heading .section-eyebrow {
    margin-bottom:8px !important;
    color:#7a8794 !important;
    font-size:9px !important;
    letter-spacing:.13em !important;
  }

  #root#root .calculator-page .plan-step-panel-heading h2 {
    margin:0 !important;
    font-size:22px !important;
    line-height:1.08 !important;
    font-weight:600 !important;
    letter-spacing:-.03em !important;
  }

  #root#root .calculator-page .plan-step-panel-heading > p {
    margin:10px 0 0 !important;
    font-size:12px !important;
    line-height:1.5 !important;
  }

  #root#root .calculator-page .plan-scope-actions {
    margin-top:14px !important;
  }

  #root#root .calculator-page .plan-scope-grid button,
  #root#root .calculator-page .plan-planning-toggle button {
    min-height:58px !important;
    border:1px solid #dfe5ea !important;
    background:#fff !important;
  }

  #root#root .calculator-page .plan-scope-grid button.is-selected,
  #root#root .calculator-page .plan-planning-toggle button.is-active {
    border-color:#c9d0d7 !important;
    border-left:3px solid var(--accent,#ffd000) !important;
    background:#fffdf4 !important;
  }

  #root#root .calculator-page .plan-mobile-step-actions {
    display:grid !important;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr) !important;
    gap:10px !important;
    padding:14px 18px 18px !important;
    border-top:1px solid #e8ecef !important;
    background:#fff !important;
  }

  #root#root .calculator-page .plan-mobile-step-actions:not(:has(.plan-mobile-step-next)) {
    grid-template-columns:minmax(0,1fr) !important;
  }

  #root#root .calculator-page .plan-mobile-step-actions button {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    width:100% !important;
    min-height:48px !important;
    padding:12px 14px !important;
    border-radius:0 !important;
    font-size:12px !important;
    line-height:1.2 !important;
    font-weight:650 !important;
  }

  #root#root .calculator-page .plan-mobile-step-back {
    border:1px solid #d9e0e6 !important;
    background:#fff !important;
    color:#4a5866 !important;
  }

  #root#root .calculator-page .plan-mobile-step-back svg {
    width:17px !important;
    height:17px !important;
    transform:rotate(180deg) !important;
  }

  #root#root .calculator-page .plan-mobile-step-back:disabled {
    opacity:.28 !important;
    cursor:default !important;
  }

  #root#root .calculator-page .plan-mobile-step-next {
    border:1px solid var(--accent,#ffd000) !important;
    background:var(--accent,#ffd000) !important;
    color:#081322 !important;
  }

  #root#root .calculator-page .plan-mobile-step-next svg {
    width:17px !important;
    height:17px !important;
  }

  #root#root .calculator-page .plan-mobile-step-actions:not(:has(.plan-mobile-step-next)) .plan-mobile-step-back {
    max-width:160px !important;
  }
}
/* === end MOBILE CALCULATOR — PREMIUM CONFIGURATOR === */

/* ========================================================================
   LEXO UNIFIED MOTION SYSTEM — 2026-09-28
   Home is the reference. Hero motion runs immediately on route entry via
   useRevealMotion; content below the hero reveals once as it enters viewport.
   ======================================================================== */
:root {
  --lexo-motion-ease: cubic-bezier(.22,.75,.2,1);
  --lexo-motion-rise: 14px;
}

/* One reveal language for every routed page. */
#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) [data-reveal] {
  opacity: 0 !important;
  visibility: visible !important;
  transform: translate3d(0,var(--lexo-motion-rise),0) !important;
  clip-path: none !important;
  transition:
    opacity .64s ease var(--reveal-delay,0ms),
    transform .64s var(--lexo-motion-ease) var(--reveal-delay,0ms) !important;
  will-change: opacity, transform;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) [data-reveal="fade"] {
  transform: none !important;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) [data-reveal="media"] {
  opacity: 0 !important;
  transform: scale(1.018) !important;
  clip-path: inset(0 3% 0 0) !important;
  transition:
    opacity .78s ease var(--reveal-delay,0ms),
    transform .9s var(--lexo-motion-ease) var(--reveal-delay,0ms),
    clip-path .86s var(--lexo-motion-ease) var(--reveal-delay,0ms) !important;
  transform-origin: center center;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) [data-reveal="line"] {
  display: block;
  opacity: 0 !important;
  overflow: visible !important;
  transform: translate3d(0,18px,0) !important;
  clip-path: none !important;
  transition:
    opacity .70s ease var(--reveal-delay,0ms),
    transform .78s var(--lexo-motion-ease) var(--reveal-delay,0ms) !important;
}

#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) [data-reveal].is-visible {
  opacity: 1 !important;
  transform: none !important;
  clip-path: inset(0) !important;
}

/* Once ordinary content has entered, remove the mask boundary so hover/focus
   effects and shadows cannot be clipped. Headline lines keep their mask. */
#root#root :is(
  .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
) [data-reveal].is-visible:not([data-reveal="line"]):not([data-reveal="media"]) {
  clip-path: none !important;
}

/* Hero eyebrow accent lines use the same draw-in rhythm where available. */
#root#root :is(
  .home-page .home-hero-eyebrow,
  .company-page .company-kicker,
  .calculator-page .plan-eyebrow,
  .recruit-page .recruit-eyebrow,
  .inquiry-page .inquiry-eyebrow
)[data-reveal]::before {
  transform: scaleX(0) !important;
  transform-origin: left center !important;
  transition: transform .56s var(--lexo-motion-ease) .10s !important;
}

#root#root :is(
  .home-page .home-hero-eyebrow,
  .company-page .company-kicker,
  .calculator-page .plan-eyebrow,
  .recruit-page .recruit-eyebrow,
  .inquiry-page .inquiry-eyebrow
)[data-reveal].is-visible::before {
  transform: scaleX(1) !important;
}

/* Portfolio uses an inline SVG accent instead of ::before. */
#root#root .portfolio-page .portfolio-hero-eyebrow .portfolio-hero-eyebrow-line {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .56s var(--lexo-motion-ease) .10s;
}
#root#root .portfolio-page .portfolio-hero-eyebrow.is-visible .portfolio-hero-eyebrow-line {
  transform: scaleX(1);
}

/* Route-entry hero sequence must stay active on touch layouts too. The shared
   hook releases these nodes after the initial painted frame, so no title can
   remain permanently hidden as happened with the old mobile override. */
@media (max-width:1023px) {
  #root#root :is(
    .home-page .home-hero,
    .company-page .company-hero,
    .portfolio-page .portfolio-hero,
    .calculator-page .plan-hero,
    .recruit-page .recruit-hero,
    .inquiry-page .inquiry-layout
  ) [data-reveal] {
    visibility: visible !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) [data-reveal],
  #root#root :is(
    .home-page,.company-page,.portfolio-page,.calculator-page,.recruit-page,.inquiry-page
  ) [data-reveal]::before {
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
    animation: none !important;
    transition: none !important;
    will-change: auto !important;
  }
  #root#root .portfolio-page .portfolio-hero-eyebrow .portfolio-hero-eyebrow-line {
    transform: none !important;
    transition: none !important;
  }
}
/* === end LEXO UNIFIED MOTION SYSTEM === */


/* === 2026-09-28 HERO TITLE GLYPH SAFETY ===
   Keep the unified stagger, but never crop headline glyphs with masks. */
#root#root :is(
  .home-page .home-hero h1,
  .company-page .company-hero h1,
  .portfolio-page .portfolio-hero h1,
  .calculator-page .plan-hero h1,
  .recruit-page .recruit-hero h1,
  .inquiry-page .inquiry-copy h1
),
#root#root :is(
  .home-page .home-hero h1,
  .company-page .company-hero h1,
  .portfolio-page .portfolio-hero h1,
  .calculator-page .plan-hero h1,
  .recruit-page .recruit-hero h1,
  .inquiry-page .inquiry-copy h1
) :is(span,strong,em,[data-reveal="line"]) {
  overflow: visible !important;
  clip-path: none !important;
}
/* === end HERO TITLE GLYPH SAFETY === */


/* === 2026-09-28 CALCULATOR HERO COLOR SAFETY ===
   Staggered title lines must not inherit the old all-span accent rule. */
#root#root .calculator-page .plan-hero-copy h1 > span {
  color:#081322 !important;
}
#root#root .calculator-page .plan-hero-copy h1 > :last-child {
  color:#d8a500 !important;
}
/* === end CALCULATOR HERO COLOR SAFETY === */

/* === 2026-09-28 SITE-WIDE ICON + COPY RHYTHM ===
   One optical system for icon/title/description blocks across all routed pages. */
:root {
  --lexo-icon-copy-x: 14px;
  --lexo-icon-copy-y: 4px;
  --lexo-icon-copy-top: 2px;
  --lexo-icon-badge: 40px;
  --lexo-icon-badge-touch: 36px;
}

/* Standard proof/feature rows ------------------------------------------------ */
#root#root .home-page .home-benefits > div,
#root#root .company-page .company-feature {
  align-items: start !important;
  column-gap: var(--lexo-icon-copy-x) !important;
}

#root#root .home-page .home-benefit-icon,
#root#root .company-page .company-feature-icon {
  align-self: start !important;
  margin-top: var(--lexo-icon-copy-top) !important;
}

#root#root .home-page .home-benefits h3,
#root#root .company-page .company-feature strong {
  margin: 0 0 var(--lexo-icon-copy-y) !important;
  line-height: 1.2 !important;
}

#root#root .home-page .home-benefits p,
#root#root .company-page .company-feature p {
  margin: 0 !important;
  line-height: 1.42 !important;
  transform: none !important;
}

/* Home about strengths ------------------------------------------------------ */
#root#root .home-page .home-about-stats > div,
#root#root .home-page .home-about-stats > div:first-child {
  display: grid !important;
  grid-template-columns: 40px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: var(--lexo-icon-copy-x) !important;
  row-gap: var(--lexo-icon-copy-y) !important;
  align-items: start !important;
}
#root#root .home-page .home-about-stats dt { display: contents !important; }
#root#root .home-page .home-about-strength-icon {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  align-self: start !important;
  margin: var(--lexo-icon-copy-top) 0 0 !important;
}
#root#root .home-page .home-about-stats dt > span:not(.home-about-strength-icon) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: start !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
#root#root .home-page .home-about-stats dd {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  line-height: 1.42 !important;
}

/* About hero proof panel ---------------------------------------------------- */
#root#root .company-page .company-float {
  align-items: start !important;
  column-gap: 12px !important;
}
#root#root .company-page .company-float svg {
  align-self: start !important;
  margin-top: var(--lexo-icon-copy-top) !important;
}
#root#root .company-page .company-float b {
  margin: 0 0 3px !important;
  line-height: 1.2 !important;
}
#root#root .company-page .company-float span { line-height: 1.4 !important; }

/* Calculator choice rows --------------------------------------------------- */
#root#root .calculator-page .plan-planning-toggle button {
  align-items: flex-start !important;
  column-gap: var(--lexo-icon-copy-x) !important;
}
#root#root .calculator-page .plan-planning-icon {
  box-sizing: border-box !important;
  width: var(--lexo-icon-badge) !important;
  height: var(--lexo-icon-badge) !important;
  flex: 0 0 var(--lexo-icon-badge) !important;
  margin: 0 !important;
  padding: 9px !important;
  border-radius: 50% !important;
  background: #fff4c9 !important;
  color: #c99700 !important;
  stroke-width: 1.7 !important;
}
#root#root .calculator-page .plan-planning-toggle b {
  display: block !important;
  margin: 0 0 var(--lexo-icon-copy-y) !important;
  line-height: 1.2 !important;
}
#root#root .calculator-page .plan-planning-toggle small {
  display: block !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* Contact rows + office address ------------------------------------------- */
#root#root .inquiry-page .inquiry-details a {
  align-items: flex-start !important;
  column-gap: var(--lexo-icon-copy-x) !important;
}
#root#root .inquiry-page .inquiry-details a > svg,
#root#root .inquiry-page .inquiry-office-address > svg {
  box-sizing: border-box !important;
  width: var(--lexo-icon-badge) !important;
  height: var(--lexo-icon-badge) !important;
  flex: 0 0 var(--lexo-icon-badge) !important;
  margin: 0 !important;
  padding: 9px !important;
  border-radius: 50% !important;
  background: #fff4c9 !important;
  color: #c99700 !important;
  stroke-width: 1.7 !important;
}
#root#root .inquiry-page .inquiry-details b,
#root#root .inquiry-page .inquiry-office-address b {
  margin: 0 0 var(--lexo-icon-copy-y) !important;
  line-height: 1.2 !important;
}
#root#root .inquiry-page .inquiry-details span span,
#root#root .inquiry-page .inquiry-office-address p {
  margin: 0 !important;
  line-height: 1.42 !important;
}
#root#root .inquiry-page .inquiry-office-address {
  grid-template-columns: var(--lexo-icon-badge) minmax(0,1fr) !important;
  align-items: start !important;
  column-gap: var(--lexo-icon-copy-x) !important;
}

/* Numbered process blocks: Realizacje / Kariera / Kontakt ----------------- */
#root#root :is(
  .portfolio-page .portfolio-execution-icon,
  .recruit-page .recruit-process li > svg,
  .inquiry-page .inquiry-followup-grid > li > svg
) {
  box-sizing: border-box !important;
  width: 36px !important;
  height: 36px !important;
  padding: 8px !important;
  border-radius: 50% !important;
  background: #fff4c9 !important;
  color: #c99700 !important;
  stroke-width: 1.7 !important;
}

#root#root .portfolio-page .portfolio-execution-icon,
#root#root .recruit-page .recruit-process li > svg {
  align-self: start !important;
  margin-top: var(--lexo-icon-copy-top) !important;
}

#root#root :is(
  .portfolio-page .portfolio-execution-steps strong,
  .recruit-page .recruit-process h3,
  .inquiry-page .inquiry-followup-grid h3
) {
  line-height: 1.22 !important;
}

#root#root .portfolio-page .portfolio-execution-steps strong {
  margin: 10px 0 var(--lexo-icon-copy-y) !important;
}
#root#root .recruit-page .recruit-process h3,
#root#root .inquiry-page .inquiry-followup-grid h3 {
  margin-bottom: var(--lexo-icon-copy-y) !important;
}
#root#root :is(
  .portfolio-page .portfolio-execution-steps p,
  .recruit-page .recruit-process li p,
  .inquiry-page .inquiry-followup-grid p
) {
  margin-top: 0 !important;
  line-height: 1.42 !important;
}

/* Touch layouts retain the same geometry; only the icon scale gets smaller. */
@media (max-width:1023px) {
  :root {
    --lexo-icon-copy-x: 12px;
    --lexo-icon-copy-y: 3px;
    --lexo-icon-copy-top: 1px;
  }

  #root#root .home-page .home-about-stats > div,
  #root#root .home-page .home-about-stats > div:first-child {
    grid-template-columns: var(--lexo-icon-badge-touch) minmax(0,1fr) !important;
  }
  #root#root .home-page .home-about-strength-icon {
    width: var(--lexo-icon-badge-touch) !important;
    height: var(--lexo-icon-badge-touch) !important;
  }

  #root#root .calculator-page .plan-planning-icon,
  #root#root .inquiry-page .inquiry-details a > svg,
  #root#root .inquiry-page .inquiry-office-address > svg {
    width: var(--lexo-icon-badge-touch) !important;
    height: var(--lexo-icon-badge-touch) !important;
    flex-basis: var(--lexo-icon-badge-touch) !important;
    padding: 8px !important;
  }
  #root#root .inquiry-page .inquiry-office-address {
    grid-template-columns: var(--lexo-icon-badge-touch) minmax(0,1fr) !important;
  }
}

@media (max-width:680px) {
  /* All three process sections use the same mobile row geometry. */
  #root#root .portfolio-page .portfolio-execution-steps li,
  #root#root .portfolio-page .portfolio-execution-steps li:not(:first-child),
  #root#root .portfolio-page .portfolio-execution-steps li:nth-child(3),
  #root#root .recruit-page .recruit-process li,
  #root#root .inquiry-page .inquiry-followup-grid > li,
  #root#root .inquiry-page .inquiry-followup-grid > li:first-child,
  #root#root .inquiry-page .inquiry-followup-grid > li:last-child,
  #root#root .inquiry-page .inquiry-followup-grid > li:nth-child(odd) {
    grid-template-columns: 38px 32px minmax(0,1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 9px !important;
    row-gap: var(--lexo-icon-copy-y) !important;
    align-items: start !important;
  }

  #root#root .portfolio-page .portfolio-execution-steps li {
    grid-template-areas:
      "number icon title"
      "number . copy" !important;
  }

  #root#root :is(
    .portfolio-page .portfolio-execution-icon,
    .recruit-page .recruit-process li > svg,
    .inquiry-page .inquiry-followup-grid > li > svg
  ) {
    width: 30px !important;
    height: 30px !important;
    margin: 0 !important;
    padding: 6px !important;
  }

  #root#root .portfolio-page .portfolio-execution-number,
  #root#root .recruit-page .recruit-step-number,
  #root#root .inquiry-page .inquiry-followup-number {
    align-self: start !important;
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1 !important;
  }

  #root#root .portfolio-page .portfolio-execution-steps strong,
  #root#root .recruit-page .recruit-process h3,
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    margin: 0 0 var(--lexo-icon-copy-y) !important;
    font-size: 13px !important;
    line-height: 1.22 !important;
  }

  #root#root .portfolio-page .portfolio-execution-steps p,
  #root#root .recruit-page .recruit-process li p,
  #root#root .inquiry-page .inquiry-followup-grid p {
    margin: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.4 !important;
  }
}
/* === end SITE-WIDE ICON + COPY RHYTHM === */

/* Final normalization for the three numbered process families. */
#root#root .company-page .company-feature strong,
#root#root .inquiry-page .inquiry-followup-grid h3 {
  min-block-size: 0 !important;
}

#root#root .portfolio-page .portfolio-execution-steps li,
#root#root .portfolio-page .portfolio-execution-steps li:not(:first-child),
#root#root .recruit-page .recruit-process li,
#root#root .inquiry-page .inquiry-followup-grid > li,
#root#root .inquiry-page .inquiry-followup-grid > li:first-child,
#root#root .inquiry-page .inquiry-followup-grid > li:last-child {
  display: grid !important;
  grid-template-columns: auto auto minmax(0,1fr) !important;
  grid-template-areas:
    "number icon ."
    "title title title"
    "copy copy copy" !important;
  column-gap: 14px !important;
  row-gap: 0 !important;
  align-content: start !important;
  align-items: start !important;
}

#root#root .portfolio-page .portfolio-execution-number,
#root#root .recruit-page .recruit-step-number,
#root#root .inquiry-page .inquiry-followup-number {
  grid-area: number !important;
  align-self: center !important;
  margin: 0 !important;
  font-size: 32px !important;
  line-height: 1 !important;
}

#root#root .portfolio-page .portfolio-execution-icon,
#root#root .recruit-page .recruit-process li > svg,
#root#root .inquiry-page .inquiry-followup-grid > li > svg {
  grid-area: icon !important;
  align-self: center !important;
  margin: 0 !important;
}

#root#root .portfolio-page .portfolio-execution-steps strong,
#root#root .recruit-page .recruit-process h3,
#root#root .inquiry-page .inquiry-followup-grid h3 {
  grid-area: title !important;
  margin: 10px 0 var(--lexo-icon-copy-y) !important;
  min-block-size: 0 !important;
}

#root#root .portfolio-page .portfolio-execution-steps p,
#root#root .recruit-page .recruit-process li p,
#root#root .inquiry-page .inquiry-followup-grid p {
  grid-area: copy !important;
  margin: 0 !important;
}

@media (max-width:680px) {
  #root#root .portfolio-page .portfolio-execution-steps li,
  #root#root .portfolio-page .portfolio-execution-steps li:not(:first-child),
  #root#root .portfolio-page .portfolio-execution-steps li:nth-child(3),
  #root#root .recruit-page .recruit-process li,
  #root#root .inquiry-page .inquiry-followup-grid > li,
  #root#root .inquiry-page .inquiry-followup-grid > li:first-child,
  #root#root .inquiry-page .inquiry-followup-grid > li:last-child,
  #root#root .inquiry-page .inquiry-followup-grid > li:nth-child(odd) {
    grid-template-columns: 38px 32px minmax(0,1fr) !important;
    grid-template-areas:
      "number icon title"
      "number . copy" !important;
    column-gap: 9px !important;
    row-gap: var(--lexo-icon-copy-y) !important;
  }

  #root#root .portfolio-page .portfolio-execution-number,
  #root#root .recruit-page .recruit-step-number,
  #root#root .inquiry-page .inquiry-followup-number,
  #root#root .portfolio-page .portfolio-execution-icon,
  #root#root .recruit-page .recruit-process li > svg,
  #root#root .inquiry-page .inquiry-followup-grid > li > svg {
    align-self: start !important;
  }

  #root#root .portfolio-page .portfolio-execution-steps strong,
  #root#root .recruit-page .recruit-process h3,
  #root#root .inquiry-page .inquiry-followup-grid h3 {
    margin: 0 0 var(--lexo-icon-copy-y) !important;
  }
}
/* === end numbered process normalization === */


/* === FINAL mobile polish: Career brand + project popup arrows === */
@media (max-width: 1023px) {
  /* Career used to fix both the row and the logo itself. The row owns positioning site-wide. */
  #root#root .recruit-page .recruit-brand-slot .lexo-brand {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: auto !important;
    transform: none !important;
  }
}

#root#root .project-showcase-footer .project-showcase-footer-arrow {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  flex: 0 0 17px !important;
  stroke-width: 1.65 !important;
}

@media (max-width: 680px) {
  #root#root .project-showcase-footer .project-showcase-footer-arrow {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    flex-basis: 15px !important;
  }
}
/* === end final mobile polish === */
