/* Product layout preserves the source structure, with the company surface and motion conventions. */
.roulaitte-site.roulaitte-site {
  --bg: #020814;
  --panel: #0b1c36;
  --ink: #f4f8ff;
  --blue: #56dfff;
  --muted: #b0bfd4;
  --font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  --radius: var(--ui-radius, 4px);
}
.roulaitte-site.roulaitte-site .container {
  width: var(--shell);
}
.roulaitte-site.roulaitte-site .button,
.roulaitte-site.roulaitte-site .icon-button {
  border-radius: 999px;
}
.roulaitte-site.roulaitte-site .product-return {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 11px;
  color: #b0bfd4;
  border-bottom: 1px solid var(--line);
}
.roulaitte-site.roulaitte-site .product-return a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  color: #bceeff;
}
.roulaitte-site.roulaitte-site .desktop-nav {
  gap: clamp(14px, 2vw, 27px);
}
.roulaitte-site.roulaitte-site .nav-inner {
  gap: 22px;
}
.roulaitte-site.roulaitte-site .product-evo-art {
  min-width: 0;
}
.roulaitte-site.roulaitte-site .product-evo-art .home-hero-motion {
  width: 100%;
  display: block;
}
.roulaitte-site.roulaitte-site .product-evo-art .home-hero-scene img {
  border-radius: 0;
}
/* Source motion is composed and still before enhancement, when offscreen or in a hidden tab. */
.roulaitte-site:not([data-visual-motion='running'])
  :is(.hero-photograph img, .hero-interface, .orbital, .neural-node, .closing-ring) {
  animation-play-state: paused !important;
}
.roulaitte-site.motion-off :is(.home-hero-effects *, .home-hero-caption) {
  animation-play-state: paused !important;
}
.roulaitte-site.roulaitte-site .mobile-menu a[aria-current='page'] {
  color: #8ee9ff;
}
@media (max-width: 1100px) {
  .roulaitte-site.roulaitte-site .desktop-nav {
    display: none;
  }
  .roulaitte-site.roulaitte-site .menu-toggle {
    display: grid;
  }
}
@media (max-width: 560px) {
  .roulaitte-site.roulaitte-site .nav-inner {
    gap: 12px;
  }
  .roulaitte-site.roulaitte-site .product-return {
    font-size: 10px;
  }
  .roulaitte-site.roulaitte-site .product-return span {
    text-align: right;
  }
}
/* No-JavaScript mobile access: the same server-rendered product links remain usable. */
html:not(.js) .roulaitte-site.roulaitte-site .mobile-menu[hidden] {
  display: block !important;
}
html:not(.js) .roulaitte-site.roulaitte-site .menu-toggle,
html:not(.js) .roulaitte-site.roulaitte-site .motion-control {
  display: none;
}
html:has(.roulaitte-site) {
  scroll-padding-top: 128px;
}
.roulaitte-site.motion-off *,
.roulaitte-site.motion-off *::before,
.roulaitte-site.motion-off *::after {
  animation-play-state: paused !important;
}
html:not(.js) .roulaitte-site.roulaitte-site .catalog-panel[hidden] {
  display: block !important;
}
html:not(.js) .roulaitte-site.roulaitte-site .catalog-tabs {
  display: none;
}
.roulaitte-site.roulaitte-site .product-evo-art .home-hero-scene img {
  mask-image:
    linear-gradient(90deg, transparent, #000 17%, #000 82%, transparent),
    linear-gradient(180deg, transparent, #000 19%, #000 76%, transparent),
    radial-gradient(ellipse at 50% 50%, #000 45%, transparent 76%);
  mask-composite: intersect;
}
@media (max-width: 1100px) {
  .roulaitte-site.roulaitte-site .mobile-menu {
    max-height: calc(100dvh - 114px);
    overflow-y: auto;
  }
}
.roulaitte-site:not([data-visual-motion='running']) *,
.roulaitte-site:not([data-visual-motion='running']) *::before,
.roulaitte-site:not([data-visual-motion='running']) *::after,
.roulaitte-site [data-product-motion='paused'],
.roulaitte-site [data-product-motion='paused'] *,
.roulaitte-site [data-product-motion='paused']::before,
.roulaitte-site [data-product-motion='paused'] *::before,
.roulaitte-site [data-product-motion='paused'] *::after {
  animation-play-state: paused !important;
}

/* Product legal/motion controls have no second copyright strip. */
.roulaitte-site.roulaitte-site .product-footer-tools {
  justify-content: flex-end;
}

/* Shared enquiry form, adapted to the product help column. */
.roulaitte-site.roulaitte-site .support-form-panel {
  min-width: 0;
}
.roulaitte-site.roulaitte-site .support-form-panel .contact-form-card {
  margin: 0;
  padding: 28px;
}
.roulaitte-site.roulaitte-site .support-form-panel .status-label {
  font-size: 10px;
  line-height: 1.6;
}
.roulaitte-site.roulaitte-site .support-form-panel .form-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.roulaitte-site.roulaitte-site .support-form-panel h3 {
  font-size: 28px;
}
.roulaitte-site.roulaitte-site .support-form-panel .form-field label {
  margin-bottom: 0;
}
.roulaitte-site.roulaitte-site .support-form-panel .form-consent {
  display: flex;
}
.roulaitte-site.roulaitte-site .support-form-panel .form-consent input {
  width: 18px;
  height: 18px;
  min-height: 0;
  padding: 0;
}
.roulaitte-site.roulaitte-site .support-form-panel .form-honeypot {
  position: absolute;
}
@media (min-width: 981px) {
  .roulaitte-site.roulaitte-site .help-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
    gap: 48px;
    align-items: start;
  }
}
@media (max-width: 980px) {
  .roulaitte-site.roulaitte-site .support-form-panel {
    order: -1;
  }
}
@media (max-width: 740px) {
  .roulaitte-site.roulaitte-site .menu-toggle {
    width: 44px;
    height: 44px;
  }
  .roulaitte-site.roulaitte-site .nav-cta {
    min-height: 44px;
  }
  .roulaitte-site.roulaitte-site .session-demo .segmented button {
    min-height: 44px;
    font-size: 13px;
  }
  .roulaitte-site.roulaitte-site .session-demo .select-label select,
  .roulaitte-site.roulaitte-site .session-demo .demo-bankroll {
    font-size: 16px;
    min-height: 44px;
    width: 100%;
    min-width: 0;
    padding: 9px 8px;
  }
  .roulaitte-site.roulaitte-site .session-demo .demo-controls .button {
    min-height: 44px;
    font-size: 12px;
    padding: 10px 12px;
  }
  .roulaitte-site.roulaitte-site .session-demo .demo-controls .demo-reset,
  .roulaitte-site.roulaitte-site .session-demo .demo-controls .demo-speed {
    min-height: 44px;
    min-width: 44px;
    font-size: 12px;
  }
  .roulaitte-site.roulaitte-site .home-hero-toggle {
    min-height: 44px;
  }
  .roulaitte-site.roulaitte-site .support-form-panel .contact-form-card {
    padding: 22px 18px;
  }
  .roulaitte-site.roulaitte-site
    .support-form-panel
    :is(.form-field input, .form-field textarea, .enquiry-select-trigger) {
    font-size: 16px;
  }
  .roulaitte-site.roulaitte-site .support-form-panel .enquiry-select-options {
    max-height: 240px;
    overflow-y: auto;
  }
  .roulaitte-site.roulaitte-site .catalog-tabs button {
    font-size: 12px;
  }
  .roulaitte-page .product-footer .footer-bottom {
    padding-right: 52px;
  }
}
@media (max-width: 365px) {
  .roulaitte-site.roulaitte-site .nav-inner {
    gap: 8px;
  }
  .roulaitte-site.roulaitte-site .nav-inner .brand {
    font-size: 23px;
    gap: 6px;
  }
  .roulaitte-site.roulaitte-site .nav-inner .brand-mark {
    width: 28px;
    height: 28px;
  }
  .roulaitte-site.roulaitte-site .nav-cta {
    padding-inline: 12px;
    gap: 8px;
    white-space: nowrap;
    font-size: 11px;
  }
  .roulaitte-site.roulaitte-site .nav-cta .icon {
    width: 14px;
  }
}
@media (max-width: 740px) {
  .roulaitte-site.roulaitte-site .dialog-close {
    width: 44px;
    height: 44px;
  }
}
@media (max-width: 365px) {
  .roulaitte-site.roulaitte-site .session-demo[data-demo-mode] .demo-sidebar {
    grid-template-columns: 1fr;
  }
  .roulaitte-site.roulaitte-site .session-demo[data-demo-mode] .demo-sidebar .select-label {
    grid-column: 1/-1;
  }
}
@media (max-width: 740px) {
  .roulaitte-site.roulaitte-site .results-table-wrap {
    overscroll-behavior-inline: contain;
  }
  .roulaitte-site.roulaitte-site .results-table-wrap caption span {
    display: block;
    max-width: calc(100vw - 32px);
    white-space: normal;
  }
  .roulaitte-site.roulaitte-site dialog {
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
  }
}

@media (max-width: 560px) {
  .roulaitte-site.roulaitte-site .support-form-panel .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

/* Tablet forms need a readable column rather than two cramped panels. */
@media (max-width: 1100px) {
  .roulaitte-site.roulaitte-site .help-layout {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px;
    gap: 40px;
  }
  .roulaitte-site.roulaitte-site .support-form-panel {
    order: -1;
  }
  .roulaitte-site.roulaitte-site .menu-toggle {
    width: 44px;
    height: 44px;
  }
}
@media (min-width: 741px) and (max-width: 1100px) {
  .roulaitte-site.roulaitte-site .hero-shade {
    background:
      linear-gradient(
        90deg,
        #03080e 0%,
        rgba(3, 8, 14, 0.95) 25%,
        rgba(3, 8, 14, 0.72) 52%,
        transparent 90%
      ),
      linear-gradient(0deg, #03080e, transparent 30%);
  }
}
.roulaitte-site.roulaitte-site .support-form-panel .cf-turnstile {
  max-width: 100%;
}
.roulaitte-site.roulaitte-site .turnstile-test-note {
  display: block;
  font-size: 11px;
  line-height: 1.7;
  color: #8da7c5;
  margin: -8px 0 16px;
}
/* Form-first reading/tab order on tablets; preserve the desktop FAQ/form arrangement. */
.roulaitte-site.roulaitte-site .help-layout {
  grid-template-areas: 'faq form';
}
.roulaitte-site.roulaitte-site .help-layout > .faq {
  grid-area: faq;
}
.roulaitte-site.roulaitte-site .help-layout > .support-form-panel {
  grid-area: form;
  order: 0;
}
@media (max-width: 1100px) {
  .roulaitte-site.roulaitte-site .help-layout {
    grid-template-areas: 'form' 'faq';
  }
}
