/* ГК «ПоТоК» — стили сайта.
   Фундаментальные правила идут первыми; уточняющие состояния и адаптивные
   правила следуют позже. Порядок сохранён, чтобы не менять текущий вид страниц. */

* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
}
body {
  margin:0;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input,select,textarea {
  font:inherit;
}
button {
  cursor:pointer;
}
.wrap {
  margin-inline:auto;
}
.eyebrow {
  text-transform:uppercase;
  font-weight:800;
}
.topbar {
  font-size:12px;
}
.topbar .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:36px;
}
.topbar strong {
  font-weight:700;
}
.topbar a:hover {
  opacity:1;
}
.nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand {
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:900;
  letter-spacing:-.05em;
  font-size:21px;
}
.brandmark {
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
}
.brandmark svg {
  width:23px;
}
.brand small {
  display:block;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:800;
  margin-top:2px;
}
.navlinks {
  display:flex;
  align-items:center;
  gap:27px;
  font-weight:650;
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:12px;
}
.phone {
  font-weight:800;
  font-size:14px;
}
.btn {
  border:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 19px;
  transition:.2s transform,.2s background;
}
.btn:hover {
  transform:translateY(-2px);
}
.btn.outline {
  background:transparent;
  border:1px solid #c9d0c8;
}
.btn.outline:hover {
  background:white;
}
.hero-tag {
  align-items:center;
  gap:9px;
  text-transform:uppercase;
  font-weight:800;
}
.dot {
  width:7px;
  height:7px;
  border-radius:50%;
}
h1 {
  margin:23px 0 20px;
}
.hero-buttons {
  display:flex;
  flex-wrap:wrap;
}
.hero-meta span {
  display:flex;
  gap:8px;
  align-items:center;
}
.hero-art {
  align-items:center;
  justify-content:center;
  min-width:0;
}
.hero-art:before {
  content:"";
  position:absolute;
  width:440px;
  height:440px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
  right:12%;
  top:8%;
}
.hero-art:after {
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:50%;
  right:22%;
  top:18%;
}
.art-label {
  position:absolute;
}
.trust {
  grid-template-columns:repeat(4,1fr);
  gap:0;
}
.trust-item:first-child {
  padding-left:0;
}
.trust-item b {
  display:block;
  margin-bottom:4px;
}
.section-head {
  display:flex;
  justify-content:space-between;
  gap:30px;
}
.section-head h2 {
  margin:11px 0 0;
}
.section-head p {
  color:var(--muted);
  line-height:1.65;
  margin:0;
}
.filters {
  display:flex;
  flex-wrap:wrap;
  margin:0 0 22px;
}
.filter {
  font-weight:750;
}
.catalog-tools {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  margin:0 0 21px;
}
.search {
  position:relative;
  max-width:330px;
  width:100%;
}
.search input {
  padding:12px 16px 12px 40px;
  width:100%;
  outline:none;
}
.search input:focus {
  border-color:#9dac9f;
}
.search svg {
  position:absolute;
  left:14px;
  top:12px;
  width:15px;
  color:#879189;
}
.result-count {
  color:var(--muted);
}
.fleet-grid {
  display:grid;
}
.machine-visual {
  display:grid;
  place-items:center;
}
.machine-visual:before {
  content:"";
  position:absolute;
  border-radius:50%;
}
.machine-visual:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  border-bottom:1px solid #d0d7ce;
}
.machine-svg {
  position:relative;
  z-index:1;
}
.machine-type {
  position:absolute;
  z-index:2;
  left:14px;
  top:14px;
  text-transform:uppercase;
  font-weight:850;
  padding:8px 10px;
}
.machine-number {
  position:absolute;
  z-index:2;
  right:15px;
  top:15px;
  font-size:10px;
  font-weight:800;
}
.machine-head {
  display:flex;
  justify-content:space-between;
  align-items:start;
  gap:10px;
}
.machine-head h3 {
  margin:0;
}
.machine-head p {
  margin:5px 0 0;
  color:var(--muted);
}
.spec-list {
  flex-wrap:wrap;
}
.card-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.price-note {
  color:var(--muted);
}
.price-note b {
  display:block;
  color:var(--ink);
  margin-bottom:2px;
}
.mini-btn {
  font-weight:850;
}
.empty {
  grid-column:1/-1;
  text-align:center;
  padding:55px 20px;
  color:var(--muted);
  background:#fff;
  border-radius:18px;
}
.quote-band {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.quote-band h2 {
  margin:0 0 8px;
}
.quote-band p {
  margin:0;
  color:#49543e;
}
.quote-band .btn {
  white-space:nowrap;
}
.service-card {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.service-icon {
  display:grid;
  place-items:center;
}
.service-icon svg {
  width:20px;
}
.service-card h3 {
  letter-spacing:-.04em;
  margin:25px 0 7px;
}
.service-card p {
  color:var(--muted);
  margin:0;
}
.service-link {
  font-weight:800;
  margin-top:20px;
  display:inline-flex;
  gap:8px;
  align-items:center;
}
.service-link span {
  font-size:17px;
}
.process {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  align-items:start;
}
.process-intro h2 {
  font-size:clamp(35px,4vw,50px);
  line-height:1;
  letter-spacing:-.06em;
  margin:12px 0;
}
.process-intro p {
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
  max-width:330px;
}
.steps {
  border-top:1px solid var(--line);
}
.step {
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  border-bottom:1px solid var(--line);
}
.step-no {
  font-weight:800;
}
.step h3 {
  margin:0 0 6px;
  letter-spacing:-.02em;
}
.step p {
  margin:0;
  color:var(--muted);
  line-height:1.55;
}
.contact-panel {
  display:grid;
  grid-template-columns:1fr auto;
  gap:30px;
  align-items:center;
}
.contact-panel h2 {
  line-height:1;
  margin:11px 0 12px;
}
.contact-panel p {
  max-width:510px;
  line-height:1.6;
  margin:0;
}
.contact-actions {
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:stretch;
}
.contact-actions .btn {
  white-space:nowrap;
}
.contact-panel .btn.outline {
  color:#fff;
  border-color:#46534b;
}
.contact-actions .phone {
  color:white;
  text-align:center;
  padding:8px;
}
.footer-top {
  display:flex;
  justify-content:space-between;
  gap:25px;
}
.footer-links {
  display:flex;
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
}
dialog {
  border:0;
  border-radius:24px;
  padding:0;
  width:min(560px,calc(100% - 28px));
  box-shadow:0 30px 100px rgba(0,0,0,.35);
  color:var(--ink);
  max-height:min(90vh,780px);
}
dialog::backdrop {
  background:rgba(7,14,10,.64);
  backdrop-filter:blur(4px);
}
.modal-head {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:start;
  margin-bottom:20px;
}
.modal-head h2 {
  font-size:27px;
  letter-spacing:-.05em;
  margin:5px 0;
}
.modal-head p {
  font-size:12px;
  color:var(--muted);
  margin:0;
}
.close {
  width:34px;
  height:34px;
  flex:none;
  border:0;
  background:#f1f3ee;
  font-size:19px;
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
}
.field {
  display:flex;
  flex-direction:column;
  gap:6px;
}
.field.full {
  grid-column:1/-1;
}
.field label {
  font-size:10px;
  font-weight:800;
  color:#536057;
}
.field input,.field select,.field textarea {
  width:100%;
  border:1px solid var(--line);
  border-radius:11px;
  padding:12px;
  background:#fff;
  outline:none;
  font-size:12px;
}
.field input:focus,.field select:focus,.field textarea:focus {
  border-color:#a3b192;
}
.field textarea {
  min-height:76px;
  resize:vertical;
}
.consent {
  font-size:10px;
  line-height:1.5;
  color:var(--muted);
  margin:14px 0;
}
.modal-submit {
  width:100%;
}
.form-status {
  display:none;
  margin-top:15px;
  padding:14px;
  background:#f1f5e8;
  border-radius:12px;
  font-size:12px;
  line-height:1.6;
}
.form-status.show {
  display:block;
}
.form-status a {
  font-weight:850;
  text-decoration:underline;
}
.detail-specs {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin:18px 0;
}
.detail-spec {
  background:#f2f4ef;
  padding:12px;
  border-radius:12px;
}
.detail-spec span {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-bottom:5px;
}
.detail-spec b {
  font-size:13px;
}
.toast {
  position:fixed;
  bottom:22px;
  left:50%;
  transform:translate(-50%,15px);
  opacity:0;
  pointer-events:none;
  background:var(--ink);
  color:white;
  padding:12px 17px;
  border-radius:999px;
  font-size:12px;
  z-index:50;
  transition:.2s;
}
.toast.show {
  opacity:1;
  transform:translate(-50%,0);
}
@media(max-width:920px) {
  .navlinks {
    display:none;
  }
  .hero-panel {
    grid-template-columns:1fr .8fr;
  }
  .hero-copy {
    padding:55px 0 45px 42px;
  }
  .hero-art:before {
    right:-2%;
  }
  .hero-art:after {
    right:10%;
  }
  .fleet-grid {
    grid-template-columns:repeat(2,1fr);
  }
  .process {
    gap:35px;
  }
  .trust-item {
    padding-inline:13px;
  }
}
@media(max-width:640px) {
  .wrap {
    width:min(var(--max),calc(100% - 30px));
  }
  .topbar .wrap {
    min-height:32px;
  }
  .topbar .wrap span:first-child {
    display:none;
  }
  .topbar .wrap {
    justify-content:flex-end;
  }
  .nav {
    height:64px;
  }
  .phone {
    display:none;
  }
  .nav-actions .btn {
    padding:11px 13px;
    font-size:11px;
  }
  .brand {
    font-size:18px;
  }
  .brandmark {
    width:34px;
    height:34px;
  }
  .hero {
    padding:14px 0 42px;
  }
  .hero-panel {
    display:flex;
    flex-direction:column;
    min-height:0;
    border-radius:23px;
  }
  .hero-copy {
    padding:38px 24px 0;
  }
  .hero-copy>p {
    font-size:14px;
  }
  .hero-meta {
    gap:13px;
    flex-wrap:wrap;
    margin-top:26px;
  }
  .hero-art {
    height:235px;
    margin-top:2px;
  }
  .hero-art:before {
    width:260px;
    height:260px;
    right:16%;
    top:0;
  }
  .hero-art:after {
    width:200px;
    height:200px;
    right:26%;
    top:30px;
  }
  .hero-svg {
    width:100%;
    height:225px;
  }
  .art-label {
    right:6%;
    bottom:10%;
  }
  .trust {
    grid-template-columns:1fr 1fr;
    row-gap:17px;
    padding-bottom:25px;
  }
  .trust-item {
    border-right:0;
    padding:0 8px!important;
  }
  .trust-item:nth-child(odd) {
    border-right:1px solid var(--line);
    padding-left:0!important;
  }
  .trust-item b {
    font-size:14px;
  }
  .trust-item span {
    font-size:10px;
  }
  .catalog-section {
    padding-top:53px;
  }
  .section-head {
    align-items:start;
    flex-direction:column;
    gap:12px;
    margin-bottom:21px;
  }
  .section-head p {
    font-size:12px;
  }
  .section-head h2 {
    font-size:36px;
  }
  .filters {
    flex-wrap:nowrap;
    overflow:auto;
    padding-bottom:4px;
    margin-right:-15px;
  }
  .filter {
    white-space:nowrap;
  }
  .catalog-tools {
    align-items:start;
    flex-direction:column;
  }
  .search {
    max-width:none;
  }
  .fleet-grid {
    grid-template-columns:1fr;
  }
  .machine-visual {
    height:180px;
  }
  .machine-svg {
    height:150px;
  }
  .quote-band {
    padding:25px 22px;
    align-items:start;
    flex-direction:column;
    border-radius:20px;
  }
  .quote-band .btn {
    width:100%;
  }
  section {
    padding:58px 0;
  }
  .services-grid {
    grid-template-columns:1fr;
  }
  .service-card {
    min-height:175px;
  }
  .process {
    grid-template-columns:1fr;
    gap:22px;
  }
  .contact-panel {
    grid-template-columns:1fr;
    padding:29px 23px;
    border-radius:22px;
  }
  .contact-actions {
    align-items:stretch;
  }
  .footer-top,.footer-bottom {
    flex-direction:column;
  }
  .footer-links {
    flex-wrap:wrap;
  }
  .legal {
    text-align:left;
  }
  .form-grid {
    grid-template-columns:1fr;
  }
  .field.full {
    grid-column:auto;
  }
  .modal {
    padding:22px;
  }
  .detail-specs {
    grid-template-columns:1fr 1fr;
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    scroll-behavior:auto!important;
    transition:none!important;
  }
}
.machine-svg {
  object-fit:contain;
}
:focus-visible {
  outline:3px solid #83a82c!important;
  outline-offset:3px;
}
.machine-visual {
  cursor:pointer;
}
.photo-hint {
  position:absolute;
  right:13px;
  bottom:11px;
  background:rgba(17,25,21,.82);
  color:#fff;
  border-radius:999px;
  padding:7px 10px;
  font-size:9px;
  font-weight:750;
  opacity:0;
  transform:translateY(4px);
  transition:.2s;
}
.machine-card:hover .photo-hint,.machine-visual:focus-within .photo-hint {
  opacity:1;
  transform:none;
}
.detail-photo {
  width:100%;
  height:260px;
  object-fit:cover;
  background:#e8ece5;
  margin:0 0 12px;
}
.faq-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  align-items:start;
}
.faq-intro h2 {
  font-size:clamp(35px,4vw,50px);
  line-height:1;
  letter-spacing:-.06em;
  margin:12px 0;
}
.faq-intro p {
  color:var(--muted);
  font-size:13px;
  line-height:1.65;
}
.faq-list {
  border-top:1px solid #d5dbd2;
}
.faq-list details {
  border-bottom:1px solid #d5dbd2;
  padding:19px 0;
}
.faq-list summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:15px;
}
.faq-list summary::-webkit-details-marker {
  display:none;
}
.faq-list summary:after {
  content:'+';
  font-size:20px;
  line-height:1;
}
.faq-list details[open] summary:after {
  content:'−';
}
.faq-list details p {
  line-height:1.65;
  color:var(--muted);
  max-width:650px;
  margin:12px 26px 0 0;
}
.mobile-cta {
  display:none;
}
@media(max-width:920px) {
  .faq-grid {
    gap:35px;
  }
}
@media(max-width:640px) {
  body {
    padding-bottom:74px;
  }
  .faq-grid {
    grid-template-columns:1fr;
    gap:18px;
  }
  .faq-intro h2 {
    font-size:36px;
  }
  .detail-photo {
    height:205px;
  }
  .mobile-cta {
    position:fixed;
    z-index:25;
    left:0;
    right:0;
    bottom:0;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    padding:10px 15px calc(10px + env(safe-area-inset-bottom));
    background:rgba(243,244,239,.96);
    border-top:1px solid var(--line);
    backdrop-filter:blur(14px);
  }
  .mobile-cta .btn {
    padding:13px 10px;
    font-size:11px;
  }
}

.topbar a {
  opacity:1;
}
header {
  border-bottom:1px solid #e3e0d8;
}
.hero-art:before,.hero-art:after {
  display:none;
}
.art-label {
  text-transform:uppercase;
}
.trust {
  border-bottom:1px solid #d8d5cc;
}
.filters {
  border-bottom:1px solid #d8d5cc;
  margin-bottom:26px;
}
.filter {
  border-bottom:2px solid transparent;
  background:transparent;
}
.filter:hover,.filter.active {
  background:transparent;
  color:#1d211e;
  border-color:#ff6b35;
}
.machine-svg {
  filter:none;
}
.machine-type {
  letter-spacing:.08em;
}
.quote-band .btn {
  border-radius:6px;
}
.footer-top {
  padding-bottom:30px;
}
.faq-grid {
  gap:90px;
}
.faq-list {
  border-color:#d3d0c8;
}
.faq-list details {
  border-color:#d3d0c8;
}
.modal {
  padding:30px;
}
.close {
  border-radius:6px;
}
@media(max-width:920px) {
  .hero-panel {
    grid-template-columns:.9fr 1.1fr;
  }
  .hero-copy {
    padding-left:42px;
  }
  .hero-art {
    margin:20px;
  }
  .process,.faq-grid {
    gap:35px;
  }
  .machine-visual {
    height:235px;
  }
}
@media(max-width:640px) {
  .nav {
    height:66px;
  }
  .hero {
    padding:14px 0 38px;
  }
  .hero-panel {
    border-radius:3px;
    min-height:0;
  }
  .hero-copy {
    padding:35px 23px 8px;
  }
  h1 {
    font-size:clamp(48px,14vw,66px);
  }
  .hero-copy>p {
    font-size:14px;
  }
  .hero-art {
    height:250px;
    min-height:0;
    margin:12px 12px 12px;
  }
  .hero-svg {
    height:100%;
    width:100%;
  }
  .art-label {
    right:10px;
    bottom:10px;
    font-size:9px;
  }
  .hero-meta {
    font-size:10px;
  }
  .trust-item b {
    font-size:13px;
  }
  .catalog-section {
    padding-top:58px;
  }
  .section-head h2 {
    font-size:39px;
  }
  .filters {
    border:0;
    margin-bottom:18px;
  }
  .filter {
    border:1px solid #d8d5cc;
    margin-right:6px;
    padding:10px 13px;
    border-radius:999px;
  }
  .filter.active {
    border:1px solid #ff6b35;
    background:#ff6b35;
  }
  .machine-visual {
    height:245px;
  }
  .machine-body {
    padding:18px;
  }
  .quote-band {
    padding:26px 22px;
  }
  .service-card {
    min-height:185px;
  }
  .process {
    gap:22px;
  }
  .contact-panel {
    padding:29px 23px;
  }
  .mobile-cta {
    background:rgba(246,244,239,.97);
    border-color:#dedbd3;
  }
  .mobile-cta .btn {
    border-radius:6px;
  }
}

:root {
  --ink:#111915;
  --ink2:#1c2822;
  --paper:#f3f4ef;
  --white:#fff;
  --lime:#d8f56b;
  --muted:#68726c;
  --line:#dfe3dc;
  --orange:#e87042;
  --radius:22px;
  --max:1320px;
}
.wrap {
  width:min(var(--max),calc(100% - 64px));
}
.brandmark {
  border-radius:13px;
}
.btn {
  border-radius:999px;
}
.btn.outline {
  border-radius:999px;
}
.hero-panel {
  grid-template-columns:.84fr 1.16fr;
}
h1 {
  font-size:clamp(54px,6.4vw,86px);
  max-width:570px;
  line-height:.94;
  letter-spacing:-.075em;
}
.hero-meta {
  flex-wrap:wrap;
}
.hero-art {
  align-self:stretch;
  isolation:isolate;
}
.city-scene {
  position:absolute;
  overflow:hidden;
  z-index:0;
}
.city-scene svg {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  transform:scale(1.1);
  transform-origin:center bottom;
  animation:city-drift 34s ease-in-out infinite alternate;
}
.city-hill {
  fill:#d0d9ce;
}
.city-building {
  fill:#9fac9d;
}
.city-windows {
  fill:#e7eddf;
}
.cathedral {
  stroke-width:2;
}
.crane {
  fill:#9ba99d;
  stroke:#9ba99d;
  stroke-width:3;
  opacity:.66;
}
.art-label {
  transform:none;
}
.scene-caption {
  position:absolute;
  font-weight:850;
}
.scene-caption i {
  display:inline-block;
  margin:0 8px 1px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#89968b;
}
@keyframes machine-float {
  0%,100% {
    transform:translate3d(0,0,0) rotate(0);
  }
  50% {
    transform:translate3d(0,-9px,0) rotate(-.3deg);
  }
}
@keyframes city-drift {
  from {
    transform:scale(1.1) translateX(-1.2%);
  }
  to {
    transform:scale(1.14) translateX(1.2%);
  }
}
.trust {
  padding:0 0 35px;
}
.ticker {
  overflow:hidden;
  background:var(--ink);
  color:var(--lime);
  padding:15px 0;
}
.ticker-track {
  display:flex;
  align-items:center;
  justify-content:space-around;
  gap:36px;
  width:max-content;
  min-width:100%;
  white-space:nowrap;
}
.ticker-track span {
  font-weight:850;
}
.ticker-track i {
  font-style:normal;
  font-size:14px;
  color:white;
  opacity:.75;
}
@keyframes ticker-scroll {
  to {
    transform:translateX(-50%);
  }
}
.machine-visual {
  min-height:295px;
}
.machine-body {
  justify-content:center;
}
.service-card {
  transition:transform .24s,box-shadow .24s;
}
.process {
  gap:90px;
}
.detail-photo {
  border-radius:16px;
}
.mobile-cta {
  border-radius:16px 16px 0 0;
}
@media(max-width:980px) {
  .wrap {
    width:calc(100% - 40px);
  }
  .hero-panel {
    grid-template-columns:.92fr 1.08fr;
    min-height:540px;
  }
  .hero-copy {
    padding-left:42px;
  }
  .hero-art {
    min-height:490px;
  }
  .fleet-grid {
    grid-template-columns:1fr;
  }
  .machine-card {
    grid-template-columns:1fr 1fr;
  }
  .machine-visual {
    min-height:280px;
  }
}
@media(max-width:640px) {
  .wrap {
    width:calc(100% - 30px);
  }
  .nav {
    height:66px;
  }
  .hero {
    padding:14px 0 34px;
  }
  .hero-panel {
    display:flex;
    flex-direction:column;
    min-height:0;
    border-radius:24px;
  }
  .hero-copy {
    padding:37px 24px 0;
  }
  h1 {
    font-size:clamp(50px,13.5vw,69px);
  }
  .hero-copy>p {
    font-size:14px;
  }
  .hero-meta {
    margin-top:23px;
    gap:12px;
  }
  .hero-art {
    min-height:0;
    height:260px;
    margin:9px 12px 12px;
    border-radius:150px 16px 16px 16px;
  }
  .hero-svg {
    height:88%;
    bottom:1%;
  }
  .scene-caption {
    font-size:8px;
    left:13px;
    bottom:15px;
  }
  .art-label {
    right:12px;
    bottom:12px;
    font-size:9px;
  }
  .trust {
    grid-template-columns:1fr 1fr;
    gap:16px;
  }
  .trust-item {
    padding:0 8px!important;
  }
  .trust-item b {
    font-size:13px;
  }
  .trust-item span {
    font-size:10px;
  }
  .ticker {
    margin-top:25px;
  }
  .ticker-track {
    gap:24px;
  }
  .ticker-track span {
    font-size:9px;
  }
  .catalog-section {
    padding-top:58px;
  }
  .section-head {
    margin-bottom:23px;
  }
  .section-head h2 {
    font-size:39px;
  }
  .fleet-grid {
    grid-template-columns:1fr;
    gap:14px;
  }
  .machine-card {
    grid-template-columns:1fr;
    border-radius:17px;
  }
  .machine-visual {
    height:230px;
    min-height:0;
  }
  .machine-body {
    padding:18px;
  }
  .machine-head h3 {
    font-size:20px;
  }
  .machine-svg {
    padding:8px;
  }
  .quote-band {
    border-radius:20px;
  }
  section {
    padding:64px 0;
  }
  .services-grid {
    grid-template-columns:1fr;
  }
  .service-card {
    min-height:180px;
  }
  .process,.faq-grid {
    gap:24px;
  }
  .contact-panel {
    border-radius:22px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-svg,.city-scene svg,.ticker-track {
    animation:none!important;
  }
  html {
    scroll-behavior:auto;
  }
}

.topbar strong {
  color:var(--lime);
}
.brandmark {
  background:var(--lime);
}
.btn {
  background:var(--lime);
  color:var(--ink);
}
.btn:hover {
  background:#c9ed53;
}
.btn.dark {
  background:var(--ink);
  color:#fff;
}
.btn.dark:hover {
  background:#29352f;
}
.scene-caption {
  color:#4d5a50;
}
.mini-btn:hover {
  background:#c9ed53;
}
.quote-band .btn {
  background:var(--ink);
  color:#fff;
}
.service-icon {
  color:#38453c;
}
.service-link {
  color:var(--ink);
}
.contact-panel .btn:not(.outline) {
  background:var(--lime);
  color:var(--ink);
}
.hero-panel h1 {
  color:#fff;
}
.hero-copy {
  padding-right:22px;
}
@media(max-width:640px) {
  .hero-panel h1 {
    font-size:clamp(42px,11vw,54px);
  }
  .hero-copy {
    padding-right:0;
  }
}

header {
  margin-bottom:-94px;
  backdrop-filter:none;
}
.nav {
  margin:0 auto;
  transition:height .25s,background .25s,box-shadow .25s;
}
.navlinks a {
  color:rgba(255,255,255,.76);
}
.navlinks a:hover {
  color:var(--lime);
}
.nav .phone {
  color:#fff;
}
.brand {
  color:#fff;
}
.brand small {
  color:#a5b0a7;
}
.nav-actions .btn {
  padding:12px 17px;
}
.scroll-progress {
  height:3px;
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:60;
  pointer-events:none;
}
.scroll-progress span {
  display:block;
  height:100%;
  width:100%;
  transform:scaleX(0);
  transform-origin:left;
  background:var(--lime);
}
.cursor-glow {
  position:fixed;
  z-index:1;
  pointer-events:none;
  width:230px;
  height:230px;
  border-radius:50%;
  left:0;
  top:0;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(216,245,107,.11),rgba(216,245,107,.035) 34%,transparent 72%);
  transition:opacity .25s;
  mix-blend-mode:screen;
}
.cursor-glow.visible {
  opacity:1;
}
.reveal {
  opacity:0;
}
.reveal.in-view {
  opacity:1;
  transform:translateY(0);
}
.machine-card {
  transform-style:preserve-3d;
  will-change:transform;
}
.machine-card:hover {
  transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-4px);
}
@media(max-width:920px) {
  .nav {
    width:calc(100% - 40px);
  }
}
@media(max-width:640px) {
  header {
    top:7px;
    margin-bottom:-75px;
  }
  .nav {
    width:calc(100% - 30px);
    height:58px;
    padding:0 9px 0 12px;
  }
  .nav-actions .btn {
    font-size:10px;
    padding:10px 12px;
  }
  .cursor-glow {
    display:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  .reveal {
    opacity:1;
    transform:none;
    transition:none;
  }
  .machine-card {
    transition:box-shadow .25s;
  }
  .cursor-glow {
    display:none;
  }
}
.izhevsk-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 47%;
  opacity:.74;
  filter:saturate(.72) contrast(.96);
}
.city-hill {
  opacity:.13;
}
.city-building {
  opacity:.12;
}
.city-windows {
  opacity:.22;
}
.cathedral path:nth-child(2) {
  fill:var(--lime);
  stroke:var(--lime);
}
.cathedral path:nth-child(3) {
  fill:#cbd4c9;
  stroke:#cbd4c9;
}
.cathedral path:nth-child(4) {
  fill:var(--lime);
  stroke:var(--lime);
}
.monument-lines {
  fill:none;
  stroke:#e9ece5;
  stroke-width:2;
}
.factory path:nth-child(2) {
  fill:#d7dfd5;
}
.site-road {
  fill:#66746a;
  opacity:.62;
}
.road-marking {
  fill:none;
  stroke:var(--lime);
  stroke-width:3;
  stroke-dasharray:26 22;
  animation:road-scroll 3.2s linear infinite;
}
.scaffold {
  fill:none;
  stroke:#d8f56b;
  stroke-width:2;
  opacity:.36;
}
.city-scene {
  transition:transform .14s linear;
  transform:translateY(var(--scroll-offset,0px));
  translate:var(--p-x,0px) var(--p-y,0px);
}
.city-scene svg {
  animation-duration:16s;
}
.hero-art {
  transition:transform .25s ease;
}
.scene-caption a {
  font-size:8px;
  color:#39463d;
  text-decoration:underline;
  text-underline-offset:2px;
}
.scene-spark {
  position:absolute;
  z-index:2;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--lime);
  box-shadow:0 0 18px 5px rgba(216,245,107,.5);
  animation:spark-pulse 2.2s ease-in-out infinite;
}
.spark-one {
  top:28%;
  left:13%;
}
.spark-two {
  top:51%;
  right:10%;
  animation-delay:1.1s;
}
@keyframes road-scroll {
  to {
    stroke-dashoffset:-96;
  }
}
@keyframes spark-pulse {
  0%,100% {
    opacity:.35;
    transform:scale(.75);
  }
  50% {
    opacity:1;
    transform:scale(1.35);
  }
}
h1,h2,h3,p,button,input,select,textarea {
  font-family:inherit;
}
.navlinks {
  font-size:14px;
}
.section-head p,.service-card p,.process-intro p,.step p,.contact-panel p,.faq-intro p,.faq-list details p {
  font-size:15px;
}
.legal,.footer-bottom {
  font-size:11px;
}
@media(max-width:640px) {
  .hero-copy>p,.section-head p,.service-card p,.process-intro p,.step p,.contact-panel p,.faq-intro p,.faq-list details p {
    font-size:14px;
  }
  .hero-panel h1 {
    font-weight:650;
  }
  .machine-head h3 {
    font-size:21px;
  }
  .spec {
    font-size:11px;
  }
  .machine-card:hover {
    transform:none;
  }
  .hero-art {
    transform:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-art {
    transform:none;
  }
  .road-marking,.scene-spark {
    animation:none!important;
  }
}
.city-scene img.izhevsk-photo {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.city-scene svg {
  z-index:1;
}
.cathedral {
  fill:#d8f56b;
  stroke:#d8f56b;
  opacity:.88;
  filter:drop-shadow(0 2px 6px rgba(17,25,21,.45));
}
.friendship {
  fill:#e9ece5;
  opacity:.55;
}
.factory {
  fill:#d6ded3;
  opacity:.55;
}
.hero-svg {
  z-index:2;
}
.scene-caption {
  z-index:4;
  padding:7px 9px;
  border-radius:7px;
  letter-spacing:.08em;
}
.hero-art {
  transform-style:preserve-3d;
}
@media(max-width:640px) {
  .city-scene img.izhevsk-photo {
    object-position:61% 45%;
    opacity:.75;
  }
  .hero-svg {
    width:108%;
    height:83%;
    left:-5%;
    bottom:0;
  }
  .scene-caption {
    font-size:7px!important;
    left:10px;
    bottom:10px;
  }
  .art-label {
    bottom:12px;
    right:10px;
  }
}

:root {
  --font-system:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif;
}
html,body,button,input,select,textarea {
  font-family:var(--font-system)!important;
}
h1,h2,h3 {
  font-family:var(--font-system)!important;
  font-weight:650;
  letter-spacing:-.055em;
}
.topbar {
  display:none;
}
header {
  background:transparent;
  border:0;
}
.nav {
  width:min(1280px,calc(100% - 48px));
  height:70px;
  padding:0 25px;
  border:0;
  border-radius:0 0 22px 22px;
  box-shadow:0 8px 32px rgba(17,25,21,.13);
  backdrop-filter:blur(24px);
}
.hero .wrap {
  width:min(1400px,calc(100% - 32px));
}
.hero-panel {
  position:relative;
}
.hero-tag {
  justify-content:center;
  letter-spacing:.12em;
}
.hero-panel h1 {
  margin:24px auto 18px;
  line-height:.91;
  letter-spacing:-.075em;
  font-weight:650;
}
.hero-buttons .btn {
  padding:15px 22px;
  font-size:15px;
  font-weight:600;
}
.hero-meta {
  justify-content:center;
  margin-top:22px;
  gap:28px;
  color:rgba(255,255,255,.72);
  font-size:13px;
}
.hero-meta b {
  color:#fff;
  font-weight:650;
}
.city-scene {
  inset:0;
  background:linear-gradient(180deg,var(--ink) 0%,rgba(17,25,21,.18) 31%,rgba(17,25,21,.03) 100%);
}
.city-scene img.izhevsk-photo {
  object-position:center 48%;
  opacity:.65;
  filter:saturate(.55) contrast(1.03);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 100%);
}
.city-scene svg {
  opacity:.25;
}
.hero-svg {
  animation:machine-float 6s ease-in-out infinite;
}
.scene-caption {
  left:26px;
  background:rgba(244,245,238,.88);
  font-size:9px;
}
.art-label {
  right:26px;
  padding:12px 16px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
}
.trust {
  padding-top:18px;
  padding-bottom:30px;
}
.trust-item {
  padding:16px 22px;
  border-right:1px solid var(--line);
}
.trust-item:last-child {
  border:0;
}
.trust-item b {
  font-size:17px;
  letter-spacing:-.035em;
}
.ticker {
  margin:12px auto 0;
  max-width:1400px;
  border-radius:22px;
}
.ticker-track {
  animation-duration:45s;
}
.ticker-track span {
  font-size:11px;
  letter-spacing:.14em;
}
section {
  padding:112px 0;
}
.section-head {
  margin-bottom:42px;
  align-items:end;
}
.section-head h2 {
  font-size:clamp(46px,6vw,76px);
  letter-spacing:-.07em;
  line-height:.96;
}
.section-head p {
  font-size:17px;
  max-width:430px;
}
.filters {
  gap:9px;
}
.filter {
  padding:12px 17px;
}
.catalog-tools {
  margin-bottom:26px;
}
.search input {
  padding-block:14px;
}
.result-count {
  font-size:13px;
}
.machine-card {
  grid-template-columns:1fr;
}
.machine-visual:before {
  width:300px;
  height:300px;
  right:-50px;
  top:-115px;
  background:rgba(255,255,255,.54);
}
.machine-svg {
  height:260px;
  width:91%;
  max-width:440px;
  padding:8px;
  transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.machine-card:hover .machine-svg {
  transform:scale(1.045);
}
.quote-band h2 {
  letter-spacing:-.05em;
}
.quote-band p {
  font-size:16px;
}
.service-card {
  padding:28px;
}
.service-card p {
  font-size:16px;
  line-height:1.55;
}
.service-icon {
  width:54px;
  height:54px;
}
.process-intro h2,.faq-intro h2 {
  font-size:clamp(48px,6vw,72px);
  letter-spacing:-.07em;
}
.step {
  padding:24px 0;
}
.step-no {
  font-size:15px;
}
.step p {
  font-size:16px;
}
.faq {
  background:#e9ece5;
}
.faq-list summary {
  padding:25px 0;
}
.faq-list details p {
  font-size:16px;
}
.contact-panel {
  border-radius:30px;
  padding:58px;
}
.contact-panel h2 {
  font-size:clamp(54px,7vw,82px);
  letter-spacing:-.07em;
}
.contact-panel p {
  font-size:17px;
}
.footer-copy,.footer-links {
  font-size:14px;
}
.reveal {
  transform:translateY(34px);
  transition:opacity .95s ease,transform .95s cubic-bezier(.16,1,.3,1);
}
.cursor-glow {
  opacity:.15;
}
@media(max-width:920px) {
  .hero-panel {
    min-height:790px;
    height:790px;
  }
  .hero-copy {
    padding-top:125px;
  }
  .hero-panel h1 {
    font-size:clamp(62px,10vw,92px);
  }
  .hero-art {
    height:51%;
  }
  .hero-svg {
    height:100%;
    bottom:-3%;
    width:112%;
  }
  .fleet-grid {
    grid-template-columns:1fr;
  }
  .machine-card {
    grid-template-columns:.95fr 1.05fr;
  }
  .machine-visual {
    height:auto;
    min-height:280px;
  }
  .machine-svg {
    height:240px;
  }
  .trust-item {
    padding-inline:12px;
  }
  .trust-item b {
    font-size:15px;
  }
  .trust-item span {
    font-size:11px;
  }
}
@media(max-width:640px) {
  header {
    margin-bottom:-60px;
  }
  .nav {
    width:calc(100% - 24px);
    height:60px;
    padding:0 9px 0 13px;
    border-radius:0 0 17px 17px;
  }
  .brand {
    font-size:17px;
  }
  .brandmark {
    width:34px;
    height:34px;
  }
  .brand small {
    font-size:8px;
  }
  .nav-actions .btn {
    font-size:11px;
    padding:11px 13px;
  }
  .hero {
    padding:0 0 22px;
  }
  .hero .wrap {
    width:100%;
  }
  .hero-panel {
    height:760px;
    min-height:760px;
    border-radius:0 0 26px 26px;
  }
  .hero-copy {
    padding:112px 20px 0;
  }
  .hero-tag {
    font-size:10px;
  }
  .hero-panel h1 {
    font-size:clamp(53px,13vw,74px);
    margin:22px auto 16px;
    line-height:.95;
  }
  .hero-copy>p {
    font-size:16px;
    line-height:1.45;
    max-width:370px;
  }
  .hero-buttons {
    gap:9px;
  }
  .hero-buttons .btn {
    padding:13px 16px;
    font-size:13px;
  }
  .hero-meta {
    font-size:11px;
    gap:13px;
    flex-wrap:wrap;
  }
  .hero-art {
    height:43%;
    border-radius:0 0 26px 26px;
  }
  .hero-svg {
    width:125%;
    height:93%;
    bottom:-2%;
  }
  .city-scene img.izhevsk-photo {
    object-position:57% center;
    opacity:.62;
  }
  .scene-caption {
    left:13px;
    bottom:12px;
    padding:5px 7px;
    font-size:7px!important;
  }
  .art-label {
    right:12px;
    bottom:13px;
    font-size:9px;
    padding:9px 12px;
  }
  .trust {
    grid-template-columns:1fr 1fr;
    padding:10px 17px 22px;
    gap:0;
  }
  .trust-item {
    border-right:0;
    padding:13px 7px!important;
  }
  .trust-item:nth-child(odd) {
    border-right:1px solid var(--line);
  }
  .trust-item b {
    font-size:14px;
  }
  .trust-item span {
    font-size:11px;
  }
  .ticker {
    margin:8px 12px 0;
    border-radius:14px;
  }
  .ticker-track span {
    font-size:9px;
  }
  section {
    padding:72px 0;
  }
  .catalog-section {
    padding-top:80px;
  }
  .section-head {
    align-items:start;
    flex-direction:column;
    gap:16px;
    margin-bottom:26px;
  }
  .section-head h2 {
    font-size:clamp(43px,12vw,60px);
  }
  .section-head p {
    font-size:15px;
  }
  .filters {
    overflow:auto;
    flex-wrap:nowrap;
    margin-right:-15px;
    padding-bottom:5px;
  }
  .filter {
    white-space:nowrap;
    font-size:12px;
    padding:11px 15px;
  }
  .catalog-tools {
    align-items:start;
    flex-direction:column;
  }
  .fleet-grid {
    grid-template-columns:1fr;
    gap:16px;
  }
  .machine-card {
    grid-template-columns:1fr;
    border-radius:20px;
  }
  .machine-visual {
    height:245px;
    min-height:0;
  }
  .machine-svg {
    height:205px;
  }
  .machine-body {
    padding:21px;
  }
  .machine-head h3 {
    font-size:22px;
  }
  .quote-band {
    padding:27px 22px;
    align-items:start;
    flex-direction:column;
  }
  .quote-band h2 {
    font-size:25px;
  }
  .quote-band .btn {
    width:100%;
  }
  .service-card {
    padding:23px;
    min-height:205px;
  }
  .service-card h3 {
    font-size:22px;
  }
  .service-card p {
    font-size:15px;
  }
  .process,.faq-grid {
    gap:28px;
  }
  .process-intro h2,.faq-intro h2 {
    font-size:48px;
  }
  .step h3 {
    font-size:18px;
  }
  .step p,.faq-list details p {
    font-size:15px;
  }
  .contact-panel {
    padding:31px 24px;
    gap:27px;
  }
  .contact-panel h2 {
    font-size:57px;
  }
  .contact-panel p {
    font-size:15px;
  }
  .contact-actions {
    align-items:stretch;
  }
  .footer-top,.footer-bottom {
    flex-direction:column;
    gap:18px;
  }
  .mobile-cta {
    display:flex;
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-svg,.city-scene svg,.ticker-track {
    animation:none!important;
  }
  .reveal {
    opacity:1;
    transform:none;
    transition:none;
  }
  .machine-svg {
    transition:none;
  }
}
.hero-panel h1 {
  font-size:clamp(58px,7.2vw,94px);
  max-width:980px;
}
.scene-caption {
  bottom:17px;
}
@media(max-width:920px) {
  .hero-art {
    height:45%;
  }
  .hero-panel h1 {
    font-size:clamp(56px,8.5vw,82px);
  }
  .hero-svg {
    width:108%;
    height:105%;
    left:-4%;
    right:auto;
    margin:0;
    translate:none;
  }
}
@media(max-width:640px) {
  .hero-copy {
    padding-top:102px;
  }
  .hero-panel h1 {
    font-size:clamp(58px,13vw,76px);
    line-height:.94;
  }
  .hero-copy>p {
    font-size:15px;
    margin-bottom:18px;
  }
  .hero-art {
    height:41%;
  }
  .hero-svg {
    width:120%;
    height:98%;
    left:-10%;
    bottom:0;
  }
  .hero-meta {
    display:none;
  }
}

body {
  --paper:#fff;
  background:#fff;
  color:#111915;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",system-ui,"Segoe UI",sans-serif!important;
  font-size:17px;
  line-height:1.6;
  letter-spacing:-.01em;
}
button,input,select,textarea,h1,h2,h3,p,span,a {
  font-family:inherit;
}
.hero-panel {
  box-shadow:none;
}
.dot {
  background:var(--lime);
  box-shadow:0 0 0 5px rgba(216,245,107,.22);
}
.city-scene,.scene-spark,.scene-caption {
  display:none!important;
}
.art-label {
  background:var(--lime);
  border:1px solid var(--ink);
  box-shadow:none;
  color:var(--ink);
}
.services,.faq {
  background:transparent!important;
}
.trust-item {
  border-color:#b8c1ba;
}
.trust-item span {
  font-size:13px;
  color:#68726c;
}
.section-head h2,.process-intro h2,.faq-intro h2,.contact-panel h2 {
  font-weight:620;
  letter-spacing:-.055em;
}
.eyebrow {
  color:#59635c!important;
  font-size:12px;
  letter-spacing:.12em;
}
.contact-panel .eyebrow {
  color:var(--lime)!important;
}
.machine-card {
  transition:border-color .2s ease;
}
.machine-visual:before {
  display:none;
}
.machine-visual:after {
  border-color:#bbc4bd;
  bottom:15px;
}
.machine-number {
  color:#59635c;
}
.machine-head h3 {
  font-weight:620;
}
.spec {
  border-radius:7px;
}
.card-bottom {
  border-color:#aeb8b0;
}
.price-note {
  font-size:14px;
}
.price-note b {
  font-size:16px;
}
.mini-btn {
  background:var(--lime);
  border:1px solid var(--ink);
  border-radius:8px;
  font-size:14px;
  padding:12px 15px;
}
.machine-type {
  border-radius:6px;
  font-size:11px;
}
.search input {
  border:1.5px solid #aeb8b0;
  border-radius:8px;
  background:#fff;
  font-size:15px;
}
.filter {
  border:1.5px solid #aeb8b0;
  border-radius:7px;
  font-size:14px;
  color:var(--ink);
}
.filter.active,.filter:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.catalog-tools .result-count {
  font-size:14px;
}
.service-card {
  background:#fff;
  border:1.5px solid #aeb8b0;
  border-radius:16px;
  box-shadow:none;
  min-height:245px;
}
.service-card:hover {
  transform:translateY(-3px);
  box-shadow:none;
}
.service-icon {
  background:#fff;
  border:1.5px solid #aeb8b0;
  border-radius:12px;
}
.service-card h3 {
  font-size:24px;
  font-weight:620;
}
.service-card p,.section-head p,.process-intro p,.step p,.contact-panel p,.faq-intro p,.faq-list details p {
  font-size:17px;
  line-height:1.6;
  color:#4d5750;
}
.service-link {
  font-size:14px;
}
.step {
  border-top:1px solid #aeb8b0;
}
.steps .step:last-child {
  border-bottom:1px solid #aeb8b0;
}
.step h3 {
  font-size:20px;
  font-weight:620;
}
.faq-list,.faq-list details {
  border-color:#aeb8b0;
}
.faq-list summary {
  font-size:18px;
  font-weight:620;
}
.faq-list summary:after {
  color:var(--ink);
}
.contact-panel {
  box-shadow:none;
  border:1.5px solid #aeb8b0;
}
.quote-band {
  border:1.5px solid var(--ink);
  box-shadow:none;
}
.btn {
  font-size:15px;
  font-weight:620;
}
.nav-actions .btn {
  font-size:14px;
}
.reveal,.reveal.in-view {
  opacity:1;
  transform:none;
  transition:none;
}
.cursor-glow {
  display:none;
}
.hero-panel h1.scroll-tone {
  --tone-from:#111915;
  --tone-to:#68726c;
}
.contact-panel h2.scroll-tone {
  --tone-from:#fff;
  --tone-to:#b7c0b8;
}
@media(max-width:920px) {
  .machine-card {
    grid-template-columns:1fr;
  }
  .machine-visual {
    height:280px;
    min-height:0;
  }
  .machine-body {
    padding:22px;
  }
}
@media(max-width:640px) {
  body {
    font-size:16px;
  }
  .hero-panel {
    background:#fff;
  }
  .hero-copy>p {
    font-size:17px;
  }
  .hero-art {
    background:#fff;
  }
  .hero-svg {
    width:118%;
    left:-9%;
    height:96%;
    bottom:0;
  }
  .machine-visual {
    height:245px;
  }
  .machine-body {
    padding:20px;
  }
  .service-card p,.section-head p,.process-intro p,.step p,.contact-panel p,.faq-intro p,.faq-list details p {
    font-size:16px;
  }
  .section-head h2 {
    font-size:43px;
  }
  .hero-panel h1 {
    font-size:clamp(58px,13vw,76px);
  }
}
.step-no {
  color:#59635c!important;
}
.machine-type {
  color:var(--ink)!important;
}
.detail-photo,.mobile-cta {
  background:#fff;
}
.detail-photo {
  border:1.5px solid #aeb8b0;
}
.mobile-cta {
  border-color:#aeb8b0;
}
.quote-band h2,.quote-band p {
  color:var(--ink);
}

.hero-panel {
  height:auto!important;
  min-height:0!important;
  display:flex!important;
  flex-direction:column;
  color:#fff!important;
  overflow:hidden;
  text-align:center;
}
.hero-copy {
  position:relative!important;
  inset:auto!important;
}
.hero-copy h1 {
  max-width:900px;
  color:#fff!important;
}
.hero-copy>p {
  color:#d7ded8!important;
}
.hero-buttons .outline {
  color:#fff!important;
  border-color:rgba(255,255,255,.58)!important;
}
.hero-buttons .outline:hover {
  background:rgba(255,255,255,.1)!important;
}
.hero-art {
  inset:auto!important;
  z-index:1;
}
.city-scene,.scene-spark,.scene-caption,.art-label {
  display:none!important;
}
.hero-svg {
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  mix-blend-mode:normal!important;
}
.services .section-head {
  color:#fff;
}
.services .section-head p {
  margin-top:16px;
}
.services-grid {
  display:grid!important;
}
.contact-panel {
  background:var(--ink)!important;
  color:#fff!important;
}
.contact-panel h2 {
  color:#fff!important;
}
.contact-panel p {
  color:#d7ded8!important;
}
.scroll-tone {
  --tone-from:#7f8a82;
  --tone-to:#fff;
  transition:color .08s linear;
}
.hero-copy h1.scroll-tone,.services .section-head h2.scroll-tone,.contact-panel h2.scroll-tone {
  --tone-from:#7f8a82;
  --tone-to:#fff;
}
.hero-copy>p.scroll-tone,.services .section-head p.scroll-tone,.contact-panel p.scroll-tone {
  --tone-from:#a8b1aa;
  --tone-to:#fff;
}
@media(max-width:920px) {
  .hero-art {
    height:330px!important;
  }
  .services-grid {
    grid-template-columns:1fr!important;
  }
  .services .section-head {
    padding:29px;
  }
}
@media(max-width:640px) {
  .hero-copy {
    padding:100px 22px 30px!important;
  }
  .hero-copy h1 {
    font-size:clamp(54px,12vw,72px);
  }
  .hero-copy>p {
    font-size:17px!important;
  }
  .hero-art {
    height:260px!important;
  }
  .hero-svg {
    width:100%!important;
    height:100%!important;
  }
  .services .section-head {
    padding:25px 22px;
    border-radius:13px;
  }
  .services-grid {
    gap:13px!important;
  }
  .services-grid .service-card {
    min-height:0;
    padding:23px;
  }
  .contact-panel {
    background:var(--ink)!important;
  }
}
.scroll-tone {
  color:inherit!important;
  --tone-progress:0%;
}
.scroll-highlight {
  color:#89948c!important;
}
.scroll-word {
  white-space:nowrap;
}
.scroll-char {
  color:#89948c;
  transition:color .08s linear;
}
.scroll-char.is-lit {
  color:#fff;
}

.fleet-grid {
  background:#fff!important;
}
.machine-card {
  display:flex!important;
  flex-direction:column!important;
  min-width:0;
  background:#f2f3f1!important;
  border:0!important;
  overflow:hidden;
  box-shadow:none!important;
  transform:none!important;
}
.machine-card:hover {
  border-color:transparent!important;
  box-shadow:none!important;
}
.machine-visual {
  position:relative;
  flex:none;
  background:#e9ece9!important;
  border:0!important;
  border-bottom:0!important;
  border-radius:0!important;
  overflow:hidden;
}
.machine-visual:before,.machine-visual:after {
  display:none!important;
  content:none!important;
}
.machine-visual .machine-svg,.machine-visual img {
  width:100%;
  height:100%;
  object-fit:contain;
  padding:26px;
}
.machine-body {
  display:flex;
  flex:1;
  flex-direction:column;
  background:#f2f3f1!important;
}
.machine-head h3 {
  letter-spacing:-.035em;
}
.machine-head p {
  font-size:16px!important;
}
.machine-number {
  background:rgba(255,255,255,.78)!important;
  border:0!important;
}
.machine-type {
  background:rgba(255,255,255,.84)!important;
  border:0!important;
}
.card-bottom {
  margin-top:auto;
  border:0!important;
  border-top:0!important;
}
.services-grid {
  padding:0!important;
}
.services-grid .service-card {
  box-shadow:none!important;
}
.services-grid .service-card:last-child {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:20px;
}
.services-grid .service-card h3 {
  letter-spacing:-.03em;
}
@media(max-width:920px) {
  .fleet-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .machine-visual {
    height:300px!important;
  }
  .machine-body {
    padding:24px!important;
  }
  .services-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px) {
  .fleet-grid,.services-grid {
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .machine-visual {
    height:280px!important;
  }
  .machine-body {
    padding:22px!important;
  }
  .services-grid .service-card {
    min-height:0;
    padding:24px!important;
  }
  .services-grid .service-card:last-child {
    grid-column:auto;
    display:block;
    min-height:0;
  }
}

.fleet-grid {
  width:100%;
  max-width:none!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}
.machine-card {
  border-radius:0!important;
}
.machine-visual {
  height:clamp(220px,25vw,320px)!important;
}
.machine-body {
  padding:22px 26px 24px!important;
}
.machine-head h3 {
  font-size:clamp(23px,2vw,30px)!important;
}
.card-bottom {
  padding-top:15px!important;
}
.services-grid {
  width:100%;
  max-width:none!important;
}
@media(max-width:920px) {
  .machine-visual {
    height:250px!important;
  }
  .machine-body {
    padding:20px!important;
  }
  .services-grid .service-card {
    min-height:190px;
  }
}
@media(max-width:640px) {
  .fleet-grid,.services-grid {
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .machine-visual {
    height:230px!important;
  }
  .services-grid .service-card {
    min-height:0;
    padding:22px!important;
  }
  .services-grid .service-card:last-child {
    min-height:0;
  }
}

.spec-list {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 18px!important;
  margin:20px 0!important;
}
.spec {
  display:flex;
  flex-direction:column;
  gap:4px;
  font-size:15px!important;
  line-height:1.35;
  color:#68716a!important;
  white-space:normal;
  padding:12px 14px!important;
  background:#fff!important;
  border:1px solid #e0e4e0!important;
}
.spec b {
  font-size:20px!important;
  line-height:1.2;
  color:#111915!important;
  font-weight:650;
}
.photo-hint {
  z-index:2;
  pointer-events:none;
}
@media(max-width:640px) {
  .spec-list {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .spec {
    font-size:13px!important;
    padding:10px!important;
  }
  .spec b {
    font-size:17px!important;
  }
}

.catalog-section {
  width:100%;
}
.catalog-section .section-head p {
  max-width:520px;
}
.catalog-section .machine-card {
  width:100%;
  min-width:0;
}
@media(max-width:920px) {
  .catalog-section .wrap {
    width:calc(100% - 40px);
  }
  .catalog-section .fleet-grid {
    gap:18px!important;
  }
  .catalog-section .machine-visual {
    height:290px!important;
  }
  .catalog-section .machine-body {
    padding:24px!important;
  }
}
@media(max-width:640px) {
  .catalog-section {
    padding:58px 0 68px!important;
  }
  .catalog-section .wrap {
    width:calc(100% - 30px);
  }
  .catalog-section .fleet-grid {
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .catalog-section .machine-visual {
    height:250px!important;
  }
  .catalog-section .machine-body {
    padding:22px!important;
  }
}

.hero-panel {
  border-radius:0!important;
  background:#000!important;
}
.catalog-section .section-head h2 {
  color:var(--ink)!important;
}
.catalog-section .section-head p {
  color:#59625c!important;
}
.catalog-section .eyebrow {
  color:#59635c!important;
}
.catalog-section .filters .filter {
  border-color:#aeb8b0;
}
.catalog-section .filters .filter.active,.catalog-section .filters .filter:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
.catalog-section .search input {
  background:#fff;
  color:var(--ink);
  border-color:#aeb8b0;
}
.catalog-section .search input::placeholder {
  color:#737c75;
}
.catalog-section .search svg,.catalog-section .result-count {
  color:#68716a;
}
.catalog-section .machine-card {
  background:#f2f3f1!important;
}
.catalog-section .card-bottom {
  padding-top:14px!important;
}
.services .section-head {
  display:block;
}
.services .eyebrow {
  color:#d8f56b!important;
}
.services-grid .service-card {
  background:#f2f3f1!important;
  border:0!important;
  border-radius:0!important;
  min-height:200px!important;
  padding:26px!important;
}
.services-grid .service-card:last-child {
  grid-column:1/-1;
  min-height:150px!important;
}
@media(max-width:920px) {
  .hero {
    padding-bottom:28px!important;
  }
  .catalog-section .wrap {
    width:calc(100% - 40px);
  }
  .catalog-section .machine-visual {
    height:230px!important;
  }
  .catalog-section .machine-body {
    padding:18px!important;
  }
  .services {
    padding:58px 0!important;
  }
}
@media(max-width:640px) {
  .hero>.wrap.hero-panel {
    width:100vw!important;
  }
  .hero-copy {
    padding:96px 20px 24px!important;
  }
  .hero-art {
    height:240px!important;
  }
  .hero-svg {
    width:100%!important;
    height:100%!important;
  }
  .catalog-section {
    padding:58px 0 68px!important;
  }
  .catalog-section .wrap {
    width:calc(100% - 30px);
  }
  .catalog-section .fleet-grid {
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .catalog-section .machine-visual {
    height:210px!important;
  }
  .catalog-section .machine-body {
    padding:17px!important;
  }
  .catalog-section .spec-list {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .catalog-section .spec {
    padding:8px!important;
  }
  .catalog-section .spec b {
    font-size:16px!important;
  }
  .services {
    padding:56px 0!important;
  }
  .services-grid {
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .services-grid .service-card:last-child {
    grid-column:auto;
    min-height:0!important;
  }
}

.hero {
  width:100%;
}
.hero-meta {
  display:none!important;
}
.catalog-section {
  min-height:100svh;
  background:#fff!important;
  color:var(--ink)!important;
  padding:72px 0 78px!important;
}
.catalog-section .wrap {
  width:min(1600px,calc(100% - 64px));
  max-width:none;
}
.services {
  width:100%;
  background:#000!important;
  color:#fff!important;
}
.services .section-head {
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
}
.services .section-head h2 {
  color:#fff!important;
}
.services .section-head p {
  color:#c4c9c5!important;
}
.wrap#contacts {
  width:100%;
  max-width:none;
  padding:0;
}
.wrap#contacts .contact-panel {
  width:100vw;
  margin-left:50%;
  transform:translateX(-50%);
  border:0!important;
  border-radius:0!important;
  background:#000!important;
  box-shadow:none!important;
  padding:clamp(50px,8vw,110px) max(32px,calc((100vw - 1400px)/2))!important;
}
@media(max-width:920px) {
  .hero {
    height:calc(100svh - 92px);
    min-height:580px;
  }
  .hero>.wrap.hero-panel {
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  }
  .hero-copy {
    padding:34px clamp(24px,4vw,48px)!important;
  }
  .hero-copy h1 {
    font-size:clamp(48px,6vw,68px)!important;
  }
  .catalog-section .wrap,.services>.wrap {
    width:calc(100% - 40px);
  }
  .catalog-section .machine-visual {
    height:220px!important;
  }
  .services {
    min-height:70svh;
    padding:58px 0!important;
  }
}
@media(max-width:700px) {
  .hero {
    height:auto;
    min-height:0;
    padding:0!important;
  }
  .hero>.wrap.hero-panel {
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .hero-copy {
    width:min(620px,100%)!important;
    padding:68px 22px 18px!important;
    text-align:center!important;
  }
  .hero-copy h1 {
    font-size:clamp(51px,12vw,70px)!important;
    margin:18px auto 15px!important;
  }
  .hero-copy>p {
    font-size:16px!important;
    margin:0 auto 18px!important;
  }
  .hero-buttons {
    justify-content:center!important;
  }
  .hero-art {
    height:min(36svh,280px)!important;
    min-height:220px!important;
  }
  .hero-svg {
    width:100%!important;
    height:100%!important;
    padding:8px!important;
  }
  .catalog-section {
    min-height:0;
    padding:56px 0 64px!important;
  }
  .catalog-section .wrap,.services>.wrap {
    width:calc(100% - 30px);
  }
  .catalog-section .fleet-grid {
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .catalog-section .machine-visual {
    height:210px!important;
  }
  .catalog-section .machine-body {
    padding:17px!important;
  }
  .services {
    min-height:0;
    padding:58px 0!important;
  }
  .services-grid {
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .services-grid .service-card:last-child {
    grid-column:auto;
    min-height:0!important;
  }
  .wrap#contacts .contact-panel {
    width:100vw;
    padding:48px 24px!important;
  }
}

.hero {
  overflow:hidden;
}
.hero>.wrap.hero-panel {
  margin-left:50%!important;
  align-items:stretch!important;
  gap:0!important;
}
.hero-copy {
  width:min(940px,100%)!important;
  margin:0 auto!important;
}
.hero-buttons {
  gap:10px!important;
}
.hero-art {
  border-radius:0!important;
  display:grid!important;
}
.hero-svg {
  position:relative!important;
  inset:auto!important;
  filter:none!important;
  translate:none!important;
}
@media(max-width:920px) {
  .hero {
    height:calc(100svh - 92px)!important;
    min-height:570px!important;
  }
  .hero-copy {
    padding:24px 22px 8px!important;
  }
  .hero-copy h1 {
    font-size:clamp(52px,8vw,72px)!important;
  }
  .hero-art {
    min-height:0!important;
  }
}
@media(max-width:700px) {
  .hero {
    height:calc(100svh - 92px)!important;
    min-height:0!important;
  }
  .hero>.wrap.hero-panel {
    width:100vw!important;
  }
  .hero-copy {
    padding:20px 18px 6px!important;
  }
  .hero-copy h1 {
    font-size:clamp(48px,12vw,65px)!important;
    margin:10px auto!important;
  }
  .hero-copy>p {
    font-size:14px!important;
    line-height:1.38!important;
    margin-bottom:12px!important;
  }
  .hero-buttons .btn {
    padding:11px 13px!important;
    font-size:12px!important;
  }
  .hero-art {
    flex:1 1 0!important;
    min-height:190px!important;
  }
  .hero-svg {
    width:100%!important;
    height:100%!important;
    padding:0!important;
  }
}
@media(max-height:700px) and (min-width:701px) {
  .hero {
    min-height:0!important;
  }
  .hero-copy {
    padding-top:12px!important;
  }
  .hero-copy h1 {
    font-size:56px!important;
  }
  .hero-art {
    min-height:0!important;
  }
}

@media(max-width:700px) {
  .hero-art {
    background:#000!important;
    transform:none!important;
  }
  .hero-svg {
    width:90%!important;
    height:86%!important;
    padding:0!important;
  }
}

.hero-art {
  box-sizing:border-box!important;
}
@media(max-width:700px) {
  .hero-art {
    padding-top:22px!important;
  }
  .hero-svg {
    width:90%!important;
    height:86%!important;
    transform:translateY(-12px)!important;
  }
}

@media(max-width:700px) {
  .hero {
    height:calc(100svh - 12px)!important;
    min-height:0!important;
  }
  .hero-copy {
    padding:42px 18px 14px!important;
  }
  .hero-copy h1 {
    font-size:clamp(46px,10vw,52px)!important;
    line-height:.9!important;
    margin:7px auto 9px!important;
  }
  .hero-copy>p {
    font-size:13px!important;
    line-height:1.28!important;
    margin:0 auto 9px!important;
  }
  .hero-buttons {
    gap:8px!important;
  }
  .hero-buttons .btn {
    padding:9px 11px!important;
    font-size:11px!important;
  }
  .hero-art {
    flex:1 1 0!important;
    min-height:0!important;
    padding:10px 0 0!important;
  }
  .hero-svg {
    width:90%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
  }
}
@media(max-height:680px) and (max-width:700px) {
  .hero-copy {
    padding-top:30px!important;
  }
  .hero-copy h1 {
    font-size:46px!important;
  }
  .hero-art {
    padding-top:8px!important;
  }
}

.topbar {
  background:#000!important;
  color:#fff!important;
}
.nav {
  background:rgba(0,0,0,.94)!important;
  border-color:rgba(255,255,255,.2)!important;
}
.hero-tag {
  font-size:12px!important;
  margin-bottom:5px!important;
}
.hero-art {
  transform:none!important;
}
.hero-svg {
  padding:0!important;
}
@media(max-width:920px) {
  .hero {
    height:calc(100svh - 10px)!important;
    min-height:570px!important;
  }
  .hero-copy {
    padding-top:100px!important;
  }
  .hero-copy h1 {
    font-size:clamp(48px,7vw,66px)!important;
  }
}
@media(max-width:700px) {
  .hero {
    height:calc(100svh - 15px)!important;
    min-height:0!important;
  }
  .hero-copy {
    padding:75px 18px 6px!important;
  }
  .hero-tag {
    font-size:10px!important;
  }
  .hero-copy h1 {
    font-size:clamp(46px,11vw,60px)!important;
    margin:8px auto!important;
  }
  .hero-copy>p {
    font-size:14px!important;
    line-height:1.35!important;
    margin:0 auto 10px!important;
  }
  .hero-buttons .btn {
    padding:10px 12px!important;
    font-size:11px!important;
  }
  .hero-art {
    min-height:170px!important;
  }
  .hero-svg {
    width:92%!important;
    height:92%!important;
  }
}
@media(max-height:700px) and (min-width:701px) {
  .hero {
    min-height:0!important;
  }
  .hero-copy {
    padding-top:90px!important;
  }
  .hero-copy h1 {
    font-size:52px!important;
  }
  .hero-art {
    min-height:0!important;
  }
}

@media(max-width:700px) {
  .hero {
    height:calc(100svh - 12px)!important;
    min-height:0!important;
  }
  .hero-copy {
    padding:42px 18px 14px!important;
  }
  .hero-copy h1 {
    font-size:clamp(46px,10vw,52px)!important;
    line-height:.9!important;
    margin:7px auto 9px!important;
  }
  .hero-copy>p {
    font-size:13px!important;
    line-height:1.28!important;
    margin:0 auto 9px!important;
  }
  .hero-buttons {
    gap:8px!important;
  }
  .hero-buttons .btn {
    padding:9px 11px!important;
    font-size:11px!important;
  }
  .hero-art {
    flex:1 1 0!important;
    min-height:0!important;
    padding:10px 0 0!important;
  }
  .hero-svg {
    width:90%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
  }
}
@media(max-height:680px) and (max-width:700px) {
  .hero-copy {
    padding-top:30px!important;
  }
  .hero-copy h1 {
    font-size:46px!important;
  }
  .hero-art {
    padding-top:8px!important;
  }
}

.hero-copy {
  padding-bottom:18px!important;
}
.hero-copy>p {
  margin-bottom:12px!important;
}
.hero-art {
  place-items:start center!important;
}
.hero-svg {
  display:block!important;
  flex:none!important;
  width:auto!important;
  margin:0 auto!important;
  transform:none!important;
}
@media(max-width:700px) {
  .hero>.wrap.hero-panel {
    width:100%!important;
  }
  .hero-copy {
    padding:34px 18px 16px!important;
  }
  .hero-copy h1 {
    font-size:clamp(46px,10vw,52px)!important;
    line-height:.9!important;
    margin:7px auto 9px!important;
  }
  .hero-copy>p {
    font-size:13px!important;
    line-height:1.28!important;
    margin:0 auto 9px!important;
  }
  .hero-buttons {
    gap:8px!important;
  }
  .hero-buttons .btn {
    padding:9px 11px!important;
    font-size:11px!important;
  }
  .hero-art {
    flex:1 1 auto!important;
    min-height:0!important;
    padding:0!important;
  }
  .hero-svg {
    height:min(38svh,250px)!important;
    max-width:94vw!important;
  }
}
@media(max-height:680px) and (max-width:700px) {
  .hero-copy {
    padding-top:24px!important;
  }
  .hero-svg {
    height:min(34svh,220px)!important;
  }
}

@media(max-width:700px) {
  .hero-copy h1 {
    margin-top:18px!important;
  }
  .hero-svg {
    height:min(42svh,280px)!important;
    max-width:96vw!important;
  }
}
@media(max-height:680px) and (max-width:700px) {
  .hero-svg {
    height:min(36svh,230px)!important;
  }
}

.hero-art {
  margin-top:-14px!important;
}
@media(max-width:700px) {
  .hero-art {
    margin-top:-12px!important;
  }
  .hero-svg {
    height:min(40svh,260px)!important;
  }
}
@media(max-height:680px) and (max-width:700px) {
  .hero-svg {
    height:min(35svh,225px)!important;
  }
}

.hero-copy h1 {
  margin-bottom:24px!important;
}
@media(max-width:700px) {
  .hero-copy h1 {
    margin-bottom:20px!important;
  }
  .hero-art {
    margin-top:-20px!important;
  }
}
html,body {
  overflow-x:hidden!important;
}

.hero-copy h1 {
  font-size:clamp(58px,6.1vw,78px)!important;
  line-height:.94!important;
  letter-spacing:-.065em!important;
  font-weight:600!important;
}
.hero-copy>p {
  font-size:clamp(16px,1.4vw,18px)!important;
  line-height:1.35!important;
}
@media(max-width:700px) {
  .hero-copy {
    padding-top:30px!important;
  }
  .hero-copy h1 {
    font-size:clamp(48px,8vw,56px)!important;
    line-height:.92!important;
  }
  .hero-copy>p {
    font-size:15px!important;
    line-height:1.35!important;
  }
  .hero-svg {
    height:min(37svh,240px)!important;
  }
}
@media(max-height:680px) and (max-width:700px) {
  .hero-svg {
    height:min(34svh,220px)!important;
  }
}

.ticker-track {
  animation:ticker-scroll 34s linear infinite!important;
}
@media(max-width:700px) {
  .hero-svg {
    height:min(40svh,260px)!important;
    max-width:98vw!important;
  }
}
@media(max-height:680px) and (max-width:700px) {
  .hero-svg {
    height:min(36svh,230px)!important;
  }
}
@media(max-width:700px) {
  .hero-copy {
    padding-top:22px!important;
  }
  .hero-copy h1 {
    margin-top:12px!important;
  }
  .hero-copy>p {
    line-height:1.3!important;
    margin-bottom:8px!important;
  }
}

@media(min-width:701px) {
  .hero-copy {
    padding-top:clamp(48px,7.2vh,62px)!important;
  }
  .hero-copy h1 {
    font-size:clamp(58px,6.1vw,76px)!important;
    line-height:.9!important;
    margin-top:8px!important;
  }
  .hero-copy>p {
    font-size:clamp(16px,1.35vw,17px)!important;
    margin-bottom:8px!important;
  }
  .hero-svg {
    height:min(47svh,410px)!important;
  }
}
@media(max-width:700px) {
  .hero-copy h1 {
    font-size:clamp(48px,8vw,54px)!important;
  }
  .hero-svg {
    height:min(40svh,260px)!important;
  }
}

.hero>.wrap.hero-panel {
  transform:none!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.hero-copy {
  flex:none!important;
}
.hero-tag {
  position:relative!important;
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  transform:none!important;
  color:#d8f56b!important;
}
.hero-copy h1 {
  margin-top:14px!important;
}
.hero-svg {
  height:min(48svh,420px)!important;
  max-height:100%!important;
  max-width:96vw!important;
  object-fit:contain!important;
  object-position:center top!important;
}
.trust {
  display:none!important;
}
@media(max-width:700px) {
  .hero {
    height:calc(100svh - 60px)!important;
  }
  .hero-copy {
    padding:6px 18px 14px!important;
  }
  .hero-copy h1 {
    font-size:clamp(48px,8vw,54px)!important;
    margin:10px auto 20px!important;
  }
  .hero-copy>p {
    font-size:15px!important;
    line-height:1.3!important;
    margin-bottom:9px!important;
  }
  .hero-art {
    flex:1 1 0!important;
    min-height:0!important;
  }
  .hero-svg {
    height:min(40svh,260px)!important;
    max-width:98vw!important;
  }
}

header {
  inset:auto!important;
}
.ticker {
  display:none!important;
}

header {
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  margin:0!important;
  z-index:40!important;
  transform:none!important;
  transition:none!important;
}
.nav {
  position:relative!important;
  top:auto!important;
}
.hero-copy {
  padding-top:86px!important;
}
.ticker,.ticker-track {
  display:none!important;
  animation:none!important;
}
@media(max-width:700px) {
  .hero {
    height:100svh!important;
  }
  .hero-copy {
    padding:68px 18px 14px!important;
  }
}

.hero {
  height:100svh!important;
  min-height:100svh!important;
  padding:0!important;
  margin:0!important;
  background:#000!important;
  position:relative!important;
}
.hero>.wrap.hero-panel {
  position:relative!important;
  top:auto!important;
  height:100svh!important;
  min-height:0!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#000!important;
}
.hero-copy {
  align-self:start!important;
  padding:86px 24px 10px!important;
  text-align:center!important;
  z-index:3!important;
}
.hero-copy h1 {
  margin:14px auto 12px!important;
}
.hero-copy>p {
  max-width:760px!important;
  margin:0 auto 18px!important;
}
.hero-buttons {
  justify-content:center!important;
}
.hero-art {
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  flex:unset!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#000!important;
}
.hero-sequence {
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}
.hero-sequence-frame {
  position:absolute;
  left:50%;
  top:50%;
  width:min(64vw,760px);
  height:100%;
  max-width:none!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:0!important;
  margin:0!important;
  opacity:0;
  transform:translate(calc(-50% + var(--carousel-x, 110vw)),-50%) scale(var(--carousel-scale,.55));
  transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .82s cubic-bezier(.16,1,.3,1);
  filter:drop-shadow(0 20px 35px rgba(255,255,255,.08));
  will-change:transform,opacity;
}
.city-scene {
  opacity:.2!important;
}
.scene-caption {
  display:none!important;
}
.sequence-caption {
  position:absolute;
  z-index:4;
  left:50%;
  bottom:clamp(12px,2.4vh,24px);
  transform:translateX(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:8px 17px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.65);
  color:#fff;
  text-align:center;
  pointer-events:none;
  white-space:nowrap;
}
.sequence-kicker {
  color:var(--lime);
  font-size:9px;
  font-weight:800;
  letter-spacing:.16em;
}
.sequence-caption b {
  font-size:clamp(15px,1.8vw,21px);
  font-weight:650;
  letter-spacing:-.035em;
}
.sequence-count {
  font-size:10px;
  color:rgba(255,255,255,.58);
  font-variant-numeric:tabular-nums;
  letter-spacing:.12em;
}
.art-label {
  z-index:4;
  top:20px;
  bottom:auto!important;
}
@media(max-width:700px) {
  .hero {
    height:100svh!important;
    min-height:100svh!important;
  }
  .hero>.wrap.hero-panel {
    grid-template-rows:auto minmax(0,1fr)!important;
  }
  .hero-copy {
    padding:74px 18px 8px!important;
  }
  .hero-copy h1 {
    margin:10px auto 12px!important;
  }
  .hero-copy>p {
    font-size:14px!important;
    line-height:1.35!important;
    margin-bottom:12px!important;
  }
  .hero-buttons {
    gap:8px;
  }
  .hero-buttons .btn {
    padding:11px 13px;
    font-size:11px;
  }
  .hero-art {
    min-height:0!important;
  }
  .hero-sequence-frame {
    width:82vw;
    height:86%;
    object-position:center center!important;
  }
  .sequence-caption {
    bottom:10px;
    padding:6px 12px;
    gap:3px;
  }
  .sequence-kicker {
    font-size:8px;
  }
  .sequence-caption b {
    font-size:14px;
  }
  .sequence-count {
    font-size:9px;
  }
  .art-label {
    top:12px!important;
    right:12px!important;
    font-size:8px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .hero-sequence-frame {
    transition:none!important;
  }
}

.catalog-section {
  scroll-margin-top:82px!important;
  padding-top:48px!important;
  padding-bottom:62px!important;
}
.catalog-section .section-head {
  margin-bottom:22px!important;
}
.catalog-section .filters {
  border-bottom:0!important;
}
.catalog-section .filters:before,.catalog-section .filters:after {
  display:none!important;
  content:none!important;
}
.catalog-section .filter:hover,.catalog-section .filter.active {
  background:#1d211e!important;
  border-color:#1d211e!important;
  color:#fff!important;
}
.catalog-section .fleet-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
}
.catalog-section .machine-card {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  border:1px solid #dfe4df!important;
  border-radius:3px!important;
  box-shadow:0 8px 24px rgba(28,43,32,.055)!important;
  transform:none!important;
}
.catalog-section .machine-visual {
  height:clamp(210px,23vw,310px)!important;
  background:#f6f8f5!important;
}
.catalog-section .machine-visual:after {
  display:none!important;
}
.catalog-section .machine-type {
  font-size:11px!important;
  letter-spacing:.07em!important;
  background:rgba(255,255,255,.92)!important;
  color:#33453a!important;
  border-radius:2px!important;
  padding:9px 11px!important;
}
.catalog-section .machine-number {
  top:14px!important;
  right:14px!important;
  min-width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  background:#dff2d8!important;
  color:#183927!important;
  font:750 22px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  border:1px solid rgba(30,75,48,.13)!important;
}
.catalog-section .machine-body {
  padding:24px 26px 22px!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
.catalog-section .machine-head h3 {
  font-size:clamp(25px,2vw,32px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
  font-weight:650!important;
}
.catalog-section .machine-head p {
  font-size:16px!important;
  margin-top:7px!important;
  color:#737c75!important;
}
.catalog-section .spec-list {
  gap:9px!important;
  margin:17px 0 20px!important;
}
.catalog-section .spec {
  padding:10px 12px!important;
  font-size:14px!important;
  line-height:1.25!important;
  border-radius:2px!important;
  background:#f0f4ef!important;
  color:#4b574f!important;
}
.catalog-section .spec b {
  font-size:19px!important;
  color:#1d3024!important;
  font-weight:650!important;
}
.catalog-section .price-note {
  font-size:13px!important;
}
.catalog-section .price-note b {
  font-size:16px!important;
}
.catalog-section .mini-btn {
  border-radius:2px!important;
}
.quote-band {
  position:relative!important;
  z-index:2!important;
  margin:22px 0 0!important;
  background:#e5f1df!important;
  color:#17251b!important;
  border-radius:2px!important;
  padding:34px 40px!important;
}
.quote-band h2 {
  color:#173d28!important;
  font-size:clamp(28px,3.2vw,42px)!important;
  line-height:1.05!important;
}
.services {
  height:100svh!important;
  min-height:680px!important;
  box-sizing:border-box!important;
  padding:104px 0 30px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  scroll-margin-top:0!important;
}
.services>.wrap {
  width:min(1600px,calc(100% - 64px))!important;
  max-width:none!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:24px!important;
}
.services .section-head {
  margin:0!important;
}
.services .section-head>div {
  flex:none!important;
}
.services .section-head h2 {
  margin-top:10px!important;
}
.services-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  background:transparent!important;
  border:0!important;
}
.services-grid .service-card,.services-grid .service-card:last-child {
  grid-column:auto!important;
  background:#f0f1ef!important;
  border-radius:2px!important;
}
.services-grid .service-card h3 {
  font-size:clamp(20px,1.65vw,26px)!important;
  line-height:1.1!important;
  margin:18px 0 8px!important;
}
.services-grid .service-link {
  font-size:14px!important;
  margin-top:16px!important;
}
.services .service-icon {
  width:44px!important;
  height:44px!important;
  border-radius:2px!important;
  background:#dff2d8!important;
}
.catalog-section .section-head h2,.catalog-section .machine-head h3,.quote-band h2,#process .process-intro h2,.faq .faq-intro h2 {
  background:linear-gradient(110deg,#244c35 0%,#528a66 28%,#bad8a9 52%,#36724f 73%,#244c35 100%)!important;
  background-size:240% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
  animation:green-glint 7s ease-in-out infinite alternate!important;
}
@keyframes green-glint {
  to {
    background-position:100% 50%;
  }
}
@media(max-width:920px) {
  .catalog-section {
    padding-top:38px!important;
  }
  .catalog-section .machine-visual {
    height:230px!important;
  }
  .catalog-section .machine-body {
    padding:20px!important;
  }
  .services {
    min-height:0!important;
    height:100svh!important;
    padding:96px 0 24px!important;
  }
  .services>.wrap {
    width:calc(100% - 40px)!important;
    gap:20px!important;
  }
  .services-grid {
    gap:12px!important;
  }
  .services-grid .service-card,.services-grid .service-card:last-child {
    min-height:clamp(190px,28vh,260px)!important;
    padding:19px!important;
  }
  .services .section-head h2 {
    font-size:clamp(38px,5.3vw,54px)!important;
  }
}
@media(max-width:700px) {
  .catalog-section {
    padding:34px 0 48px!important;
  }
  .catalog-section .wrap {
    width:calc(100% - 30px)!important;
  }
  .catalog-section .section-head {
    margin-bottom:17px!important;
  }
  .catalog-section .fleet-grid {
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .catalog-section .machine-visual {
    height:220px!important;
  }
  .catalog-section .machine-body {
    padding:18px!important;
  }
  .catalog-section .machine-head h3 {
    font-size:25px!important;
  }
  .catalog-section .machine-head p {
    font-size:15px!important;
  }
  .catalog-section .machine-number {
    min-width:42px!important;
    height:42px!important;
    font-size:20px!important;
  }
  .catalog-section .spec {
    font-size:13px!important;
  }
  .catalog-section .spec b {
    font-size:17px!important;
  }
  .quote-band {
    margin-top:16px!important;
    padding:25px 22px!important;
  }
  .quote-band h2 {
    font-size:29px!important;
  }
  .services {
    height:auto!important;
    min-height:100svh!important;
    padding:90px 0 28px!important;
    overflow:visible!important;
  }
  .services>.wrap {
    width:calc(100% - 30px)!important;
    gap:18px!important;
  }
  .services .section-head {
    gap:10px!important;
  }
  .services .section-head h2 {
    font-size:42px!important;
  }
  .services .section-head p {
    font-size:14px!important;
  }
  .services-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .services-grid .service-card,.services-grid .service-card:last-child {
    grid-column:auto!important;
    min-height:210px!important;
    padding:15px!important;
  }
  .services-grid .service-card:last-child {
    grid-column:1/-1!important;
    min-height:160px!important;
  }
  .services-grid .service-card h3 {
    font-size:18px!important;
    margin:13px 0 6px!important;
  }
  .services-grid .service-card p {
    font-size:13px!important;
  }
  .services-grid .service-link {
    font-size:12px!important;
  }
  .services .service-icon {
    width:36px!important;
    height:36px!important;
  }
}
@media(max-height:760px) and (min-width:701px) {
  .services {
    padding-top:88px!important;
    padding-bottom:18px!important;
  }
  .services>.wrap {
    gap:15px!important;
  }
  .services .section-head h2 {
    font-size:48px!important;
  }
  .services-grid .service-card,.services-grid .service-card:last-child {
    min-height:220px!important;
    padding:18px!important;
  }
  .services-grid .service-card h3 {
    margin-top:14px!important;
  }
  .services-grid .service-card p {
    font-size:14px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .catalog-section .section-head h2,.catalog-section .machine-head h3,.quote-band h2,#process .process-intro h2,.faq .faq-intro h2 {
    animation:none!important;
    background-position:50% 50%!important;
  }
}

.quote-band {
  margin-bottom:44px!important;
  transform:translateY(-4px)!important;
}
.quote-band>div {
  padding-block:3px!important;
}
.services .section-head {
  flex-direction:column!important;
  align-items:center!important;
  text-align:center!important;
  gap:12px!important;
  margin-bottom:4px!important;
}
.services .section-head>div {
  width:100%!important;
  text-align:center!important;
}
.services .section-head .eyebrow {
  display:block!important;
  text-align:center!important;
  width:100%!important;
}
.services .section-head h2 {
  margin-inline:auto!important;
  text-align:center!important;
}
.services .section-head p {
  text-align:center!important;
  margin-inline:auto!important;
}
.services-grid .service-card,.services-grid .service-card:last-child {
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  background-color:#27352b!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 18px 45px rgba(0,0,0,.28)!important;
  min-height:clamp(260px,34vh,360px)!important;
  padding:26px!important;
}
.services-grid .service-card:before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background-position:center!important;
  background-size:cover!important;
  transition:transform .7s cubic-bezier(.2,.75,.25,1)!important;
  transform:scale(1.015)!important;
}
.services-grid .service-card:after {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:linear-gradient(180deg,rgba(8,15,10,.25) 0%,rgba(8,15,10,.55) 45%,rgba(8,15,10,.88) 100%)!important;
  pointer-events:none!important;
}
.services-grid .service-card:nth-child(3):before {
  background-image:url("lonking-83c.png")!important;
}
.services-grid .service-card:hover:before {
  transform:scale(1.075)!important;
}
.services-grid .service-card>div,.services-grid .service-card>a {
  position:relative!important;
  z-index:1!important;
}
.services-grid .service-icon {
  width:42px!important;
  height:42px!important;
  background:rgba(255,255,255,.88)!important;
  color:#183927!important;
  border:1px solid rgba(255,255,255,.45)!important;
}
.services-grid .service-card h3 {
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.3)!important;
}
.services-grid .service-card p {
  color:rgba(255,255,255,.91)!important;
  text-shadow:0 1px 12px rgba(0,0,0,.42)!important;
}
.services-grid .service-link {
  color:#fff!important;
  text-shadow:0 1px 12px rgba(0,0,0,.5)!important;
}
@media(max-width:920px) {
  .quote-band {
    margin-bottom:34px!important;
  }
  .services .section-head {
    align-items:center!important;
  }
  .services-grid .service-card,.services-grid .service-card:last-child {
    min-height:260px!important;
  }
}
@media(max-width:700px) {
  .quote-band {
    margin-bottom:30px!important;
  }
  .services .section-head {
    align-items:center!important;
  }
  .services-grid .service-card,.services-grid .service-card:last-child {
    min-height:230px!important;
    padding:18px!important;
  }
  .services-grid .service-card:last-child {
    grid-column:1/-1!important;
    min-height:190px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .services-grid .service-card:before {
    transition:none!important;
  }
}

.services-grid .service-card:nth-child(1):before {
  background-image:url("https://www.sibelco.com/_next/image?q=50&url=https%3A%2F%2Fsibelco.getbynder.com%2Fm%2F1cb525f93932c5dc%2Fwebimage-shutterstock_1051176962.png&w=3840")!important;
}
.services-grid .service-card:nth-child(2):before {
  background-image:url("https://www.manitou.com/sites/default/files/2025-07/manitou_header_agriculture_construction_paysagisme_espaces_verts.jpg")!important;
}
.services-grid .service-card:nth-child(2) h3 {
  font-size:clamp(32px,4vw,48px)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
  font-weight:600!important;
}
@media(max-width:700px) {
  .services-grid .service-card:nth-child(2) h3 {
    font-size:clamp(30px,8vw,40px)!important;
  }
}

.services-grid .service-card {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
}
.services-grid .service-card>div {
  display:grid!important;
  grid-template-rows:44px minmax(2.15em,auto) minmax(4.5em,auto)!important;
  align-content:start!important;
}
.services-grid .service-card h3,.services-grid .service-card:nth-child(2) h3 {
  font-family:inherit!important;
  font-weight:620!important;
  margin:14px 0 8px!important;
  min-height:2.08em!important;
  display:flex!important;
  align-items:flex-start!important;
}
.services-grid .service-card p {
  font-family:inherit!important;
  font-weight:400!important;
  letter-spacing:-.01em!important;
  margin:0!important;
  min-height:4.44em!important;
}
.services-grid .service-card .service-link {
  font-family:inherit!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
  margin-top:20px!important;
  white-space:nowrap!important;
}
.services-grid .service-card .service-link span {
  font:inherit!important;
}
.catalog-section .mini-btn {
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1.15!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  padding:13px 16px!important;
  min-width:122px!important;
}
@media(max-width:700px) {
  .services-grid .service-card h3,.services-grid .service-card:nth-child(2) h3 {
    font-size:clamp(23px,5vw,30px)!important;
    min-height:2.08em!important;
  }
  .services-grid .service-card p {
    font-size:14px!important;
    min-height:4.44em!important;
  }
  .services-grid .service-card .service-link {
    font-size:13px!important;
  }
  .catalog-section .mini-btn {
    font-size:14px!important;
    padding:11px 12px!important;
    min-width:112px!important;
  }
}

.services .section-head h2 {
  font-size:clamp(52px,6.2vw,82px)!important;
  line-height:.96!important;
  letter-spacing:-.065em!important;
}
.services .section-head .eyebrow {
  font-size:15px!important;
  line-height:1.2!important;
  letter-spacing:.18em!important;
}
.services .section-head p {
  font-size:20px!important;
  line-height:1.5!important;
  max-width:760px!important;
}
.services-grid .service-card h3,.services-grid .service-card:nth-child(2) h3 {
  font-size:clamp(31px,3vw,44px)!important;
  line-height:1.02!important;
  letter-spacing:-.05em!important;
}
.services-grid .service-card p {
  font-size:18px!important;
  line-height:1.5!important;
  max-width:450px!important;
}
.services-grid .service-card .service-link {
  font-size:17px!important;
  line-height:1.25!important;
}
@media(max-width:920px) {
  .services .section-head h2 {
    font-size:clamp(48px,7vw,68px)!important;
  }
  .services .section-head p {
    font-size:18px!important;
  }
  .services-grid .service-card h3,.services-grid .service-card:nth-child(2) h3 {
    font-size:clamp(28px,4vw,36px)!important;
  }
  .services-grid .service-card p {
    font-size:16px!important;
  }
}
@media(max-width:700px) {
  .services .section-head h2 {
    font-size:46px!important;
  }
  .services .section-head .eyebrow {
    font-size:12px!important;
  }
  .services .section-head p {
    font-size:16px!important;
  }
  .services-grid .service-card h3,.services-grid .service-card:nth-child(2) h3 {
    font-size:27px!important;
  }
  .services-grid .service-card p {
    font-size:15px!important;
  }
  .services-grid .service-card .service-link {
    font-size:14px!important;
  }
}

.catalog-section .filters {
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}
.catalog-section .filter {
  min-width:0!important;
  min-height:92px!important;
  padding:14px 12px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  border:1px solid #e1e6e0!important;
  border-radius:15px!important;
  background:#f7f9f6!important;
  color:#28372d!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
.catalog-section .filter svg {
  display:block!important;
  width:27px!important;
  height:27px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  flex:none!important;
  transition:transform .22s ease!important;
}
.catalog-section .filter:hover {
  background:#eef4eb!important;
  border-color:#cbd9c9!important;
  transform:translateY(-2px)!important;
  box-shadow:0 8px 20px rgba(31,60,40,.08)!important;
}
.catalog-section .filter:hover svg {
  transform:scale(1.06)!important;
}
.catalog-section .filter.active,.catalog-section .filter.active:hover {
  background:#1c2821!important;
  border-color:#1c2821!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(17,35,23,.17)!important;
  transform:translateY(-1px)!important;
}
.catalog-section .filter.active svg {
  color:#cbeaa1!important;
}
@media(max-width:760px) {
  .catalog-section .filters {
    display:flex!important;
    width:calc(100% + 15px)!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:9px!important;
    padding:2px 15px 10px 0!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .catalog-section .filters::-webkit-scrollbar {
    display:none!important;
  }
  .catalog-section .filter {
    width:116px!important;
    min-width:116px!important;
    min-height:86px!important;
    scroll-snap-align:start!important;
    font-size:12px!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .catalog-section .filter,.catalog-section .filter svg {
    transition:none!important;
  }
}

.catalog-section .filters {
  position:relative!important;
  display:flex!important;
  align-items:stretch!important;
  gap:0!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 22px!important;
  padding:5px!important;
  border:1px solid #e4e8e3!important;
  border-radius:999px!important;
  box-shadow:inset 0 1px 2px rgba(20,30,23,.035)!important;
}
.catalog-section .filters:before {
  content:""!important;
  position:absolute!important;
  width:var(--slider-width,130px)!important;
  border-radius:999px!important;
  transform:translateX(var(--slider-x,5px))!important;
  will-change:transform,width!important;
}
.catalog-section .filters .filter {
  flex:1 0 132px!important;
  min-width:132px!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:12px 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:550!important;
  line-height:1.2!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  transform:none!important;
}
.catalog-section .fleet-grid .machine-card {
  animation:machine-filter-in .42s cubic-bezier(.22,1,.36,1) both!important;
}
.catalog-section .fleet-grid .machine-card:nth-child(2n) {
  animation-delay:.045s!important;
}
@keyframes machine-filter-in {
  from {
    opacity:0;
    transform:translateY(10px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}
@media(max-width:760px) {
  .catalog-section .filters {
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    scroll-snap-type:x proximity!important;
  }
  .catalog-section .filters::-webkit-scrollbar {
    display:none!important;
  }
  .catalog-section .filters .filter {
    flex:0 0 auto!important;
    min-width:120px!important;
    padding-inline:16px!important;
    scroll-snap-align:start!important;
  }
}
@media(prefers-reduced-motion:reduce) {
  .catalog-section .filters:before,.catalog-section .filters .filter,.catalog-section .fleet-grid .machine-card {
    transition:none!important;
    animation:none!important;
  }
}

.catalog-section .filters {
  isolation:isolate!important;
  overflow:hidden!important;
}
.catalog-section .filters:before {
  top:5px!important;
  bottom:5px!important;
  left:0!important;
  min-width:0!important;
  transition:transform .78s cubic-bezier(.2,.85,.25,1),width .58s cubic-bezier(.2,.85,.25,1)!important;
}
.catalog-section .filters .filter {
  transition:color .38s ease,opacity .38s ease!important;
}
.catalog-section .filters .filter:focus-visible {
  z-index:3!important;
  outline-color:#8da989!important;
}
@media(prefers-reduced-motion:reduce) {
  .catalog-section .filters:before,.catalog-section .filters .filter {
    transition:none!important;
  }
}

footer {
  width:100%!important;
  background:#050706!important;
  color:#f5f7f4!important;
  padding:46px 0 34px!important;
}
footer .wrap {
  width:min(1600px,calc(100% - 64px))!important;
  max-width:none!important;
}
.footer-top {
  border-bottom:1px solid rgba(255,255,255,.2)!important;
  padding:0 0 28px!important;
  align-items:center!important;
}
.footer-copy {
  font-size:17px!important;
  line-height:1.75!important;
  color:#c4ccc5!important;
}
.footer-copy b {
  font-size:19px!important;
  font-weight:700!important;
  color:#fff!important;
}
.footer-links {
  gap:24px!important;
  font-size:16px!important;
  font-weight:600!important;
  flex-wrap:wrap!important;
  color:#f5f7f4!important;
}
.footer-links a {
  color:#f5f7f4!important;
  transition:color .2s ease!important;
}
.footer-links a:hover {
  color:#cfe8a6!important;
  text-decoration:none!important;
}
.footer-bottom {
  padding-top:22px!important;
  color:#c4ccc5!important;
  font-size:14px!important;
  line-height:1.55!important;
  align-items:flex-start!important;
}
.legal {
  max-width:700px!important;
  font-size:14px!important;
  color:#b5beb7!important;
  text-align:right!important;
}
@media(max-width:700px) {
  footer {
    padding:36px 0 28px!important;
  }
  footer .wrap {
    width:calc(100% - 36px)!important;
  }
  .footer-top {
    align-items:flex-start!important;
    padding-bottom:22px!important;
  }
  .footer-copy {
    font-size:16px!important;
  }
  .footer-copy b {
    font-size:18px!important;
  }
  .footer-links {
    gap:13px 20px!important;
    font-size:15px!important;
  }
  .footer-bottom {
    gap:10px!important;
    font-size:13px!important;
  }
  .legal {
    font-size:13px!important;
    text-align:left!important;
  }
}

.catalog-section .filters {
  background:#f0f3ef!important;
  border-color:#dfe5de!important;
}
.catalog-section .filters:before {
  z-index:0!important;
  background:#d9edc9!important;
  border:1px solid #bad6aa!important;
  box-shadow:0 3px 12px rgba(37,78,43,.13)!important;
}
.catalog-section .filters .filter {
  position:relative!important;
  z-index:1!important;
  color:#35443a!important;
  opacity:1!important;
  text-shadow:none!important;
}
.catalog-section .filters .filter:hover {
  color:#17291d!important;
  background:transparent!important;
}
.catalog-section .filters .filter.active,.catalog-section .filters .filter.active:hover {
  z-index:2!important;
  color:#163520!important;
  background:transparent!important;
  text-shadow:none!important;
  font-weight:700!important;
}

.scroll-appear {
  opacity:0!important;
  translate:-26px 0!important;
  transition:opacity .72s cubic-bezier(.2,.75,.25,1),translate .86s cubic-bezier(.16,1,.3,1)!important;
  transition-delay:var(--appear-delay,0ms)!important;
  will-change:opacity,translate!important;
}
.scroll-appear.is-shown {
  opacity:1!important;
  translate:0 0!important;
}
@media(prefers-reduced-motion:reduce) {
  .scroll-appear,.scroll-appear.is-shown {
    opacity:1!important;
    translate:none!important;
    transition:none!important;
    will-change:auto!important;
  }
}

/* Keep the three service cards' descriptions and links on the same grid. */
.services-grid .service-card,
.services-grid .service-card:last-child {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  gap:0!important;
}
.services-grid .service-card>div {
  min-width:0!important;
}
.services-grid .service-card .service-link {
  align-self:flex-start!important;
  margin-top:auto!important;
}

/* Give service cards enough room on phones to prevent text clipping. */
@media(max-width:700px) {
  #catalog,#services,#process,#faq,#contacts {
    scroll-margin-top:72px!important;
  }
  .services-grid {
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  .services-grid .service-card,
  .services-grid .service-card:last-child {
    grid-column:1/-1!important;
    min-height:260px!important;
    padding:20px!important;
  }
  .services-grid .service-card>div {
    grid-template-rows:44px auto auto!important;
  }
  .services-grid .service-card h3,
  .services-grid .service-card:nth-child(2) h3 {
    min-height:0!important;
    font-size:clamp(26px,7.5vw,32px)!important;
    line-height:1.05!important;
    overflow-wrap:anywhere!important;
  }
  .services-grid .service-card p {
    min-height:0!important;
    font-size:16px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
  }
  .services-grid .service-card .service-link {
    font-size:15px!important;
    white-space:normal!important;
  }
}

/* Phone layout: keep every fleet category visible and put the call action in the header. */
@media(max-width:640px) {
  body {
    padding-bottom:0!important;
  }
  .mobile-cta {
    display:none!important;
  }
  .nav-actions {
    flex:0 0 auto!important;
    margin-left:auto!important;
  }
  .nav-actions .btn {
    display:none!important;
  }
  .nav-actions .phone {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:42px!important;
    padding:0 14px!important;
    border-radius:999px!important;
    background:#d9edc9!important;
    color:#163520!important;
    font-size:13px!important;
    font-weight:750!important;
    white-space:nowrap!important;
  }
  .catalog-section .filters {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    gap:8px!important;
    padding:0!important;
    margin-bottom:18px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    scroll-snap-type:none!important;
  }
  .catalog-section .filters:before {
    content:none!important;
    display:none!important;
  }
  .catalog-section .filters .filter {
    min-width:0!important;
    width:100%!important;
    min-height:46px!important;
    padding:10px 8px!important;
    border:1px solid #dfe5de!important;
    border-radius:12px!important;
    background:#f0f3ef!important;
    color:#35443a!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-align:center!important;
    scroll-snap-align:none!important;
  }
  .catalog-section .filters .filter.active,
  .catalog-section .filters .filter.active:hover {
    border-color:#bad6aa!important;
    background:#d9edc9!important;
    color:#163520!important;
    box-shadow:0 3px 12px rgba(37,78,43,.13)!important;
  }
}

/* On phones the fleet becomes a horizontal, swipeable card rail. */
.fleet-swipe-hint {
  display:none;
}
@media(max-width:640px) {
  .fleet-swipe-hint {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    margin:0 2px 10px!important;
    color:#657067!important;
    font-size:13px!important;
    line-height:1.3!important;
  }
  .fleet-swipe-hint span {
    color:#294a34!important;
    font-size:20px!important;
    font-weight:700!important;
  }
  .catalog-section #fleetGrid {
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:stretch!important;
    gap:12px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 4px 14px!important;
    margin:0!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:4px!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    touch-action:pan-x pan-y!important;
  }
  .catalog-section #fleetGrid::-webkit-scrollbar {
    display:none!important;
  }
  .catalog-section #fleetGrid .machine-card {
    flex:0 0 calc(100% - 34px)!important;
    width:calc(100% - 34px)!important;
    min-width:calc(100% - 34px)!important;
    max-width:none!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  .catalog-section #fleetGrid .empty {
    flex:0 0 100%!important;
    width:100%!important;
  }
}

