@charset "UTF-8";
/* Self-hosted Google Fonts (Archivo, Lexend), downloaded from fonts.googleapis.com */
/* vietnamese */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 500 700;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url(../fonts/archivo-k3kQo8UDI-1M0wlSfdboLnnA.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 500 700;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url(../fonts/archivo-k3kQo8UDI-1M0wlSfdfoLnnA.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 500 700;
  font-stretch: 100% 125%;
  font-display: swap;
  src: url(../fonts/archivo-k3kQo8UDI-1M0wlSfdnoLg.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: "Lexend";
  font-style: normal;
  font-weight: 200 600;
  font-display: swap;
  src: url(../fonts/lexend-wlpwgwvFAVdoq2_v9KQU4Wc.woff2) format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Lexend";
  font-style: normal;
  font-weight: 200 600;
  font-display: swap;
  src: url(../fonts/lexend-wlpwgwvFAVdoq2_v9aQU4Wc.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Lexend";
  font-style: normal;
  font-weight: 200 600;
  font-display: swap;
  src: url(../fonts/lexend-wlpwgwvFAVdoq2_v-6QU.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ==========================================================================
   Ginalas PUDU: base.css
   Tokens, reset, typography and the small components every page shares.
   Load order on every page: base.css, header.css, then the page stylesheet.

   Page scaffold (every page):
     <body class="page-home">            homepage   (dark body, green links)
     <body class="page-robot">           robot page (white body, ink links)
       <div class="site"> ...header partial, sections, rail, footer... </div>
       <script src="js/header.js" defer></script> ...
     </body>

   Shared classes defined here:
     .site                       page wrapper: Lexend 300, ink text, page background
     .container                  max 1440 px, side padding clamp(20px, 4.5vw, 64px)
     .section                    96 px top and bottom (64 px at <= 760 px)
     .on-dark                    marks a dark area: white focus ring instead of the dark one
     .sr-only                    visually hidden, still read by screen readers
     .plate                      Archivo plate lettering (licence-plate style labels)
     .text-link                  underlined ink link (offset 4 px), green on hover
       --loose                   underline offset 5 px
       --light                   white link on dark areas, mint on hover (offset 5 px)
     .btn                        inline-flex button or link, centred, 14 px gap, 17 px text
       --primary                 Ginalas green, white text, darker green on hover
       --ghost                   white outline on dark, translucent white on hover
       --line                    ink outline, fills ink on hover
                                 (sizes differ per use: set min-height and padding in the page CSS)
     .ph                         amber placeholder chip for copy still to be confirmed: [ ... ]
       --tight                   1px 6px padding
       --nowrap                  never breaks inside
       --clone                   keeps padding and background on every line when it wraps
       --fs12 / --fs13 / --fs14 / --fs15   font sizes used by placeholders inside smaller text
     .motion-btn                 44 px video pause/play button (js/video.js wires it up)
       --soft                    fainter border, used on the robot pages
     .fade-up                    the 8 px rise-and-fade entrance used for swapped content
   ========================================================================== */
:root {
  /* Colour */
  --c-night: #0A120D;
  /* dark sections, header, footer, page body on the homepage */
  --c-ground: #F4F5F1;
  /* light grey sections, homepage page background */
  --c-stone: #E9ECE6;
  /* deeper grey section (finder), hovered wells */
  --c-white: #FFFFFF;
  --c-ink: #141A16;
  /* body text */
  --c-body: #3E4841;
  /* secondary body text */
  --c-muted: #59625B;
  /* labels, captions, inactive tabs */
  --c-control: #7A837C;
  /* unselected chip borders */
  --c-line: #DDE1DA;
  /* hairlines and card borders */
  --c-line-strong: #D5DAD3;
  /* tab rails, table rules */
  --c-line-soft: #E5E8E3;
  /* light rules */
  --c-line-faint: #EEF0EC;
  /* list separators in the mobile sheet */
  --c-chip-line: #C9CFC6;
  /* language chips */
  --c-hover-tint: #F1F4F0;
  /* task card hover */
  --c-green: #00833E;
  /* Ginalas green: primary buttons, accents */
  --c-green-hover: #006B32;
  /* primary hover */
  --c-mint: #B8E6C7;
  /* link hover on dark backgrounds */
  --c-amber: #FFE7A3;
  /* placeholder chip background */
  --c-amber-ink: #5C3A00;
  /* placeholder chip text */
  --c-error: #B3261E;
  /* form errors on light backgrounds */
  --c-error-on-dark: #FFB4AB;
  /* form errors on dark backgrounds */
  --c-white-82: rgba(255,255,255,.82);
  /* body text on dark */
  --c-white-64: rgba(255,255,255,.64);
  /* secondary text on dark */
  --c-white-24: rgba(255,255,255,.24);
  /* input borders on dark */
  --c-white-16: rgba(255,255,255,.16);
  /* hairlines on dark */
  --c-night-60: rgba(10,18,13,.6);
  /* translucent controls over video */
  --c-night-85: rgba(10,18,13,.85);
  /* hovered translucent controls */
  /* Type */
  --font-sans: "Lexend", system-ui, sans-serif;
  --font-plate: "Archivo", "Arial", sans-serif;
  /* Layout */
  --container-max: 1440px;
  --gutter: clamp(20px, 4.5vw, 64px);
  --section-pad: 96px;
}

@media (max-width: 760px) {
  :root {
    --section-pad: 64px;
  }
}
/* --- Reset and page ------------------------------------------------------ */
* {
  box-sizing: border-box;
}

/* The hidden attribute always wins over component display rules (scripts toggle states with it) */
[hidden] {
  display: none !important;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--c-night);
}

body.page-robot {
  background: var(--c-white);
}

.site {
  font-family: var(--font-sans);
  font-weight: 300;
  color: var(--c-ink);
  background: var(--c-white);
}

.page-home .site {
  background: var(--c-ground);
}

/* Links: ink on robot pages; green with a darker hover on the homepage.
   :where() keeps these at plain element specificity, exactly like the source pages. */
a {
  color: var(--c-ink);
}

:where(.page-home) a {
  color: var(--c-green);
}

:where(.page-home) a:hover {
  color: var(--c-green-hover);
}

::selection {
  background: var(--c-green);
  color: var(--c-white);
}

/* In-page anchors land below the sticky header */
section[id] {
  scroll-margin-top: 80px;
}

/* Footnote markers: do not change the line height */
sup {
  font-size: 0.6em;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
  top: -0.62em;
  margin-left: 1px;
  font-weight: 400;
}

input[type=range] {
  accent-color: var(--c-green);
}

/* Focus ring: dark ring with a white halo; inverted inside dark areas */
:focus-visible {
  outline: 3px solid var(--c-night);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--c-white);
}

.on-dark :focus-visible {
  outline: 3px solid var(--c-white);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px var(--c-night);
}

/* --- Layout -------------------------------------------------------------- */
.container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
}

.section {
  padding-top: var(--section-pad);
  padding-bottom: var(--section-pad);
}

/* --- Utilities ----------------------------------------------------------- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.plate {
  font-family: var(--font-plate);
  font-stretch: 118%;
  font-variation-settings: "wdth" 118;
  font-weight: 600;
  letter-spacing: 0.06em;
}

/* --- Links --------------------------------------------------------------- */
.text-link {
  color: var(--c-ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.text-link:hover {
  color: var(--c-green);
}

.text-link--loose {
  text-underline-offset: 5px;
}

.text-link--light {
  color: var(--c-white);
  text-underline-offset: 5px;
}

.text-link--light:hover {
  color: var(--c-mint);
}

/* --- Buttons ------------------------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-family: inherit;
  font-size: 17px;
  text-decoration: none;
  cursor: pointer;
}

.btn--primary {
  border: 0;
  background: var(--c-green);
  color: var(--c-white);
  font-weight: 400;
  transition: background 0.2s ease;
}

.btn--primary:hover {
  background: var(--c-green-hover);
  color: var(--c-white);
}

.btn--ghost {
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: transparent;
  color: var(--c-white);
  font-weight: 300;
}

.btn--ghost:hover {
  background: rgba(255, 255, 255, 0.14);
}

.btn--line {
  border: 1px solid var(--c-ink);
  background: transparent;
  color: var(--c-ink);
  font-weight: 300;
}

.btn--line:hover {
  background: var(--c-ink);
  color: var(--c-white);
}

:where(.page-robot) .btn--line {
  transition: background 0.2s ease, color 0.2s ease;
}

/* --- Placeholder chip ---------------------------------------------------- */
.ph {
  padding: 1px 7px;
  background: var(--c-amber);
  color: var(--c-amber-ink);
  font-weight: 500;
}

.ph--tight {
  padding: 1px 6px;
}

.ph--nowrap {
  white-space: nowrap;
}

.ph--clone {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.ph--fs12 {
  font-size: 12px;
}

.ph--fs13 {
  font-size: 13px;
}

.ph--fs14 {
  font-size: 14px;
}

.ph--fs15 {
  font-size: 15px;
}

/* --- Video pause / play button (behaviour in js/video.js) ---------------- */
.motion-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.6);
  background: var(--c-night-60);
  color: var(--c-white);
  cursor: pointer;
  transition: background 0.2s ease;
}

.motion-btn:hover {
  background: var(--c-night-85);
}

.motion-btn--soft {
  border-color: rgba(255, 255, 255, 0.3);
}

/* --- Entrance animation for swapped content ------------------------------ */
@keyframes fade-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.fade-up {
  animation: fade-up 0.45s ease both;
}

:where(.page-robot) .fade-up {
  animation-timing-function: ease-out;
}

/* --- Reduced motion ------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .fade-up {
    animation: none;
  }
}
/* ==========================================================================
   Ginalas PUDU: header.css
   Port of Header.dc.html: the sticky site header (bar, robot menu panel,
   mobile sheet, mobile CTA bar), the robot pages' related-robots rail and
   the footer. Markup: partials/header.html, partials/rail.html,
   partials/footer.html. Behaviour: js/header.js.

   Blocks
     .site-header     sticky host carrying the configuration data attributes
                      and the state class .is-overlay (transparent bar)
     .robot-menu      desktop robot panel under the bar (built by header.js)
     .robot-group     a titled list of robots (panel and mobile sheet)
     .robot-link      one robot in a list: image well, name, one-line pitch
     .mobile-sheet    full-screen menu under the bar at <= 1180 px (built by header.js)
     .mobile-bar      fixed call + CTA bar at <= 760 px (built by header.js)
     .more-link       underlined text link with an arrow, 44 px tall
     .robot-rail      "Kiti PUDU robotai" section on robot pages
     .robot-tile      one robot in the rail
     .site-footer     footer
   ========================================================================== */
.site-header,
.robot-rail,
.site-footer {
  font-family: var(--font-sans);
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
}

/* --- Sticky host ---------------------------------------------------------
   On the homepage (data-tone="overlay") the host takes no height, so the
   hero starts at the top of the page underneath the transparent bar. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 70;
}

.site-header[data-tone=overlay] {
  height: 0;
}

.site-header__root {
  position: relative;
}

/* Page states set by header.js on <html> */
html.has-sheet-open {
  overflow: hidden;
}

/* the mobile sheet is open: the page behind does not scroll */
html.is-landing {
  scroll-behavior: auto;
}

/* about a second after opening a page at #anchor: land instantly */
/* --- Bar ----------------------------------------------------------------- */
.site-header__bar {
  position: relative;
  color: var(--c-white);
}

.site-header__solid {
  position: absolute;
  inset: 0;
  background: var(--c-night);
  transition: opacity 0.2s ease;
}

.site-header__fade {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 120px;
  background: linear-gradient(180deg, rgba(10, 18, 13, 0.6) 0%, rgba(10, 18, 13, 0) 100%);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.site-header.is-overlay .site-header__solid {
  opacity: 0;
}

.site-header.is-overlay .site-header__fade {
  opacity: 1;
}

.site-header__inner {
  position: relative;
  height: 64px;
  display: flex;
  align-items: stretch;
}

.site-header__home {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
  padding: 0 10px;
  margin: 0 -10px;
  text-decoration: none;
}

.site-header__logo {
  height: 30px;
  width: auto;
  display: block;
}

.site-header__pudu {
  height: 16px;
  width: auto;
  display: block;
}

.site-header__divider {
  width: 1px;
  height: 24px;
  background: rgba(255, 255, 255, 0.32);
}

.site-header__nav {
  display: flex;
  align-items: stretch;
  margin-left: 44px;
}

.site-header__menu {
  display: flex;
  align-items: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-header__menu-item {
  display: flex;
  align-items: stretch;
}

.site-header__link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  color: var(--c-white);
  text-decoration: none;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  cursor: pointer;
  white-space: nowrap;
}

.site-header__link:hover {
  color: var(--c-mint);
}

.site-header__link svg {
  transition: transform 0.2s ease;
}

.site-header__link[aria-expanded=true] {
  box-shadow: inset 0 -3px 0 var(--c-green);
}

.site-header__link[aria-expanded=true] svg {
  transform: rotate(180deg);
}

.site-header__actions {
  margin-left: auto;
  display: flex;
  align-items: stretch;
  gap: 20px;
}

.site-header__phone {
  display: flex;
  align-items: center;
  padding: 0 10px;
  margin: 0 -10px;
  color: var(--c-white);
  text-decoration: none;
  font-size: 15px;
  font-weight: 400;
  white-space: nowrap;
}

.site-header__phone:hover {
  color: var(--c-mint);
}

.site-header__lang {
  align-self: center;
  display: flex;
  border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 13px;
  font-weight: 500;
}

.site-header__lang a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--c-white);
  text-decoration: none;
}

.site-header__lang a[aria-current=page] {
  background: var(--c-white);
  color: var(--c-night);
}

/* CTA minimum width follows the configuration: 200 px by default, 280 px on the
   homepage, 272 px when a stuck label exists (so the label switch does not jump). */
.site-header__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: var(--cta-min, 200px);
  padding: 0 28px;
  background: var(--c-green);
  color: var(--c-white);
  text-decoration: none;
  font-size: 15px;
  font-weight: 400;
  white-space: nowrap;
  transition: background 0.2s ease;
}

.site-header[data-page=home] .site-header__cta {
  --cta-min: 280px ;
}

.site-header[data-cta-label-stuck] .site-header__cta {
  --cta-min: 272px ;
}

.site-header__cta:hover {
  background: var(--c-green-hover);
  color: var(--c-white);
}

.site-header__burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 64px;
  border: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.16);
  background: transparent;
  color: var(--c-white);
  cursor: pointer;
}

/* --- Focus --------------------------------------------------------------- */
.site-header :focus-visible {
  outline: 3px solid var(--c-white);
  outline-offset: -3px;
  box-shadow: none;
}

.site-header__lang a[aria-current=page]:focus-visible {
  outline-color: var(--c-night);
  outline-offset: -6px;
}

.robot-menu :focus-visible,
.mobile-sheet :focus-visible,
.robot-rail :focus-visible {
  outline: 3px solid var(--c-night);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px var(--c-white);
}

/* --- Robot menu panel (desktop) ----------------------------------------- */
@keyframes site-header-drop {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes site-header-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.site-header__scrim {
  position: fixed;
  left: 0;
  right: 0;
  top: 64px;
  bottom: 0;
  background: rgba(10, 18, 13, 0.45);
  animation: site-header-fade 0.16s ease both;
}

.robot-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  max-height: calc(100vh - 64px);
  overflow-y: auto;
  background: var(--c-white);
  color: var(--c-ink);
  border-bottom: 1px solid var(--c-line);
  animation: site-header-drop 0.16s ease both;
}

.robot-menu__cols {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  padding-top: 32px;
  padding-bottom: 32px;
}

.robot-group__title {
  display: block;
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
  color: var(--c-muted);
}

.robot-group__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}

.robot-link {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 -8px;
  padding: 8px;
  color: var(--c-ink);
  text-decoration: none;
}

.robot-link:hover {
  background: var(--c-ground);
}

.robot-link:hover .robot-link__name {
  color: var(--c-green);
}

.robot-link__well {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--c-ground);
  outline: 2px solid transparent;
  outline-offset: -2px;
}

.robot-link:hover .robot-link__well {
  background: var(--c-stone);
}

.robot-link[aria-current=page] .robot-link__well {
  outline-color: var(--c-ink);
}

.robot-link__well img {
  display: block;
  max-width: 84%;
  max-height: 84%;
  object-fit: contain;
}

.robot-link__name {
  display: block;
  font-size: 17px;
  line-height: 1.3;
  font-weight: 400;
}

.robot-link__line {
  display: block;
  margin-top: 2px;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 400;
  color: var(--c-muted);
}

.robot-menu__help {
  background: var(--c-ground);
  border-top: 1px solid var(--c-line);
}

.robot-menu__help-inner {
  min-height: 64px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
  padding-top: 12px;
  padding-bottom: 12px;
  font-size: 15px;
  font-weight: 400;
  color: var(--c-body);
}

.more-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: var(--c-ink);
  font-weight: 400;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}

.more-link:hover {
  color: var(--c-green);
}

/* --- Mobile sheet (<= 1180 px via the burger, <= 760 px also via "Robotai") */
.mobile-sheet {
  position: fixed;
  left: 0;
  right: 0;
  top: 64px;
  bottom: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: var(--c-white);
  color: var(--c-ink);
  animation: site-header-fade 0.16s ease both;
}

.mobile-sheet__inner {
  display: flex;
  flex-direction: column;
  padding-top: 8px;
  padding-bottom: 40px;
}

.mobile-sheet__group {
  padding-top: 20px;
}

.mobile-sheet__group .robot-link {
  margin: 0;
  padding: 8px 0;
  border-bottom: 1px solid var(--c-line-faint);
}

.mobile-sheet__group .robot-link:hover {
  background: transparent;
}

.mobile-sheet__links {
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--c-line);
}

.mobile-sheet__links a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  border-bottom: 1px solid var(--c-line);
  color: var(--c-ink);
  text-decoration: none;
  font-size: 20px;
  font-weight: 300;
}

.mobile-sheet__actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 28px;
}

.mobile-sheet__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 20px;
  background: var(--c-green);
  color: var(--c-white);
  text-decoration: none;
  font-size: 17px;
  font-weight: 400;
}

.mobile-sheet__phone {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 20px;
  border: 1px solid var(--c-ink);
  color: var(--c-ink);
  text-decoration: none;
  font-size: 17px;
  font-weight: 300;
  white-space: nowrap;
}

.mobile-sheet__lang {
  display: flex;
  gap: 8px;
  margin-top: 24px;
  font-size: 15px;
}

.mobile-sheet__lang a {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--c-chip-line);
  color: var(--c-ink);
  text-decoration: none;
}

.mobile-sheet__lang a[aria-current=page] {
  background: var(--c-ink);
  border-color: var(--c-ink);
  color: var(--c-white);
}

/* --- Mobile CTA bar (<= 760 px) ----------------------------------------- */
.mobile-bar {
  display: none;
}

.mobile-bar__call {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: var(--c-white);
}

.mobile-bar__cta {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 16px;
  background: var(--c-green);
  color: var(--c-white);
  text-decoration: none;
  font-size: 16px;
  font-weight: 400;
}

.mobile-bar__call:hover,
.mobile-bar__cta:hover {
  color: var(--c-white);
}

/* --- Breakpoints --------------------------------------------------------- */
@media (max-width: 1300px) {
  .site-header__phone {
    display: none;
  }
}
@media (max-width: 1180px) {
  .site-header__menu-item--extra,
.site-header__lang {
    display: none;
  }

  .site-header__burger {
    display: flex;
  }

  .site-header__nav {
    margin-left: 32px;
  }
}
@media (max-width: 960px) {
  .site-header__cta {
    min-width: 0;
    padding: 0 20px;
  }

  .site-header__cta svg {
    display: none;
  }
}
@media (max-width: 760px) {
  .site-header__inner {
    height: 56px;
  }

  .site-header__logo {
    height: 24px;
  }

  .site-header__pudu {
    height: 14px;
  }

  .site-header__home {
    gap: 12px;
  }

  .site-header__divider {
    height: 20px;
  }

  .site-header__nav {
    margin-left: auto;
  }

  .site-header__actions {
    margin-left: 0;
  }

  .site-header__cta {
    display: none;
  }

  .site-header__link {
    padding: 0 12px;
  }

  .site-header__burger {
    width: 52px;
    border-left: 0;
  }

  .site-header__scrim,
.robot-menu {
    display: none;
  }

  .mobile-sheet {
    top: 56px;
  }

  .mobile-bar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    gap: 8px;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(10, 18, 13, 0.97);
  }
}
/* Small phones: shrink the logo lock-up and the gutters so everything fits on one row */
@media (max-width: 374px) {
  .site-header__logo {
    height: 22px;
  }

  .site-header__pudu {
    height: 13px;
  }

  .site-header__home {
    gap: 8px;
  }

  .site-header__link {
    padding: 0 8px;
  }

  .site-header .container {
    padding-left: 14px;
    padding-right: 14px;
  }
}
@media (max-width: 330px) {
  .site-header__logo {
    height: 18px;
  }

  .site-header__pudu {
    height: 11px;
  }

  .site-header__home {
    gap: 6px;
  }

  .site-header__link {
    padding: 0 6px;
    gap: 4px;
  }

  .site-header__burger {
    width: 44px;
  }

  .site-header .container {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .robot-menu,
.site-header__scrim,
.mobile-sheet {
    animation: none;
  }

  .site-header__solid,
.site-header__fade,
.site-header__link svg,
.robot-tile__img img {
    transition: none;
  }
}
/* --- Related-robots rail (robot pages) ----------------------------------- */
.robot-rail {
  padding: 96px 0;
  background: var(--c-ground);
}

.robot-rail__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 32px;
  margin-bottom: 40px;
}

.robot-rail__title {
  margin: 0;
  font-size: 40px;
  line-height: 1.12;
  font-weight: 300;
  letter-spacing: -0.02em;
  color: var(--c-ink);
}

.robot-rail__grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
}

.robot-tile {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--c-ink);
  text-decoration: none;
}

.robot-tile__img {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  margin-bottom: 14px;
  background: var(--c-white);
  overflow: hidden;
}

/* width/height auto: the HTML width/height attributes only reserve the aspect ratio */
.robot-tile__img img {
  display: block;
  width: auto;
  height: auto;
  max-width: 70%;
  max-height: 66%;
  object-fit: contain;
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.robot-tile:hover .robot-tile__img img {
  transform: translateY(-4px);
}

.robot-tile:hover .robot-tile__name {
  color: var(--c-green);
}

.robot-tile__name {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 400;
}

.robot-tile__line {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--c-body);
}

/* --- Footer -------------------------------------------------------------- */
.site-footer {
  padding: 88px 0 40px;
  background: var(--c-night);
  color: var(--c-white);
}

.site-footer a {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--c-white);
}

.site-footer a[aria-current=page] {
  color: var(--c-white);
  text-decoration: underline;
  text-underline-offset: 4px;
}

.site-footer :focus-visible {
  outline: 3px solid var(--c-white);
  outline-offset: 3px;
  box-shadow: none;
}

.site-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 56px;
}

.site-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) repeat(6, minmax(0, 1fr));
  gap: 32px;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 400;
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.site-footer__logos {
  display: flex;
  align-items: center;
  gap: 16px;
}

.site-footer__logo {
  height: 30px;
  width: auto;
}

.site-footer__pudu {
  height: 17px;
  width: auto;
}

.site-footer__note {
  color: rgba(255, 255, 255, 0.8);
  max-width: 320px;
}

.site-footer__keep {
  white-space: nowrap;
}

.site-footer__col {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.site-footer__col-title {
  margin-bottom: 8px;
}

.site-footer__tel {
  white-space: nowrap;
}

.site-footer__service {
  color: rgba(255, 255, 255, 0.8);
}

.site-footer__bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 12px 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.72);
}

.site-footer__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 22px;
}

@media (max-width: 1180px) {
  .site-footer__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .site-footer__brand {
    grid-column: 1/-1;
  }

  .site-footer__service {
    white-space: nowrap;
  }
}
@media (max-width: 760px) {
  .robot-rail__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
  }

  .robot-tile__name {
    font-size: 17px;
  }

  .robot-tile__line {
    font-size: 14px;
  }

  .robot-rail {
    padding: 64px 0;
  }

  .robot-rail__title {
    font-size: 30px;
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 16px;
  }

  .site-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }

  .site-footer__col--contact {
    grid-column: 1/-1;
  }

  /* room for the fixed mobile CTA bar */
  html:has(.site-header:not([data-hide-bar])) .site-footer {
    padding-bottom: calc(112px + env(safe-area-inset-bottom));
  }
}
body.page-home {
  /* ==========================================================================
     Ginalas PUDU: home.css
     Homepage only (index.html). Loaded after base.css and header.css.
     Desktop first, with the source breakpoints: 980 px (one-column layouts) and
     760 px (phone). Behaviour: js/home.js.

     Blocks, top to bottom
       .section-title / .section-lead   the section h2 and its lead paragraph
       .btn--full-sm                    full-width, spaced-out CTA on phones
       .rise (--2, --3)                 hero entrance animation
       .hero                            full-bleed video hero
       .tasks, .task-card               the "Kokį darbą..." strip over the hero
       .night, .night-panel,
       .night-split, .night-heading,
       .night-time, .night-link,
       .night-facts, .night-stats,
       .report-card                     the night story (22:00 to 06:00)
       .robot-lineup, .lineup-tabs,
       .lineup-tab, .lineup-stage,
       .lineup-robot, .robot-detail,
       .robot-drawer, .pudu-proof       the to-scale robot lineup
       .service, .promise,
       .service-list, .service-item,
       .service-contact                 service
       .purchase, .buy-options,
       .buy-option, .steps, .step       purchase options and steps
       .faq                             questions accordion
       .finder, .finder-form, .chip,
       .finder-area, .finder-check,
       .finder-mobile-match, .finder-model,
       .finder-fields, .field,
       .finder-consent, .form-error,
       .finder-sent, .finder-aside,
       .finder-match                    the finder form and its suggestions
       .footnotes                       numbered sources
     ========================================================================== */
  /* --- Shared section type ------------------------------------------------- */
  /* --- Hero entrance ------------------------------------------------------- */
  /* --- Hero ---------------------------------------------------------------- */
  /* stays white: the page's green a:hover must not reach it */
  /* --- Task strip ---------------------------------------------------------- */
  /* --- Night story --------------------------------------------------------- */
  /* Panel headings: a big clock time above the heading text */
  /* Full-bleed video panels: --start 22:00, --water 02:10, --morning 06:00 */
  /* 23:40: video beside text */
  /* 06:00: sample report card */
  /* --- Robot lineup -------------------------------------------------------- */
  /* Stage. Every robot stands with its nearest wheel on one ground line, var(--stage-base) above the stage bottom:
     84 px plus room for the longest brush that reaches toward the viewer (js/home.js sets it per scale, so the line stays
     put across tabs). Heights are mm x scale (0.25 desktop, 0.16 phone; "Visi robotai" 0.17 and 0.12).
     Ruler lines sit at the ground line + 500, 1000, 1500 (and 2000) mm x scale. */
  /* "Visi robotai": 12 robots incl. BellaBot Pro and MP2000 (1.87 m), so a smaller scale and a 2 m line */
  /* the floor starts at the ground line (its top border is the line) and its tiles run toward the viewer */
  /* One robot. The button is as tall as the robot body (--robot-h, wheel line to top); the cut-out (--robot-ih) is taller
     by the brushes that hang below the line and is pulled down by a negative margin (--robot-mb). */
  /* height mark: only the selected robot shows its height column and value */
  /* floor reflection: a pre-rendered image per robot (assets/media/img/refl-<id>.webp: the body above the wheel line,
     mirrored, faded and softened), shown from the wheel line down at the robot's width; plain image, no masks or filters */
  /* shadows on the floor: a soft cast shadow to the back right, a wide ambient one and a tight contact shadow */
  /* robots rise onto the floor whenever a tab opens (js/home.js re-adds .is-rising), 55 ms apart (--rise-delay) */
  /* plate and passage width sit one shared step below the longest brush of the tab (--label-top) */
  /* hover lifts only the plate: the robot never leaves the ground line */
  /* Detail of the selected robot */
  /* Full data drawer */
  /* PUDU in numbers */
  /* --- Service ------------------------------------------------------------- */
  /* no hover colour, as in the source */
  /* --- Purchase ------------------------------------------------------------ */
  /* --- FAQ ----------------------------------------------------------------- */
  /* --- Finder -------------------------------------------------------------- */
  /* Choice chip: a label around a visually hidden checkbox or radio. .is-on = chosen. */
  /* Phone only: the suggestion line that replaces the aside */
  /* Confirmation after sending */
  /* Suggestions aside (sticky beside the form on desktop) */
  /* --- Footnotes ----------------------------------------------------------- */
  /* --- Reduced motion ------------------------------------------------------ */
  /* --- Breakpoints --------------------------------------------------------- */
}
body.page-home .section-title {
  margin: 0;
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.12;
  font-weight: 300;
  letter-spacing: -0.02em;
}
body.page-home .section-title--balance {
  text-wrap: balance;
}
body.page-home .section-lead {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-body);
}
@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
body.page-home .rise {
  animation: rise 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) both;
}
body.page-home .rise--2 {
  animation-delay: 0.12s;
}
body.page-home .rise--3 {
  animation-delay: 0.24s;
}
body.page-home .hero {
  position: relative;
  min-height: 900px;
  background: var(--c-night);
  color: var(--c-white);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
body.page-home .hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page-home .hero__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 13, 9, 0.84) 0%, rgba(7, 13, 9, 0.5) 32%, rgba(7, 13, 9, 0) 50%);
}
body.page-home .hero__shade {
  position: absolute;
  left: 0;
  right: 0;
}
body.page-home .hero__shade--bottom {
  bottom: 0;
  height: 340px;
  background: linear-gradient(0deg, rgba(7, 13, 9, 0.88) 0%, rgba(7, 13, 9, 0) 100%);
}
body.page-home .hero__shade--top {
  top: 0;
  height: 180px;
  background: linear-gradient(180deg, rgba(7, 13, 9, 0.6) 0%, rgba(7, 13, 9, 0) 100%);
}
body.page-home .hero__inner {
  position: relative;
  flex-grow: 1;
  max-width: var(--container-max);
  width: 100%;
  margin: 0 auto;
  padding: 200px var(--gutter) 200px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 26px;
}
body.page-home .hero__title {
  margin: 0;
  max-width: 640px;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.06;
  font-weight: 300;
  letter-spacing: -0.025em;
  text-wrap: balance;
}
body.page-home .hero__lead {
  margin: 0;
  max-width: 540px;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-white);
}
body.page-home .hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 14px;
  padding-top: 6px;
}
body.page-home .hero__cta-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
body.page-home .hero__cta {
  min-height: 58px;
  padding: 14px 30px;
  line-height: 1.3;
}
body.page-home .hero__note {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  color: var(--c-white-82);
}
body.page-home .hero__night {
  min-height: 58px;
  padding: 14px 28px;
  line-height: 1.3;
}
body.page-home .hero__night:hover {
  color: var(--c-white);
}
body.page-home .hero__motion {
  position: absolute;
  right: var(--gutter);
  bottom: 132px;
}
body.page-home .tasks {
  position: relative;
  z-index: 5;
  max-width: var(--container-max);
  margin: -104px auto 0;
  padding: 0 var(--gutter);
  background: linear-gradient(180deg, rgba(10, 18, 13, 0) 104px, var(--c-night) 104px);
}
body.page-home .tasks__grid {
  display: grid;
  grid-template-columns: 1.05fr repeat(4, minmax(0, 1fr));
  background: var(--c-white);
}
body.page-home .tasks__label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px 30px;
  background: var(--c-night);
  color: var(--c-white);
}
body.page-home .tasks__label-text {
  font-size: 22px;
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
body.page-home .task-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
  min-height: 168px;
  padding: 24px 26px;
  border: 0;
  border-left: 1px solid var(--c-line-soft);
  background: var(--c-white);
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: var(--c-ink);
  overflow: hidden;
  transition: background 0.2s ease;
}
body.page-home .task-card:hover {
  background: var(--c-hover-tint);
}
body.page-home .task-card__img {
  position: absolute;
  top: 18px;
  right: 18px;
  height: 96px;
  width: 50%;
  object-fit: contain;
  object-position: right bottom;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.2, 0.7, 0.2, 1);
}
body.page-home .task-card:hover .task-card__img {
  transform: translateY(-4px);
}
body.page-home .task-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 19px;
  font-weight: 400;
}
body.page-home .task-card__models {
  font-size: 14px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-home .night {
  background: var(--c-night);
  color: var(--c-white);
  margin-top: -80px;
  padding-top: 80px;
}
body.page-home .night__intro {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 96px var(--gutter) 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
}
body.page-home .night__title {
  max-width: 820px;
  text-wrap: balance;
}
body.page-home .night__lead {
  margin: 0;
  max-width: 560px;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.86);
}
body.page-home .night-heading {
  margin: 0;
  font-size: clamp(26px, 2.6vw, 36px);
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: -0.015em;
  text-wrap: balance;
}
body.page-home .night-time {
  display: block;
  margin: 0 0 14px;
  font-size: clamp(52px, 4.4vw, 64px);
  line-height: 1;
  font-weight: 200;
  letter-spacing: -0.03em;
  color: rgba(255, 255, 255, 0.9);
  font-variant-numeric: tabular-nums;
}
body.page-home .night-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  min-height: 44px;
  font-size: 17px;
  font-weight: 400;
}
body.page-home .night-panel {
  position: relative;
  min-height: 780px;
  overflow: hidden;
  display: flex;
}
body.page-home .night-panel--water {
  min-height: 760px;
  align-items: center;
  background: #121212;
}
body.page-home .night-panel--morning {
  align-items: flex-end;
}
body.page-home .night-panel__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page-home .night-panel--water .night-panel__video {
  object-position: 68% 50%;
}
body.page-home .night-panel__scrim {
  position: absolute;
  inset: 0;
}
body.page-home .night-panel--start .night-panel__scrim {
  background: linear-gradient(90deg, rgba(7, 13, 9, 0.74) 0%, rgba(7, 13, 9, 0.5) 38%, rgba(7, 13, 9, 0) 62%);
}
body.page-home .night-panel--water .night-panel__scrim {
  background: linear-gradient(90deg, rgba(14, 14, 14, 0.95) 0%, rgba(14, 14, 14, 0.75) 32%, rgba(14, 14, 14, 0) 58%);
}
body.page-home .night-panel--morning .night-panel__scrim {
  background: linear-gradient(0deg, rgba(7, 13, 9, 0.88) 0%, rgba(7, 13, 9, 0.4) 40%, rgba(7, 13, 9, 0) 64%);
}
body.page-home .night-panel__content {
  position: relative;
  max-width: var(--container-max);
  width: 100%;
  margin: 0 auto;
  padding: 72px var(--gutter);
  display: flex;
  flex-direction: column;
  gap: 20px;
}
body.page-home .night-panel--water .night-panel__content {
  gap: 22px;
}
body.page-home .night-panel--morning .night-panel__content {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}
body.page-home .night-panel__text {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-white);
}
body.page-home .night-panel--start .night-panel__title {
  max-width: 600px;
}
body.page-home .night-panel--start .night-panel__text {
  max-width: 500px;
}
body.page-home .night-panel--water .night-panel__title {
  max-width: 560px;
}
body.page-home .night-panel--water .night-panel__text {
  max-width: 480px;
}
body.page-home .night-panel__story {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 600px;
}
body.page-home .night-panel__story-text {
  margin: 0;
  max-width: 520px;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-white);
}
body.page-home .night-panel__motion {
  position: absolute;
  right: var(--gutter);
  bottom: 28px;
}
body.page-home .night-panel--water .night-panel__motion {
  z-index: 2;
}
body.page-home .night-panel--morning .night-panel__motion {
  top: 28px;
  bottom: auto;
}
body.page-home .night-split {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  background: var(--c-night);
}
body.page-home .night-split__media {
  position: relative;
  min-height: 680px;
  overflow: hidden;
}
body.page-home .night-split__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page-home .night-split__motion {
  position: absolute;
  right: 20px;
  bottom: 20px;
}
body.page-home .night-split__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  padding: 72px clamp(24px, 5vw, 88px);
}
body.page-home .night-split__text {
  margin: 0;
  max-width: 460px;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.88);
}
body.page-home .night-facts {
  display: flex;
  flex-direction: column;
  margin-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}
body.page-home .night-facts__row {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  font-size: 16px;
  font-weight: 400;
}
body.page-home .night-facts__key {
  color: rgba(255, 255, 255, 0.78);
}
body.page-home .night-facts__keep {
  white-space: nowrap;
}
body.page-home .night-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 44px;
  margin-top: 8px;
}
body.page-home .night-stats__item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.page-home .night-stats__num {
  font-size: 44px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
body.page-home .night-stats__label {
  font-size: 15px;
  font-weight: 400;
  color: var(--c-white-82);
}
body.page-home .report-card {
  width: 340px;
  max-width: 100%;
  background: var(--c-white);
  color: var(--c-ink);
}
body.page-home .report-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--c-line-soft);
}
body.page-home .report-card__status {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 500;
}
body.page-home .report-card__dot {
  width: 10px;
  height: 10px;
  background: var(--c-green);
}
body.page-home .report-card__tag {
  font-size: 13px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-home .report-card__rows {
  display: flex;
  flex-direction: column;
  padding: 6px 20px 14px;
  font-size: 15px;
  font-weight: 400;
}
body.page-home .report-card__row {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  border-bottom: 1px solid var(--c-line-faint);
}
body.page-home .report-card__row:last-child {
  border-bottom: 0;
}
body.page-home .report-card__key {
  color: var(--c-muted);
}
body.page-home .report-card__keep {
  white-space: nowrap;
}
body.page-home .robot-lineup {
  background: var(--c-ground);
}
body.page-home .robot-lineup__inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
body.page-home .robot-lineup__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
}
body.page-home .robot-lineup__intro {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 640px;
}
body.page-home .lineup-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  border-bottom: 1px solid var(--c-line-strong);
}
body.page-home .lineup-tab {
  min-height: 52px;
  padding: 0 18px;
  border: 0;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 17px;
  font-weight: 300;
  color: var(--c-muted);
}
body.page-home .lineup-tab[aria-selected=true] {
  border-bottom-color: var(--c-green);
  font-weight: 400;
  color: var(--c-ink);
}
body.page-home .lineup-tab:hover {
  color: var(--c-ink);
}
body.page-home .robot-lineup__panel {
  display: flex;
  flex-direction: column;
  background: var(--c-white);
}
body.page-home .lineup-stage {
  position: relative;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-padding: 0 24px;
  /* studio backdrop: the wall lightens toward the floor, where a glow (.lineup-stage__horizon) blends it into the floor plane */
  background: linear-gradient(180deg, #E6E9E3 0%, #F0F2ED 60%, #F7F8F5 100%);
}
body.page-home .lineup-stage.has-more {
  -webkit-mask-image: linear-gradient(90deg, #000 82%, transparent);
  mask-image: linear-gradient(90deg, #000 82%, transparent);
}
body.page-home .lineup-stage__canvas {
  position: relative;
  min-width: var(--stage-min, 1180px);
  height: calc(var(--stage-base, 84px) + 396px);
}
body.page-home .lineup-stage.is-compact .lineup-stage__canvas {
  height: calc(var(--stage-base, 84px) + 270px);
}
body.page-home .lineup-stage__rule {
  position: absolute;
  left: 24px;
  right: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  pointer-events: none;
}
body.page-home .lineup-stage__rule--half {
  bottom: calc(var(--stage-base, 84px) + 125px);
}
body.page-home .lineup-stage__rule--one {
  bottom: calc(var(--stage-base, 84px) + 250px);
}
body.page-home .lineup-stage__rule--one-half {
  bottom: calc(var(--stage-base, 84px) + 375px);
}
body.page-home .lineup-stage.is-compact .lineup-stage__rule--half {
  bottom: calc(var(--stage-base, 84px) + 80px);
}
body.page-home .lineup-stage.is-compact .lineup-stage__rule--one {
  bottom: calc(var(--stage-base, 84px) + 160px);
}
body.page-home .lineup-stage.is-compact .lineup-stage__rule--one-half {
  bottom: calc(var(--stage-base, 84px) + 240px);
}
body.page-home .lineup-stage__rule--two {
  display: none;
}
body.page-home .lineup-stage.is-all .lineup-stage__canvas {
  height: calc(var(--stage-base, 84px) + 370px);
}
body.page-home .lineup-stage.is-all .lineup-stage__rule--two {
  display: flex;
  bottom: calc(var(--stage-base, 84px) + 340px);
}
body.page-home .lineup-stage.is-all .lineup-stage__rule--half {
  bottom: calc(var(--stage-base, 84px) + 85px);
}
body.page-home .lineup-stage.is-all .lineup-stage__rule--one {
  bottom: calc(var(--stage-base, 84px) + 170px);
}
body.page-home .lineup-stage.is-all .lineup-stage__rule--one-half {
  bottom: calc(var(--stage-base, 84px) + 255px);
}
body.page-home .lineup-stage.is-all.is-compact .lineup-stage__canvas {
  height: calc(var(--stage-base, 84px) + 270px);
}
body.page-home .lineup-stage.is-all.is-compact .lineup-stage__rule--two {
  bottom: calc(var(--stage-base, 84px) + 240px);
}
body.page-home .lineup-stage.is-all.is-compact .lineup-stage__rule--half {
  bottom: calc(var(--stage-base, 84px) + 60px);
}
body.page-home .lineup-stage.is-all.is-compact .lineup-stage__rule--one {
  bottom: calc(var(--stage-base, 84px) + 120px);
}
body.page-home .lineup-stage.is-all.is-compact .lineup-stage__rule--one-half {
  bottom: calc(var(--stage-base, 84px) + 180px);
}
body.page-home .lineup-stage__rule-label {
  width: 44px;
  font-size: 13px;
  font-weight: 400;
  color: var(--c-muted);
  text-align: right;
}
body.page-home .lineup-stage__rule-line {
  flex-grow: 1;
  height: 0;
  border-top: 1px dashed rgba(20, 26, 22, 0.2);
}
body.page-home .lineup-stage__floor {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: var(--stage-base, 84px);
  overflow: hidden;
  background: linear-gradient(180deg, #F5F6F2 0%, #EBEEE7 40%, #E0E4DC 100%);
  border-top: 1px solid rgba(20, 26, 22, 0.16);
  pointer-events: none;
}
body.page-home .lineup-stage__floor::before {
  content: "";
  position: absolute;
  left: -30%;
  right: -30%;
  top: 0;
  height: 260px;
  transform: perspective(220px) rotateX(62deg);
  transform-origin: 50% 0;
  background-image: repeating-linear-gradient(90deg, rgba(20, 26, 22, 0.075) 0 1px, transparent 1px 72px), repeating-linear-gradient(180deg, rgba(20, 26, 22, 0.06) 0 1px, transparent 1px 36px);
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 75%);
  mask-image: linear-gradient(180deg, #000 0%, transparent 75%);
}
body.page-home .lineup-stage__horizon {
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--stage-base, 84px);
  height: 96px;
  background: linear-gradient(0deg, rgba(247, 248, 245, 0.92) 0%, rgba(247, 248, 245, 0) 100%);
  pointer-events: none;
}
body.page-home .lineup-stage__row {
  position: absolute;
  left: 110px;
  right: 56px;
  bottom: var(--stage-base, 84px);
  display: flex;
  align-items: flex-end;
  justify-content: space-evenly;
  gap: 28px;
}
body.page-home .lineup-stage.is-compact .lineup-stage__row {
  left: 76px;
  right: 40px;
  gap: 40px;
}
body.page-home .lineup-robot {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  scroll-snap-align: center;
}
body.page-home .lineup-robot__col {
  position: absolute;
  left: -8px;
  right: -8px;
  bottom: 0;
  height: var(--robot-h);
  border-top: 2px solid transparent;
  pointer-events: none;
}
body.page-home .lineup-robot[aria-pressed=true] .lineup-robot__col {
  border-top-color: var(--c-green);
  background: linear-gradient(180deg, rgba(0, 131, 62, 0.08) 0%, rgba(20, 26, 22, 0) 85%);
}
body.page-home .lineup-robot__height {
  position: absolute;
  left: 50%;
  bottom: calc(var(--robot-h) + 8px);
  transform: translateX(-50%);
  font-size: 13px;
  line-height: 1;
  font-weight: 500;
  color: var(--c-green);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
body.page-home .lineup-robot__reflection {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: var(--refl-h);
  overflow: hidden;
  pointer-events: none;
}
body.page-home .lineup-robot__reflection-img {
  display: block;
  width: 100%;
  height: auto;
}
body.page-home .lineup-robot__shadow {
  position: absolute;
  bottom: 0;
  pointer-events: none;
}
body.page-home .lineup-robot__shadow--cast {
  left: 28%;
  right: -38%;
  aspect-ratio: 5/1;
  translate: 0 18%;
  background: radial-gradient(ellipse at 35% 55%, rgba(20, 26, 22, 0.16) 0%, rgba(20, 26, 22, 0.07) 40%, rgba(20, 26, 22, 0) 70%);
}
body.page-home .lineup-robot__shadow--wide {
  left: -6%;
  right: -6%;
  aspect-ratio: 4/1;
  translate: 0 30%;
  background: radial-gradient(ellipse at center, rgba(20, 26, 22, 0.24) 0%, rgba(20, 26, 22, 0.1) 42%, rgba(20, 26, 22, 0) 70%);
}
body.page-home .lineup-robot__shadow--contact {
  left: 9%;
  right: 9%;
  aspect-ratio: 9/1;
  translate: 0 32%;
  background: radial-gradient(ellipse at center, rgba(20, 26, 22, 0.58) 0%, rgba(20, 26, 22, 0.26) 40%, rgba(20, 26, 22, 0) 72%);
}
body.page-home .lineup-robot__img {
  position: relative;
  display: block;
  height: var(--robot-ih);
  margin-bottom: var(--robot-mb);
  width: auto;
  filter: saturate(0.94) contrast(0.97);
}
@keyframes lineup-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@keyframes lineup-spread {
  from {
    opacity: 0;
    transform: scaleX(0.55);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
body.page-home .lineup-robot.is-rising .lineup-robot__img {
  animation: lineup-rise 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: var(--rise-delay, 0ms);
}
body.page-home .lineup-robot.is-rising .lineup-robot__shadow,
body.page-home .lineup-robot.is-rising .lineup-robot__reflection {
  animation: lineup-spread 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) both;
  animation-delay: var(--rise-delay, 0ms);
}
body.page-home .lineup-robot__caption {
  position: absolute;
  top: calc(100% + var(--label-top, 14px));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
body.page-home .lineup-robot__plate {
  padding: 7px 12px;
  font-size: 13px;
  background: var(--c-white);
  color: var(--c-green);
  border: 1.5px solid var(--c-green);
  transition: transform 0.3s ease;
}
body.page-home .lineup-robot:hover .lineup-robot__plate {
  transform: translateY(-3px);
}
body.page-home .lineup-robot[aria-pressed=true] .lineup-robot__plate {
  background: var(--c-green);
  color: var(--c-white);
}
body.page-home .lineup-robot__fit {
  font-size: 13px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-home .robot-detail {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}
body.page-home .robot-detail__media {
  position: relative;
  min-height: 440px;
  background: var(--c-night);
  overflow: hidden;
}
body.page-home .robot-detail__video,
body.page-home .robot-detail__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page-home .robot-detail__motion {
  position: absolute;
  right: 20px;
  bottom: 20px;
}
body.page-home .robot-detail__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  padding: 44px clamp(24px, 3.4vw, 52px);
}
body.page-home .robot-detail__head {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.page-home .robot-detail__name {
  margin: 0;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: -0.015em;
}
body.page-home .robot-detail__desc {
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .robot-detail__specs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 20px 0;
  border-top: 1px solid var(--c-line-soft);
  border-bottom: 1px solid var(--c-line-soft);
}
body.page-home .robot-detail__spec {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.page-home .robot-detail__spec-value {
  font-size: 26px;
  line-height: 1.05;
  font-weight: 300;
  letter-spacing: -0.02em;
  white-space: nowrap;
}
body.page-home .robot-detail__spec-label {
  font-size: 13px;
  line-height: 1.4;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-home .robot-detail__fits {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .robot-detail__fits-label {
  font-weight: 500;
  color: var(--c-ink);
}
body.page-home .robot-detail__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 24px;
}
body.page-home .robot-detail__ask {
  gap: 12px;
  min-height: 52px;
  padding: 12px 24px;
  line-height: 1.3;
  font-size: 16px;
}
body.page-home .robot-detail__toggle,
body.page-home .robot-detail__page,
body.page-home .robot-drawer__page {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 16px;
  font-weight: 400;
}
body.page-home .robot-detail__toggle {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
}
body.page-home .robot-detail__toggle svg {
  transform: rotate(0deg);
}
body.page-home .robot-detail__toggle[aria-expanded=true] svg {
  transform: rotate(180deg);
}
body.page-home .robot-drawer {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 36px clamp(24px, 3.4vw, 52px) 40px;
  border-top: 1px solid var(--c-line-soft);
}
body.page-home .robot-drawer__title {
  font-size: 22px;
  font-weight: 300;
}
body.page-home .robot-drawer__table {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 40px;
  border-top: 1px solid var(--c-ink);
}
body.page-home .robot-drawer__row {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid var(--c-line);
  font-size: 15px;
  font-weight: 400;
}
body.page-home .robot-drawer__key {
  color: var(--c-muted);
}
body.page-home .robot-drawer__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 24px;
}
body.page-home .robot-drawer__note {
  font-size: 15px;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .pudu-proof {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  gap: 32px 56px;
  align-items: center;
  padding: 36px 0 0;
  border-top: 1px solid var(--c-line-strong);
}
body.page-home .pudu-proof__stats {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px 40px;
}
body.page-home .pudu-proof__logo {
  height: 22px;
  width: auto;
}
body.page-home .pudu-proof__stat {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
body.page-home .pudu-proof__num {
  font-size: 44px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: -0.03em;
}
body.page-home .pudu-proof__num--keep {
  white-space: nowrap;
}
body.page-home .pudu-proof__label {
  font-size: 14px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-home .pudu-proof__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .service {
  background: var(--c-green);
  color: var(--c-white);
}
body.page-home .service__inner {
  display: flex;
  flex-direction: column;
  gap: 56px;
}
body.page-home .service__top {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(32px, 5vw, 88px);
  align-items: center;
}
body.page-home .service__intro {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
body.page-home .service__logo {
  height: 30px;
  width: auto;
  align-self: flex-start;
}
body.page-home .service__text {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-white);
}
body.page-home .service__media {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--c-night);
}
body.page-home .service__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.page-home .service__motion {
  position: absolute;
  right: 18px;
  bottom: 14px;
}
body.page-home .promise {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.45);
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
}
body.page-home .promise__item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 34px 28px 34px 0;
}
body.page-home .promise__value {
  align-self: flex-start;
  padding: 2px 12px;
  background: var(--c-amber);
  color: var(--c-amber-ink);
  font-size: 40px;
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.02em;
}
body.page-home .promise__label {
  font-size: 17px;
  font-weight: 400;
  color: var(--c-white);
}
body.page-home .service-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr));
  gap: 32px 0;
}
body.page-home .service-item {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 4px 28px 8px 0;
}
body.page-home .service-item__bar {
  width: 32px;
  height: 6px;
  background: var(--c-white);
}
body.page-home .service-item__title {
  font-size: 20px;
  font-weight: 400;
  line-height: 1.25;
}
body.page-home .service-item__text {
  font-size: 15px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-white);
}
body.page-home .service-contact {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
  background: var(--c-white);
  color: var(--c-ink);
}
body.page-home .service-contact__col {
  display: flex;
  flex-direction: column;
  padding: 26px 32px;
}
body.page-home .service-contact__col--call {
  gap: 4px;
  border-right: 1px solid var(--c-line-soft);
}
body.page-home .service-contact__col--hours {
  gap: 8px;
}
body.page-home .service-contact__phone {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 26px;
  font-weight: 300;
  color: var(--c-ink);
  text-decoration: none;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
body.page-home .service-contact__phone:hover {
  color: var(--c-ink);
}
body.page-home .service-contact__mail {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  align-self: flex-start;
  font-size: 16px;
  font-weight: 400;
}
body.page-home .service-contact__label {
  font-size: 14px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-home .service-contact__hours {
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
}
body.page-home .purchase {
  background: var(--c-ground);
}
body.page-home .purchase__inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
body.page-home .purchase__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 720px;
}
body.page-home .buy-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px;
  background: var(--c-line-strong);
  border: 2px solid var(--c-line-strong);
}
body.page-home .buy-option {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 36px 32px 32px;
  background: var(--c-white);
}
body.page-home .buy-option__title {
  font-size: 28px;
  line-height: 1.15;
  font-weight: 300;
  letter-spacing: -0.015em;
}
body.page-home .buy-option__price {
  align-self: flex-start;
  padding: 2px 10px;
  background: var(--c-amber);
  color: var(--c-amber-ink);
  font-size: 22px;
  line-height: 1.3;
  font-weight: 400;
}
body.page-home .buy-option__text {
  margin: 0;
  flex-grow: 1;
  font-size: 17px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .buy-option__cta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-height: 56px;
  padding: 14px 20px;
  font-size: 16px;
  font-weight: 400;
}
body.page-home .steps {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-top: 12px;
}
body.page-home .steps__title {
  margin: 0;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 300;
  letter-spacing: -0.01em;
}
body.page-home .steps__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
}
body.page-home .step {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 26px 24px 0 0;
  border-top: 2px solid var(--c-line-strong);
}
body.page-home .step__dot {
  position: absolute;
  top: -7px;
  left: 0;
  width: 12px;
  height: 12px;
  background: var(--c-ink);
}
body.page-home .step__title {
  font-size: 18px;
  font-weight: 400;
}
body.page-home .step__text {
  font-size: 15px;
  line-height: 1.55;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .faq {
  background: var(--c-white);
}
body.page-home .faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: clamp(32px, 6vw, 110px);
}
body.page-home .faq__intro {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
body.page-home .faq__tel {
  white-space: nowrap;
}
body.page-home .faq__list {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--c-chip-line);
}
body.page-home .faq__item {
  border-bottom: 1px solid var(--c-chip-line);
}
body.page-home .faq__heading {
  margin: 0;
  font: inherit;
}
body.page-home .faq__button {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 72px;
  padding: 22px 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
  color: var(--c-ink);
}
body.page-home .faq__button:hover {
  color: var(--c-green);
}
body.page-home .faq__icon {
  flex-shrink: 0;
  transform: rotate(0deg);
  transition: transform 0.25s ease;
}
body.page-home .faq__button[aria-expanded=true] .faq__icon {
  transform: rotate(180deg);
}
body.page-home .faq__answer {
  margin: 0;
  max-width: 720px;
  padding: 0 56px 28px 0;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .finder {
  background: var(--c-stone);
}
body.page-home .finder__inner {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
body.page-home .finder__head {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 720px;
}
body.page-home .finder__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 4fr);
  gap: 0;
  align-items: start;
}
body.page-home .finder-form {
  display: flex;
  flex-direction: column;
  background: var(--c-white);
}
body.page-home .finder-form[hidden] {
  display: none;
}
body.page-home .finder-form__group {
  margin: 0;
  padding: 34px clamp(22px, 3vw, 40px);
  border: 0;
  border-bottom: 1px solid var(--c-line-soft);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
body.page-home .finder-form__legend {
  float: left;
  padding: 0;
  font-size: 20px;
  font-weight: 400;
}
body.page-home .finder-form__legend-hint {
  font-size: 15px;
  color: var(--c-muted);
}
body.page-home .finder-form__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
body.page-home .finder-form__pay {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr));
  gap: 10px;
}
body.page-home .chip {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid var(--c-control);
  background: var(--c-white);
  color: var(--c-ink);
  cursor: pointer;
  font-size: 16px;
  font-weight: 400;
  transition: border-color 0.15s ease;
}
body.page-home .chip--pay {
  display: flex;
  justify-content: center;
  min-height: 52px;
  padding: 8px 16px;
  text-align: center;
}
body.page-home .chip.is-on {
  border-color: var(--c-ink);
  background: var(--c-ink);
  color: var(--c-white);
}
body.page-home .chip:hover {
  border-color: var(--c-ink);
}
body.page-home .chip:has(input:focus-visible) {
  outline: 3px solid var(--c-night);
  outline-offset: 3px;
}
body.page-home .form-error {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  color: var(--c-error);
}
body.page-home .finder-area {
  padding: 34px clamp(22px, 3vw, 40px);
  border-bottom: 1px solid var(--c-line-soft);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
body.page-home .finder-area__top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
body.page-home .finder-area__label {
  font-size: 20px;
  font-weight: 400;
}
body.page-home .finder-area__field {
  display: flex;
  align-items: center;
  border: 1px solid var(--c-control);
  background: var(--c-white);
}
body.page-home .finder-area__input {
  width: 150px;
  height: 52px;
  padding: 0 14px;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 22px;
  font-weight: 300;
  color: var(--c-ink);
}
body.page-home .finder-area__unit {
  padding: 0 16px 0 4px;
  font-size: 18px;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .finder-area__range {
  width: 100%;
  height: 28px;
  margin: 0;
}
body.page-home .finder-area__scale {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-home .finder-check {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  font-size: 16px;
  font-weight: 400;
  color: var(--c-ink);
  cursor: pointer;
}
body.page-home .finder-check__box {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--c-green);
}
body.page-home .finder-form__contact {
  padding: 34px clamp(22px, 3vw, 40px) 40px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
body.page-home .finder-form__subtitle {
  font-size: 20px;
  font-weight: 400;
}
body.page-home .finder-form__hint {
  margin-top: -6px;
  font-size: 14px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-home .finder-mobile-match {
  display: none;
  flex-direction: column;
  gap: 8px;
  padding: 18px 20px;
  background: var(--c-night);
  color: var(--c-white);
}
body.page-home .finder-mobile-match__label {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.8);
}
body.page-home .finder-mobile-match__names {
  font-size: 19px;
  font-weight: 400;
}
body.page-home .finder-model {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 16px;
  background: #EEF5F0;
  font-size: 15px;
  font-weight: 400;
}
body.page-home .finder-model__name {
  font-weight: 500;
}
body.page-home .finder-model__remove {
  min-height: 44px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  color: var(--c-green-hover);
  text-decoration: underline;
}
body.page-home .finder-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
body.page-home .field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .field__input {
  height: 52px;
  padding: 0 16px;
  border: 1px solid var(--c-control);
  background: var(--c-white);
  font-family: inherit;
  font-size: 16px;
  color: var(--c-ink);
}
body.page-home .field__input--area {
  height: auto;
  padding: 14px 16px;
  resize: vertical;
}
body.page-home .finder-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .finder-consent__box {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--c-green);
  flex-shrink: 0;
}
body.page-home .finder-form__submit-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px 24px;
  padding-top: 6px;
}
body.page-home .finder-form__submit {
  min-height: 58px;
  padding: 14px 30px;
  line-height: 1.3;
}
body.page-home .finder-form__submit-note {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .finder-sent {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 56px 48px;
  background: var(--c-white);
  min-height: 520px;
}
body.page-home .finder-sent__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  background: var(--c-green);
}
body.page-home .finder-sent__title {
  margin: 0;
  font-size: 40px;
  line-height: 1.1;
  font-weight: 300;
  letter-spacing: -0.02em;
}
body.page-home .finder-sent__text {
  margin: 0;
  max-width: 520px;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-body);
}
body.page-home .finder-sent__tel {
  white-space: nowrap;
}
body.page-home .finder-sent__summary {
  display: flex;
  flex-direction: column;
  max-width: 560px;
  border-top: 1px solid var(--c-line-soft);
  font-size: 15px;
  font-weight: 400;
}
body.page-home .finder-sent__row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid var(--c-line-soft);
}
body.page-home .finder-sent__key {
  color: var(--c-muted);
}
body.page-home .finder-sent__value {
  text-align: right;
}
body.page-home .finder-sent__reset {
  align-self: flex-start;
  min-height: 44px;
  border: 0;
  padding: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
}
body.page-home .finder-aside {
  position: sticky;
  top: 88px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 34px 32px;
  background: var(--c-night);
  color: var(--c-white);
  min-height: 520px;
}
body.page-home .finder-aside__label {
  font-size: 15px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.8);
}
body.page-home .finder-aside__empty {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px 0;
}
body.page-home .finder-aside__empty[hidden] {
  display: none;
}
body.page-home .finder-aside__robots {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  opacity: 0.5;
}
body.page-home .finder-aside__robot {
  width: auto;
  filter: grayscale(1);
}
body.page-home .finder-aside__robot--cc1pro {
  height: 100px;
}
body.page-home .finder-aside__robot--mt1vac {
  height: 66px;
}
body.page-home .finder-aside__robot--gt5 {
  height: 86px;
}
body.page-home .finder-aside__empty-text,
body.page-home .finder-aside__none {
  margin: 0;
  font-size: 19px;
  line-height: 1.55;
  font-weight: 300;
}
body.page-home .finder-aside__none {
  padding: 24px 0;
}
body.page-home .finder-aside__note {
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--c-white-16);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.75);
}
body.page-home .finder-match {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  padding: 20px 0;
  border-top: 1px solid var(--c-white-16);
}
body.page-home .finder-match__well {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 120px;
  background: var(--c-ground);
}
body.page-home .finder-match__img {
  max-height: 104px;
  max-width: 100px;
  width: auto;
  height: auto;
}
body.page-home .finder-match__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.page-home .finder-match__name {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 400;
}
body.page-home .finder-match__why {
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.9);
}
body.page-home .footnotes {
  background: var(--c-white);
  padding: 48px 0;
}
body.page-home .footnotes__list {
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 960px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--c-muted);
}
@media (prefers-reduced-motion: reduce) {
  body.page-home .rise {
    animation: none;
  }
  body.page-home .task-card__img,
body.page-home .lineup-robot__plate {
    transition: none;
  }
  body.page-home .lineup-robot.is-rising .lineup-robot__img,
body.page-home .lineup-robot.is-rising .lineup-robot__reflection,
body.page-home .lineup-robot.is-rising .lineup-robot__shadow {
    animation: none;
  }
}
@media (max-width: 980px) {
  body.page-home .tasks__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.page-home .tasks__label {
    grid-column: 1/-1;
  }
  body.page-home .night-split {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .night-split__media {
    min-height: 420px;
  }
  body.page-home .night-panel .night-panel__title,
body.page-home .night-panel .night-panel__text {
    max-width: none;
  }
  body.page-home .robot-detail {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .robot-drawer__table {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .service__top {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .buy-options {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .faq__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .finder__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .finder-aside {
    position: static;
  }
}
@media (max-width: 760px) {
  body.page-home .night__intro {
    padding-top: 64px;
  }
  body.page-home .night-panel {
    min-height: 620px;
  }
  body.page-home .hero__scrim,
body.page-home .night-panel .night-panel__scrim {
    background: rgba(7, 13, 9, 0.64);
  }
  body.page-home .btn--full-sm {
    width: 100%;
    justify-content: space-between;
    padding: 16px 20px;
  }
  body.page-home .hero__cta-col {
    width: 100%;
  }
  body.page-home .task-card {
    min-height: 190px;
    padding: 18px 18px 20px;
  }
  body.page-home .task-card__img {
    top: 16px;
    right: 14px;
    height: 86px;
    width: 60%;
  }
  body.page-home .night-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }
  body.page-home .night-stats__num {
    font-size: 30px;
    white-space: normal;
  }
  body.page-home .lineup-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }
  body.page-home .lineup-robot__plate {
    font-size: 12px;
    padding: 6px 8px;
  }
  body.page-home .lineup-robot__fit {
    display: none;
  }
  body.page-home .robot-detail__specs {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .robot-drawer__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
  body.page-home .promise {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .steps__grid {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .step {
    padding-bottom: 22px;
  }
  body.page-home .finder-mobile-match {
    display: flex;
  }
  body.page-home .finder-fields {
    grid-template-columns: minmax(0, 1fr);
  }
  body.page-home .finder-aside {
    display: none;
  }
}

body.page-robot {
  /* ==========================================================================
     Ginalas PUDU: robot.css
     Shared template for the ten robot pages (pudu-*.html). Port of the robot
     pages' helmet CSS plus their inline styles, expressed as classes.
     Load order: base.css, header.css, robot.css, then css/robots/<slug>.css
     (only if the page has page-only rules). Behaviour: js/robot.js.

     Page root:  <body class="page-robot"><div class="site robot-page"> ...
       .robot-page                   template root (keeps [hidden] winning, see the end)
         --balance-headings          text-wrap: balance on .type-h2 and .type-h3
         --balance-lede              text-wrap: balance on .type-lede
         --pretty-sub                text-wrap: pretty on .type-sub
                                     (the source pages differ here: set the ones the page's
                                     helmet has; CC1 Pro has none)

     Type scale (source t-* classes; fluid between 390 and 1440 px)
       .type-h1 .type-h2 .type-h3 .type-lede .type-sub .type-title .type-body .type-small
       .type-num (big statement number) with .type-unit inside
       .type-val (spec / mode value) with .type-vunit next to it

     Section tones (the source sets each section's background inline)
       .tone-white  .tone-ground  .tone-night (white text; add .on-dark for the focus ring)

     Blocks
       .crumbs          breadcrumb bar under the header
       .robot-hero      first section (#top): gallery + buy box
       .gallery         stage with cross-fading slides, thumbnail tabs (js: gallery)
       .buy-box         title, lede, key facts, price box, CTA (#x-buy-cta), call, promises
       .statement       dark section: copy + big number, then a wide video or image
       .section-head    title + lead at the top of a section (--center, --narrow, --compact)
       .band            full-bleed image or video band (2.56:1, 1.2:1 on phones)
       .cards           grid of three (or --two) cards: .card image + title + text
       .split           half text, half image (--media-right / --media-left)
       .note            small print under a dark section's cards
       .spec-table      technical data grid
       .faq             accordion (js: faq)
       .inquiry         dark inquiry section: intro, form with chips and validation, sent state (js: inquiry)
       .footnotes       numbered source notes before the footer
       .media-toggle    positions the shared .motion-btn in the corner of a video

     Modifiers for the differences between the ten source pages
       .buy-box__cta--compact     <= 760 px: padding 0 18px, gap 10px, 16 px text (CC1 Pro, BG1, CC1, GT5, MT1 Vac)
       .buy-box__cta--bare        <= 760 px: padding 0 12px, 16 px text, no arrow (ET1)
       .buy-box__cta--balance     line-height 1.3, balanced wrapping, arrow never shrinks (GT3, GT7, MT1 Max)
       .buy-box__call--center     <= 760 px: label and number centred (CC1 Pro, BG1, CC1, MT1 Vac)
       .buy-box__call-label       label that never wraps (the pages whose label span is nowrap)
       .buy-box__call-number      16 px number; add --dim for the 15 px, 72 % opacity number (ET1, GT3)
       .cards--two                two columns (GT3);  .cards--after-head  cards right under a head (no band)
       .card__img--tile           square image tile on a dark section (4:3 contain on phones)
       .card__img--inset          contained cut-out with 40 px padding inside a tile (ET1)
       .card__frame               square dark frame around a screenshot (4:3 on phones)
       .spec-table__value--range  "nuo 4 iki 6 val.": two .spec-table__part halves that never break inside;
                                  .spec-table__mid for the inline "iki" between two values (MT1 Vac)

     Source class -> port class
       x-crumb -> crumbs, x-hero-sec -> robot-hero, x-hero -> robot-hero__grid, x-slide -> gallery__slide,
       x-thumb -> gallery__thumb, x-keyrow -> buy-box__fact, x-buy -> buy-box__cta, x-call / x-btn-line ->
       btn btn--line buy-box__call, x-btn-g -> btn btn--primary, x-stmt-sec -> statement, x-stmt -> statement__media,
       x-gap48 -> (margin-top on .band / .statement__media), x-band -> band, x-cards3 -> cards, x-card-gap -> card,
       x-tile -> card__img--tile, x-rtile -> card__frame, x-split(-r/-l) -> split(--media-right/--media-left),
       x-split-text -> split__text, x-split-media -> split__media, x-specs -> spec-table, x-spec -> spec-table__item,
       x-faq -> faq__button, x-ask -> inquiry, x-chip -> chip, x-two -> inquiry__fields, x-in -> inquiry__input,
       x-pause -> motion-btn motion-btn--soft media-toggle, x-fade -> fade-up, t-* -> type-*,
       x-modes* / x-barrow -> modes* (css/robots/cc1pro.css)

     Per-image data is passed as CSS custom properties in the markup (the only inline styles):
       --media-bg   placeholder colour behind an image or video while it loads
       --pos        object-position of the image or video
       --mpos       object-position at <= 760 px (bands, statement)
       --w          bar width (CC1 Pro run-time bars)
     ========================================================================== */
  /* --- Type scale ---------------------------------------------------------- */
  /* --- Section tones ------------------------------------------------------- */
  /* --- Breadcrumbs --------------------------------------------------------- */
  /* --- Hero: gallery + buy box -------------------------------------------- */
  /* Gallery. The selected slide has aria-hidden="false"; the selected thumb aria-selected="true". */
  /* Buy box */
  /* <a id="x-buy-cta" class="btn btn--primary buy-box__cta"> (the header watches this id) */
  /* label may wrap: balanced lines */
  /* <a class="btn btn--line buy-box__call"> label + number, side by side or wrapped */
  /* --- Statement: copy + number, then a wide video or image ----------------- */
  /* Corner position for the shared .motion-btn (base.css) over a video */
  /* --- Section head -------------------------------------------------------- */
  /* --- Band: full-bleed image or video ------------------------------------- */
  /* --- Cards --------------------------------------------------------------- */
  /* cards straight under a section head (no band) */
  /* square tile on a dark section */
  /* cut-out product shot inside a tile */
  /* The frame grows to fit a screenshot taller than the ratio allows (as in the original), so load those
     screenshots eagerly (no loading="lazy"), or the page shifts when they arrive. */
  /* --- Split: half text, half image ---------------------------------------- */
  /* --- Technical data ------------------------------------------------------ */
  /* "nuo 4 iki 6 val." as two unbreakable halves */
  /* --- FAQ ----------------------------------------------------------------- */
  /* --- Inquiry ------------------------------------------------------------- */
  /* --- Footnotes ----------------------------------------------------------- */
  /* --- Breakpoints (same as the source helmet) ----------------------------- */
  /* Content toggled by js/robot.js uses the hidden attribute; it must beat the display rules above. */
  /* ==========================================================================
     Ginalas PUDU: robots/cc1pro.css
     Page-only rules for pudu-cc1-pro.html, loaded after robot.css.

     .modes   "Tyliai šluostydamas ... 9 valandas": cleaning-mode tabs on the left,
              run time, description and a bar for every mode on the right.
              Behaviour: the generic tabs component in js/robot.js
              (data-js="tabs", "tab", "tab-panel", "tab-pane", "tab-mark").
     ========================================================================== */
  /* Tabs */
  /* also over the selected tab, as in the original */
  /* Panel: one detail per mode (only the selected one is shown), then the bars */
}
body.page-robot .type-num {
  margin: 0;
  font-size: clamp(72px, 72px + (100vw - 390px) * 0.0457, 120px);
  line-height: 0.92;
  font-weight: 200;
  letter-spacing: -0.045em;
  white-space: nowrap;
}
body.page-robot .type-unit {
  font-size: 0.45em;
  font-weight: 300;
  letter-spacing: -0.02em;
}
body.page-robot .type-h1 {
  margin: 0;
  font-size: clamp(36px, 36px + (100vw - 390px) * 0.01143, 48px);
  line-height: 1.04;
  font-weight: 300;
  letter-spacing: -0.03em;
}
body.page-robot .type-h2 {
  margin: 0;
  font-size: clamp(30px, 30px + (100vw - 390px) * 0.00952, 40px);
  line-height: 1.12;
  font-weight: 300;
  letter-spacing: -0.02em;
}
body.page-robot .type-h3 {
  margin: 0;
  font-size: clamp(26px, 26px + (100vw - 390px) * 0.00571, 32px);
  line-height: 1.18;
  font-weight: 300;
  letter-spacing: -0.015em;
}
body.page-robot .type-lede {
  margin: 0;
  font-size: clamp(20px, 20px + (100vw - 390px) * 0.00381, 24px);
  line-height: 1.35;
  font-weight: 300;
  letter-spacing: -0.01em;
}
body.page-robot .type-sub {
  margin: 0;
  font-size: clamp(16px, 16px + (100vw - 390px) * 0.0019, 18px);
  line-height: 1.55;
  font-weight: 300;
}
body.page-robot .type-title {
  margin: 0;
  font-size: clamp(16px, 16px + (100vw - 390px) * 0.0019, 18px);
  line-height: 1.35;
  font-weight: 500;
}
body.page-robot .type-body {
  margin: 0;
  font-size: clamp(15px, 15px + (100vw - 390px) * 0.00095, 16px);
  line-height: 1.55;
  font-weight: 400;
}
body.page-robot .type-small {
  margin: 0;
  font-size: clamp(13px, 13px + (100vw - 390px) * 0.00095, 14px);
  line-height: 1.5;
  font-weight: 400;
}
body.page-robot .type-val {
  font-size: 36px;
  line-height: 1.1;
  font-weight: 300;
  letter-spacing: -0.02em;
}
body.page-robot .type-vunit {
  font-size: 20px;
  line-height: 1;
  font-weight: 300;
  letter-spacing: 0;
}
body.page-robot .robot-page--balance-headings .type-h2,
body.page-robot .robot-page--balance-headings .type-h3 {
  text-wrap: balance;
}
body.page-robot .robot-page--balance-lede .type-lede {
  text-wrap: balance;
}
body.page-robot .robot-page--pretty-sub .type-sub {
  text-wrap: pretty;
}
body.page-robot .tone-white {
  background: var(--c-white);
}
body.page-robot .tone-ground {
  background: var(--c-ground);
}
body.page-robot .tone-night {
  background: var(--c-night);
  color: var(--c-white);
}
body.page-robot .crumbs {
  border-bottom: 1px solid var(--c-line);
}
body.page-robot .crumbs__nav {
  min-height: 56px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-robot .crumbs__link {
  color: var(--c-muted);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
body.page-robot .crumbs__link:hover {
  color: var(--c-green);
}
body.page-robot .crumbs__current {
  font-weight: 500;
  color: var(--c-ink);
}
body.page-robot .robot-hero {
  padding: 40px 0 96px;
}
body.page-robot .robot-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 56px;
  align-items: start;
}
body.page-robot .gallery {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.page-robot .gallery__stage {
  position: relative;
  aspect-ratio: 3/2;
  background: var(--c-white);
  overflow: hidden;
}
body.page-robot .gallery__slide {
  position: absolute;
  inset: 0;
  background: var(--media-bg, transparent);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
body.page-robot .gallery__slide[aria-hidden=false] {
  opacity: 1;
  visibility: visible;
}
body.page-robot .gallery__cutout {
  position: absolute;
  left: 0;
  top: 14%;
  width: 100%;
  height: 72%;
  object-fit: contain;
  display: block;
}
body.page-robot .gallery__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--pos, 50% 50%);
  display: block;
}
body.page-robot .gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
body.page-robot .gallery__thumb {
  position: relative;
  aspect-ratio: 3/2;
  padding: 0;
  border: 0;
  background: var(--c-night);
  cursor: pointer;
  overflow: hidden;
  opacity: 0.72;
  transition: opacity 0.2s ease;
}
body.page-robot .gallery__thumb--cut {
  background: var(--c-white);
}
body.page-robot .gallery__thumb[aria-selected=true],
body.page-robot .gallery__thumb:hover {
  opacity: 1;
}
body.page-robot .gallery__thumb-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--pos, 50% 50%);
  display: block;
}
body.page-robot .gallery__thumb--cut .gallery__thumb-img {
  left: 10%;
  top: 10%;
  width: 80%;
  height: 80%;
  object-fit: contain;
}
body.page-robot .gallery__badge {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  background: var(--c-white);
}
body.page-robot .gallery__ring {
  position: absolute;
  inset: 0;
  border: 1px solid var(--c-line);
  pointer-events: none;
}
body.page-robot .gallery__thumb[aria-selected=true] .gallery__ring {
  border: 2px solid var(--c-ink);
}
body.page-robot .buy-box {
  display: flex;
  flex-direction: column;
}
body.page-robot .buy-box__title {
  margin-bottom: 16px;
}
body.page-robot .buy-box__lede {
  margin-bottom: 12px;
}
body.page-robot .buy-box__sub {
  margin-bottom: 28px;
  font-size: 16px;
  color: var(--c-body);
}
body.page-robot .buy-box__facts {
  display: flex;
  flex-direction: column;
  margin-bottom: 24px;
  border-top: 1px solid var(--c-line);
}
body.page-robot .buy-box__fact {
  display: grid;
  grid-template-columns: 140px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 52px;
  padding: 8px 0;
  border-bottom: 1px solid var(--c-line);
}
body.page-robot .buy-box__fact-key {
  font-size: 14px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-robot .buy-box__fact-value {
  font-size: 16px;
  font-weight: 400;
}
body.page-robot .buy-box__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
body.page-robot .buy-box__cta {
  flex: 1 1 100%;
  display: flex;
  min-height: 64px;
  padding: 0 28px;
  text-align: center;
}
body.page-robot .buy-box__cta--balance {
  line-height: 1.3;
  text-wrap: balance;
}
body.page-robot .buy-box__cta--balance svg {
  flex-shrink: 0;
}
body.page-robot .buy-box__call {
  flex: 1 1 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2px 16px;
  min-height: 64px;
  padding: 10px 24px;
}
body.page-robot .buy-box__call-label {
  white-space: nowrap;
}
body.page-robot .buy-box__call-number {
  font-size: 16px;
  font-weight: 400;
  white-space: nowrap;
}
body.page-robot .buy-box__call-number--dim {
  font-size: 15px;
  opacity: 0.72;
}
body.page-robot .buy-box__promises {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 15px;
  line-height: 1.45;
  font-weight: 400;
  color: var(--c-body);
}
body.page-robot .buy-box__promise {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
body.page-robot .buy-box__promise-icon {
  flex-shrink: 0;
  margin-top: 1px;
}
body.page-robot .statement {
  padding: 88px 0 0;
}
body.page-robot .statement__head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
}
body.page-robot .statement__copy {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 600px;
}
body.page-robot .statement__lead {
  color: var(--c-white-82);
}
body.page-robot .statement__figure {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.page-robot .statement__figure-note {
  margin: 0;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.72);
}
body.page-robot .statement__media {
  position: relative;
  width: 100%;
  aspect-ratio: 2.33/1;
  min-height: 440px;
  max-height: 680px;
  margin-top: 48px;
  overflow: hidden;
  background: var(--media-bg, var(--c-night));
}
body.page-robot .statement__visual {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--pos, 50% 50%);
  display: block;
}
body.page-robot .media-toggle {
  position: absolute;
  right: 16px;
  bottom: 16px;
}
body.page-robot .section-head {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.page-robot .section-head__lead {
  color: var(--c-body);
}
body.page-robot .on-dark .section-head__lead {
  color: var(--c-white-82);
}
body.page-robot .section-head--center {
  align-items: center;
  text-align: center;
}
body.page-robot .section-head--center .section-head__title {
  max-width: 760px;
}
body.page-robot .section-head--center .section-head__lead {
  max-width: 640px;
}
body.page-robot .section-head--narrow .section-head__title,
body.page-robot .section-head--narrow .section-head__lead {
  max-width: 600px;
}
body.page-robot .section-head--compact {
  max-width: 640px;
}
body.page-robot .band {
  position: relative;
  width: 100%;
  aspect-ratio: 2.56/1;
  max-height: 760px;
  margin-top: 48px;
  overflow: hidden;
  background: var(--media-bg, transparent);
}
body.page-robot .band__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--pos, 50% 50%);
  display: block;
}
body.page-robot .cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}
body.page-robot .cards--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
body.page-robot .band + .cards {
  margin-top: 32px;
}
body.page-robot .cards--after-head {
  margin-top: 48px;
}
body.page-robot .card {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
body.page-robot .card__img {
  width: 100%;
  height: auto;
  aspect-ratio: 5/4;
  object-fit: cover;
  object-position: var(--pos, 50% 50%);
  display: block;
  background: var(--media-bg, transparent);
}
body.page-robot .card__img--tile {
  aspect-ratio: 1/1;
}
body.page-robot .card__img--inset {
  object-fit: contain;
  padding: 40px;
}
body.page-robot .card__frame {
  aspect-ratio: 1/1;
  padding: 24px;
  background: var(--c-night);
  display: flex;
  align-items: center;
  justify-content: center;
}
body.page-robot .card__frame-img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}
body.page-robot .card__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.page-robot .card__text {
  color: var(--c-body);
}
body.page-robot .on-dark .card__text {
  color: var(--c-white-82);
}
body.page-robot .note {
  margin-top: 32px;
}
body.page-robot .note__text {
  max-width: 760px;
  color: rgba(255, 255, 255, 0.55);
}
body.page-robot .split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  min-height: 560px;
}
body.page-robot .split__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 72px;
  padding-bottom: 72px;
}
body.page-robot .split--media-right .split__text {
  padding-left: max(var(--gutter), (100vw - 1440px) / 2 + 64px);
  padding-right: 64px;
}
body.page-robot .split--media-left .split__text {
  padding-left: 64px;
  padding-right: max(var(--gutter), (100vw - 1440px) / 2 + 64px);
}
body.page-robot .split--media-left .split__media {
  order: -1;
}
body.page-robot .split__copy {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 520px;
}
body.page-robot .split__lead {
  color: var(--c-body);
}
body.page-robot .split__note {
  margin-top: 8px;
  color: var(--c-muted);
}
body.page-robot .split__media {
  position: relative;
  overflow: hidden;
  min-height: 560px;
  background: var(--media-bg, transparent);
}
body.page-robot .split__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--pos, 50% 50%);
  display: block;
}
body.page-robot .spec-table__note {
  margin-top: 12px;
  color: var(--c-muted);
}
body.page-robot .spec-table {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: 32px;
  margin-top: 40px;
}
body.page-robot .spec-table__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 124px;
  padding: 20px 0 24px;
  border-bottom: 1px solid var(--c-line-strong);
}
body.page-robot .spec-table__key {
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-robot .spec-table__value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  color: var(--c-ink);
}
body.page-robot .spec-table__value--range {
  column-gap: 6px;
}
body.page-robot .spec-table__part {
  display: inline-flex;
  align-items: baseline;
  white-space: nowrap;
}
body.page-robot .spec-table__pre {
  margin-right: 6px;
}
body.page-robot .spec-table__mid {
  margin: 0 6px;
}
body.page-robot .spec-table__unit {
  margin-left: 4px;
}
body.page-robot .spec-table__text {
  font-size: 18px;
  line-height: 1.4;
  font-weight: 300;
  color: var(--c-ink);
}
body.page-robot .faq {
  margin-top: 24px;
  border-top: 1px solid var(--c-line);
}
body.page-robot .faq__item {
  border-bottom: 1px solid var(--c-line);
}
body.page-robot .faq__q {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}
body.page-robot .faq__button {
  width: 100%;
  min-height: 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 0;
  border: 0;
  background: transparent;
  color: var(--c-ink);
  cursor: pointer;
  font-family: inherit;
  font-size: 18px;
  line-height: 1.4;
  font-weight: 400;
  text-align: left;
}
body.page-robot .faq__button:hover {
  color: var(--c-green);
}
body.page-robot .faq__icon {
  flex-shrink: 0;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
}
body.page-robot .faq__button[aria-expanded=true] .faq__icon {
  transform: rotate(180deg);
}
body.page-robot .faq__answer {
  padding: 0 0 28px;
}
body.page-robot .faq__text {
  margin: 0;
  max-width: 720px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 400;
  color: var(--c-body);
}
body.page-robot .inquiry {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 64px;
  align-items: start;
}
body.page-robot .inquiry__intro {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
body.page-robot .inquiry__lead {
  color: var(--c-white-82);
}
body.page-robot .inquiry__contacts {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--c-white-16);
}
body.page-robot .inquiry__contact-note {
  font-size: 14px;
  font-weight: 400;
  color: var(--c-white-64);
}
body.page-robot .inquiry__phone,
body.page-robot .inquiry__mail {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--c-white);
  font-size: 18px;
  font-weight: 400;
}
body.page-robot .inquiry__phone {
  text-decoration: none;
  white-space: nowrap;
}
body.page-robot .inquiry__mail {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
body.page-robot .inquiry__form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
body.page-robot .inquiry__fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.page-robot .inquiry__legend {
  padding: 0;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--c-white-82);
}
body.page-robot .inquiry__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
body.page-robot .chip {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid var(--c-white-24);
  background: transparent;
  color: var(--c-white);
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  transition: border-color 0.15s ease;
}
body.page-robot .chip[aria-pressed=true] {
  border-color: var(--c-white);
  background: var(--c-white);
  color: var(--c-night);
}
body.page-robot .chip:hover {
  border-color: var(--c-white);
}
body.page-robot .inquiry__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 16px;
}
body.page-robot .inquiry__field {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  font-weight: 500;
  color: var(--c-white-82);
}
body.page-robot .inquiry__input {
  width: 100%;
  height: 56px;
  padding: 0 16px;
  border: 1px solid var(--c-white-24);
  border-radius: 0;
  background: transparent;
  color: var(--c-white);
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
}
body.page-robot .inquiry__input::placeholder {
  color: rgba(255, 255, 255, 0.45);
}
body.page-robot .on-dark .inquiry__input:focus-visible,
body.page-robot .on-dark .inquiry__input:focus {
  outline: 2px solid var(--c-white);
  outline-offset: 0;
  box-shadow: none;
}
body.page-robot .inquiry__hint {
  margin-top: -8px;
  font-size: 14px;
  font-weight: 400;
  color: var(--c-white-64);
}
body.page-robot .inquiry__error {
  margin: 0;
  font-size: 15px;
  font-weight: 400;
  color: var(--c-error-on-dark);
}
body.page-robot .inquiry__consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--c-white-82);
}
body.page-robot .inquiry__check {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--c-green);
  flex-shrink: 0;
}
body.page-robot .inquiry__submit {
  display: flex;
  width: 100%;
  min-height: 64px;
  padding: 0 28px;
}
body.page-robot .inquiry__eta {
  font-size: 14px;
  font-weight: 400;
  color: var(--c-white-64);
}
body.page-robot .inquiry__sent {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 8px;
}
body.page-robot .inquiry__sent-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  background: var(--c-green);
}
body.page-robot .inquiry__sent-text {
  max-width: 520px;
  color: var(--c-white-82);
}
body.page-robot .inquiry__sent-phone {
  color: var(--c-white);
  white-space: nowrap;
}
body.page-robot .inquiry__reset {
  align-self: flex-start;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--c-white);
  cursor: pointer;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.page-robot .footnotes {
  padding: 48px 0;
}
body.page-robot .footnotes__list {
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 960px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 400;
  color: var(--c-muted);
}
@media (max-width: 980px) {
  body.page-robot .robot-hero__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 40px;
  }
  body.page-robot .inquiry {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }
  body.page-robot .spec-table {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  body.page-robot .robot-hero {
    padding-top: 24px;
    padding-bottom: 64px;
  }
  body.page-robot .buy-box__fact {
    grid-template-columns: 120px minmax(0, 1fr);
  }
  body.page-robot .buy-box__cta--compact {
    padding: 0 18px;
    gap: 10px;
    font-size: 16px;
  }
  body.page-robot .buy-box__cta--bare {
    padding: 0 12px;
    font-size: 16px;
  }
  body.page-robot .buy-box__cta--bare svg {
    display: none;
  }
  body.page-robot .buy-box__call--center {
    justify-content: center;
    text-align: center;
  }
  body.page-robot .statement {
    padding-top: 56px;
  }
  body.page-robot .statement__media {
    aspect-ratio: 4/5;
    min-height: 0;
    max-height: none;
    margin-top: 32px;
  }
  body.page-robot .statement__visual {
    object-position: var(--mpos, var(--pos, 50% 50%));
  }
  body.page-robot .band {
    aspect-ratio: 1.2/1;
    margin-top: 32px;
  }
  body.page-robot .band__media {
    object-position: var(--mpos, 50% 50%);
  }
  body.page-robot .cards {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 40px;
  }
  body.page-robot .card {
    gap: 16px;
  }
  body.page-robot .card__img--tile {
    aspect-ratio: 4/3;
    object-fit: contain;
  }
  body.page-robot .card__frame {
    aspect-ratio: 4/3;
  }
  body.page-robot .split {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }
  body.page-robot .split__media {
    order: -1;
    min-height: 0;
    aspect-ratio: 4/3;
  }
  body.page-robot .split .split__text {
    padding: 32px 20px 64px;
  }
  body.page-robot .spec-table {
    column-gap: 16px;
  }
  body.page-robot .spec-table__item {
    min-height: 104px;
  }
  body.page-robot .type-val {
    font-size: 28px;
  }
  body.page-robot .type-vunit {
    font-size: 16px;
  }
  body.page-robot .inquiry__fields {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 380px) {
  body.page-robot .spec-table {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (prefers-reduced-motion: reduce) {
  body.page-robot .gallery__slide {
    transition: none;
  }
}
body.page-robot .robot-page [hidden] {
  display: none;
}
body.page-robot .modes {
  display: flex;
  flex-direction: column;
  gap: 48px;
}
body.page-robot .modes__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 0;
  align-items: stretch;
}
body.page-robot .modes__tabs {
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--c-line-strong);
}
body.page-robot .modes__tab {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 72px;
  padding: 0 24px;
  border: 0;
  border-bottom: 1px solid var(--c-line-strong);
  background: transparent;
  color: var(--c-ink);
  cursor: pointer;
  font-family: inherit;
  text-align: left;
  transition: background 0.2s ease;
}
body.page-robot .modes__tab[aria-selected=true] {
  background: var(--c-white);
}
body.page-robot .modes__tab:hover {
  background: rgba(255, 255, 255, 0.6);
}
body.page-robot .modes__tab-bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 2px;
  background: transparent;
}
body.page-robot .modes__tab[aria-selected=true] .modes__tab-bar {
  background: var(--c-ink);
}
body.page-robot .modes__tab-label {
  font-size: 18px;
  line-height: 1.35;
  font-weight: 500;
}
body.page-robot .modes__tab-hours {
  font-size: 16px;
  font-weight: 400;
  color: var(--c-muted);
  white-space: nowrap;
}
body.page-robot .modes__panel {
  display: flex;
  flex-direction: column;
  gap: 28px;
  padding: 48px;
  background: var(--c-white);
}
body.page-robot .modes__detail {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
body.page-robot .modes__figure {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body.page-robot .modes__unit {
  margin-left: 4px;
}
body.page-robot .modes__what {
  font-size: 16px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-robot .modes__text {
  max-width: 520px;
  color: var(--c-body);
}
body.page-robot .modes__bars {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 24px;
  border-top: 1px solid var(--c-line);
}
body.page-robot .modes__bar {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr) 56px;
  gap: 8px 16px;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  color: var(--c-muted);
}
body.page-robot .modes__bar.is-selected {
  color: var(--c-ink);
}
body.page-robot .modes__bar-track {
  height: 8px;
  background: var(--c-line-faint);
}
body.page-robot .modes__bar-fill {
  height: 100%;
  width: var(--w);
  background: #B9C2BB;
}
body.page-robot .modes__bar.is-selected .modes__bar-fill {
  background: var(--c-ink);
}
body.page-robot .modes__bar-hours {
  text-align: right;
}
@media (max-width: 980px) {
  body.page-robot .modes__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 760px) {
  body.page-robot .modes__panel {
    padding: 28px 20px;
  }
  body.page-robot .modes__bar {
    grid-template-columns: 118px minmax(0, 1fr) 48px;
    column-gap: 12px;
  }
}

body.produktas-bellabot-pro {
  /* ==========================================================================
     Ginalas PUDU: robots/bellabot-pro.css
     Page-only rules for pudu-bellabot-pro.html, loaded after robot.css.

     .gallery__cutout--tall   the cut-out of this tall, narrow robot fills 90 % of the gallery stage height
                              (the shared template uses 72 % for the cleaning robots)
     .card__img--photo-tile   a square photo tile on a dark section, cropped to fill (4:3 on phones)
     .section-gap             the space between the dark section's heading and its tiles when there is no band (80 px; 64 px on phones)
     ========================================================================== */
}
body.produktas-bellabot-pro .gallery__cutout--tall {
  top: 5%;
  height: 90%;
}
body.produktas-bellabot-pro .card__img--photo-tile {
  aspect-ratio: 1/1;
  object-fit: cover;
}
body.produktas-bellabot-pro .section-gap {
  height: 80px;
}
body.produktas-bellabot-pro .inquiry__sent-phone--underline {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
@media (max-width: 760px) {
  body.produktas-bellabot-pro .card__img--photo-tile {
    aspect-ratio: 4/3;
  }
  body.produktas-bellabot-pro .section-gap {
    height: 64px;
  }
}

body.produktas-cc1 {
  /* ==========================================================================
     Ginalas PUDU: robots/cc1.css
     Page-only rules for pudu-cc1.html, loaded after robot.css.
     Everything else on the page comes from the shared template (css/robot.css):
     CC1 sets .robot-page--balance-headings, --balance-lede and --pretty-sub,
     .buy-box__cta--compact, .buy-box__call--center and .cards--two there.

     .gallery__badge--outlined
              the play badge on the video thumbnail has a 1 px hairline border
              (CC1 Pro's badge has none).

     .card__frame--light
              "Keturi valymo būdai": the cut-out sits on a light 5:4 panel at every
              width (the shared frame is a dark square, 4:3 on phones). The panel
              colour comes from --media-bg; the image keeps its natural size when it
              fits and shrinks to fit otherwise, as in the shared frame.

     .card__frame--fit
              the two station cards: a dark 5:4 tile (4:3 on phones) whose image is
              scaled to fit 24 px inside the tile, up or down (source x-rtile).
              The tile colour comes from --media-bg.
     ========================================================================== */
}
body.produktas-cc1 .gallery__badge--outlined {
  border: 1px solid var(--c-line);
}
body.produktas-cc1 .card__frame--light {
  aspect-ratio: 5/4;
  background: var(--media-bg, var(--c-night));
}
body.produktas-cc1 .card__frame--fit {
  position: relative;
  aspect-ratio: 5/4;
  padding: 0;
  overflow: hidden;
  background: var(--media-bg, var(--c-night));
}
body.produktas-cc1 .card__frame--fit .card__frame-img {
  position: absolute;
  left: 24px;
  top: 24px;
  width: calc(100% - 48px);
  height: calc(100% - 48px);
  max-width: none;
  max-height: none;
  object-fit: contain;
}
@media (max-width: 760px) {
  body.produktas-cc1 .card__frame--fit {
    aspect-ratio: 4/3;
  }
}

body.produktas-et1 {
  /* ==========================================================================
     Ginalas PUDU: robots/et1.css
     Page-only rules for pudu-et1.html, loaded after robot.css.
     Everything else on the page comes from the shared template (css/robot.css):
     ET1 sets .robot-page--balance-headings, .buy-box__cta--bare,
     .buy-box__call-number--dim and .card__img--inset there.

     .inquiry__sent-phone--underline
              the phone link in the thank-you block: ET1 draws its underline
              1 px thick, 4 px below the text (CC1 Pro keeps the browser default).
     ========================================================================== */
}
body.produktas-et1 .inquiry__sent-phone--underline {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

body.produktas-gt3 {
  /* ==========================================================================
     Ginalas PUDU: robots/gt3.css
     Page-only rules for pudu-gt3.html, loaded after robot.css.
     Everything else on the page comes from the shared template (css/robot.css):
     GT3 sets .robot-page--balance-headings, --balance-lede,
     .buy-box__cta--balance, .buy-box__call-number--dim and .cards--two there.

     Hero between 981 and 1180 px wide (the source's 1180 px breakpoint)
              the gallery and the buy box share the row 1.3fr / 1fr with a
              40 px gap (2fr / 1fr and 56 px above 1180 px; one column at
              980 px and below, as in robot.css).
     Key facts between 761 and 1180 px wide
              the label column narrows to 110 px (140 px above 1180 px,
              120 px at 760 px and below, as in robot.css).
     The ranges stop where robot.css's own 980 / 760 px rules take over, so
     this file does not have to restate them.
     ========================================================================== */
}
@media (min-width: 981px) and (max-width: 1180px) {
  body.produktas-gt3 .robot-hero__grid {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: 40px;
  }
}
@media (min-width: 761px) and (max-width: 1180px) {
  body.produktas-gt3 .buy-box__fact {
    grid-template-columns: 110px minmax(0, 1fr);
  }
}

body.produktas-gt5 {
  /* ==========================================================================
     Ginalas PUDU: robots/gt5.css
     Page-only rules for pudu-gt5.html, loaded after robot.css.
     Everything else on the page comes from the shared template (css/robot.css):
     GT5 sets .robot-page--balance-headings, .buy-box__cta--compact and
     .cards--two there, and its statement photo sits in a <picture> whose
     portrait version (<= 760 px) and phone crop (--mpos) need no rule here.

     .spec-table__nowrap
              "nuo 8 iki 10 val." and "nuo 26 iki 152 mm": the second value and
              its unit stay on one line when the value wraps. A plain inline
              span, as in the original (robot.css's .spec-table__part is an
              inline-flex box, which reads as two lines of text).
              <span class="spec-table__value">
                <span class="type-vunit spec-table__pre">nuo</span><span class="type-val">26</span>
                <span class="type-vunit spec-table__mid">iki</span>
                <span class="spec-table__nowrap"><span class="type-val">152</span><span class="type-vunit spec-table__unit">mm</span></span>
              </span>
     Key facts between 981 and 1180 px wide (the source's own breakpoint)
              the label column narrows to 104 px (140 px above 1180 px and
              between 761 and 980 px, 120 px at 760 px and below, as in
              robot.css).
     ========================================================================== */
}
body.produktas-gt5 .spec-table__nowrap {
  white-space: nowrap;
}
@media (min-width: 981px) and (max-width: 1180px) {
  body.produktas-gt5 .buy-box__fact {
    grid-template-columns: 104px minmax(0, 1fr);
  }
}

body.produktas-mp2000 {
  /* ==========================================================================
     Ginalas PUDU: robots/mp2000.css
     Page-only rules for pudu-mp2000.html, loaded after robot.css.

     .gallery__cutout--tall   the cut-out of this tall, narrow robot fills 90 % of the gallery stage height
                              (the shared template uses 72 % for the cleaning robots)
     .card__img--photo-tile   a square photo tile on a dark section, cropped to fill (4:3 on phones)
     .section-gap             the space between the dark section's heading and its tiles when there is no band (80 px; 64 px on phones)
     ========================================================================== */
}
body.produktas-mp2000 .gallery__cutout--tall {
  top: 5%;
  height: 90%;
}
body.produktas-mp2000 .card__img--photo-tile {
  aspect-ratio: 1/1;
  object-fit: cover;
}
body.produktas-mp2000 .section-gap {
  height: 80px;
}
body.produktas-mp2000 .inquiry__sent-phone--underline {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
@media (max-width: 760px) {
  body.produktas-mp2000 .card__img--photo-tile {
    aspect-ratio: 4/3;
  }
  body.produktas-mp2000 .section-gap {
    height: 64px;
  }
}

body.produktas-mt1-max {
  /* ==========================================================================
     Ginalas PUDU: robots/mt1-max.css
     Page-only rules for pudu-mt1-max.html, loaded after robot.css.
     Everything else on the page comes from the shared template (css/robot.css):
     MT1 Max sets .robot-page--balance-headings, --balance-lede,
     .buy-box__cta--balance and .cards--two there.

     .buy-box__cta--shrink-arrow
              with .buy-box__cta--balance: the arrow may shrink when the label wraps
              on narrow screens (about 15 px wide at 390 px, 13 px at 360 px), as in
              the original MT1 Max; GT3 and GT7 keep it at 18 px (robot.css).
     .buy-box__actions--dial
              the buy box's action row: the CTA fills the first line; under it the
              call link and the phone number with office hours sit side by side,
              vertically centred, 20 px apart (12 px between the lines).
     .buy-box__dial
              the call link: a 64 px outlined button that shows only its label,
              which never wraps (the number is in its aria-label and printed next
              to it). Colours, border and hover come from .btn--line; the shared
              14 px icon gap of .btn is reset, as the original link has none.
     .buy-box__hours / .buy-box__hours-number
              the phone number (16 px, ink, never breaks) above "nuo 8 iki 17 val."
              (14 px, muted).
     .card__img--square
              the "Įkrovimo stotelė" photo on the dark station section: a square
              photo cropped to fill (object-fit: cover) at every width, 4:3 on phones.
              The other two station tiles use the shared .card__img--tile, which
              switches to contain on phones. Tile colour and crop come from
              --media-bg and --pos.
     ========================================================================== */
}
body.produktas-mt1-max .buy-box__cta--shrink-arrow svg {
  flex-shrink: 1;
}
body.produktas-mt1-max .buy-box__actions--dial {
  align-items: center;
  gap: 12px 20px;
}
body.produktas-mt1-max .buy-box__dial {
  gap: normal;
  min-height: 64px;
  padding: 0 24px;
  white-space: nowrap;
}
body.produktas-mt1-max .buy-box__hours {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  color: var(--c-muted);
}
body.produktas-mt1-max .buy-box__hours-number {
  font-size: 16px;
  color: var(--c-ink);
  white-space: nowrap;
}
body.produktas-mt1-max .card__img--square {
  aspect-ratio: 1/1;
}
@media (max-width: 760px) {
  body.produktas-mt1-max .card__img--square {
    aspect-ratio: 4/3;
  }
}

body.produktas-mt1-vac {
  /* ==========================================================================
     Ginalas PUDU: robots/mt1-vac.css
     Page-only rules for pudu-mt1-vac.html, loaded after robot.css.
     Everything else on the page comes from the shared template (css/robot.css):
     MT1 Vac sets .buy-box__cta--compact and .buy-box__call--center there, uses
     .spec-table__mid for "nuo 3 iki 6,5 val." and a .band with a video
     (.band__media on the <video>, --mpos for its phone framing). It sets none of
     the .robot-page text-wrap modifiers.

     section[id] scroll margin
              at <= 760 px in-page anchors (#top, #duk, #uzklausa) land 56 px below
              the top, the height of the phone header (base.css keeps 80 px at every
              width, as the other robot pages do). The header's hash landing in
              js/header.js reads this computed scroll-margin-top.
     ========================================================================== */
}
@media (max-width: 760px) {
  body.produktas-mt1-vac section[id] {
    scroll-margin-top: 56px;
  }
}

.wpcf7 .hidden-fields-container {
  display: none;
}
.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
}
.wpcf7 .wpcf7-spinner {
  display: none;
}
.wpcf7 .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  color: #ffb4a8;
}
.wpcf7 .wpcf7-response-output {
  margin: 16px 0 0;
  font-size: 14px;
  line-height: 1.4;
}
.wpcf7 .wpcf7-response-output:empty {
  display: none;
}
.wpcf7 .wpcf7-form.sent .wpcf7-response-output {
  display: none;
}

.inquiry__consent .wpcf7-form-control-wrap,
.finder-consent .wpcf7-form-control-wrap {
  display: block;
}
.inquiry__consent .wpcf7-list-item,
.finder-consent .wpcf7-list-item {
  margin: 0;
}
.inquiry__consent label,
.finder-consent label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.inquiry__consent input[type=checkbox],
.finder-consent input[type=checkbox] {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  accent-color: var(--c-green);
}

.faq__answer > p,
.faq__text > p {
  margin: 0;
}
.faq__answer > p + p,
.faq__text > p + p {
  margin-top: 16px;
}

.wpcf7 .wpcf7-form-control-wrap {
  display: block;
}

.wpcf7 .field__input,
.wpcf7 .inquiry__input {
  width: 100%;
  min-width: 0;
}

.wpcf7 .wpcf7-form-control-wrap > input,
.wpcf7 .wpcf7-form-control-wrap > textarea {
  display: block;
}

.otgs-development-site-front-end {
  display: none !important;
}

.produktas-sections {
  display: flex;
  flex-direction: column;
}
.produktas-sections > .pb-crumbs {
  order: 10;
}
.produktas-sections > .pb-hero {
  order: 20;
}
.produktas-sections > .pb-statement {
  order: 30;
}
.produktas-sections > .pb-feature {
  order: 40;
}
.produktas-sections > .pb-split-1 {
  order: 50;
}
.produktas-sections > .pb-split-2 {
  order: 60;
}
.produktas-sections > .pb-split-3 {
  order: 70;
}
.produktas-sections > .pb-modes {
  order: 80;
}
.produktas-sections > .pb-station {
  order: 90;
}
.produktas-sections > .pb-extra {
  order: 100;
}
.produktas-sections > .pb-specs {
  order: 110;
}
.produktas-sections > .pb-faq {
  order: 120;
}
.produktas-sections > .pb-ask {
  order: 130;
}
.produktas-sections > .pb-rail {
  order: 140;
}
.produktas-sections > .pb-footnotes {
  order: 150;
}

.produktas-mt1-vac .produktas-sections > .pb-extra {
  order: 55;
}

body.produktas-bellabot-pro .gallery__cutout,
body.produktas-mp2000 .gallery__cutout {
  top: 5%;
  height: 90%;
}

.section-gap {
  height: 80px;
}
@media (max-width: 760px) {
  .section-gap {
    height: 64px;
  }
}

/*# sourceMappingURL=style.css.map */
