/* WordPress overlay: admin bar, mobile nav, form honeypot, missing-image fallback */

.rs-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.rs-site .skip-link,
.rs-site a.skip-link,
#wrapper .skip-link {
  position: absolute !important;
  left: -9999px !important;
}

.rs-notice {
  position: sticky;
  top: 0;
  z-index: 80;
  text-align: center;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
}
.rs-notice-ok { background: #e8f6e8; color: #215c21; }
.rs-notice-fail { background: #fde8e4; color: #8a2b16; }

body.admin-bar .topbar { margin-top: 32px; }
@media (max-width: 782px) {
  body.admin-bar .topbar { margin-top: 46px; }
}

.rs-site img {
  background: var(--cream-soft, #fff6ee);
}

.rs-site .hero-visual {
  min-height: 0;
  height: auto;
  aspect-ratio: 16 / 9;
}
.rs-site .hero-visual img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.rs-menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line, #eadfd6);
  border-radius: 12px;
  background: var(--card, #fff);
  padding: 10px 11px;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}
.rs-menu-toggle span {
  display: block;
  height: 2px;
  background: var(--ink, #2b211c);
  border-radius: 2px;
}
.rs-menu-toggle.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.rs-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.rs-menu-toggle.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.rs-menu-toggle span { transition: .2s ease; }

header .menu {
  gap: 30px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--ink, #3d2f28);
}
header .menu > a,
header .nav-item > a {
  position: relative;
  padding: 26px 0;
  border-radius: 0;
  line-height: 1.2;
  white-space: nowrap;
  color: var(--ink, #3d2f28);
  background: none;
  transition: color .2s ease;
}
header .menu > a:hover,
header .nav-item > a:hover,
header .menu > a.active,
header .nav-item > a.active {
  color: var(--caramel, #c26a3a);
  background: none;
}
header .menu > a::after,
header .nav-item > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18px;
  height: 1.5px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .2s ease;
}
header .menu > a:hover::after,
header .nav-item > a:hover::after,
header .menu > a.active::after,
header .nav-item > a.active::after {
  transform: scaleX(1);
}
header .nav-item .caret {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 5px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  opacity: .45;
  transition: transform .2s ease, opacity .2s ease;
}
header .nav-item:hover .caret,
header .nav-item:focus-within .caret {
  opacity: 1;
  transform: rotate(225deg) translateY(-1px);
}
header .dropdown,
header .dropdown.cols-2 {
  min-width: 196px;
  display: none;
  grid-template-columns: none;
  top: calc(100% - 10px);
  padding: 8px;
  border-color: var(--line, #eadfd6);
  border-radius: 14px;
  box-shadow: 0 14px 32px rgba(43, 33, 28, .1);
}
header .dropdown a {
  padding: 9px 12px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0;
}
header .nav-item:hover .dropdown,
header .nav-item:focus-within .dropdown,
header .nav-item.is-open .dropdown,
header .nav-item:hover .dropdown.cols-2,
header .nav-item:focus-within .dropdown.cols-2,
header .nav-item.is-open .dropdown.cols-2 {
  display: block;
}

@media (max-width: 980px) {
  header .nav { position: relative; }
  .rs-menu-toggle { display: flex; }
  header .menu.rs-open {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--cream, #fff9f3);
    border: 1px solid var(--line, #eadfd6);
    border-radius: 16px;
    padding: 8px 0 14px;
    box-shadow: 0 16px 32px rgba(43, 33, 28, .12);
    z-index: 60;
  }
  header .menu.rs-open > a,
  header .menu.rs-open .nav-item > a {
    padding: 12px 18px;
  }
  header .menu.rs-open > a::after,
  header .menu.rs-open .nav-item > a::after {
    display: none;
  }
  header .menu.rs-open .dropdown,
  header .menu.rs-open .dropdown.cols-2 {
    position: static;
    transform: none;
    min-width: 0;
    display: none;
    box-shadow: none;
    border: 0;
    padding: 0 0 6px 12px;
  }
  header .menu.rs-open .nav-item:hover .dropdown,
  header .menu.rs-open .nav-item:focus-within .dropdown,
  header .menu.rs-open .nav-item.is-open .dropdown,
  header .menu.rs-open .nav-item:hover .dropdown.cols-2,
  header .menu.rs-open .nav-item:focus-within .dropdown.cols-2,
  header .menu.rs-open .nav-item.is-open .dropdown.cols-2 {
    display: block;
  }
}

html {
  scroll-behavior: auto !important;
  overflow-anchor: none;
}
body.rs-site {
  overflow-anchor: none;
}
.rs-empty {
  padding: 24px;
  color: #8a7b71;
}
a.page-btn,
a.cert-item {
  text-decoration: none;
  color: inherit;
}
button.page-btn,
button.tab {
  font-family: inherit;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.rs-site .mode-nav-tabs {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.rs-site .tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line, #eadfd6);
  background: #fff;
  border-radius: 999px;
  padding: 10px 22px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--text, #5c4f47);
  cursor: pointer;
  line-height: 1.2;
  box-shadow: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.rs-site .tab:hover {
  border-color: var(--caramel-border, #efcbb3);
  color: var(--caramel, #c26a3a);
}
.rs-site .tab.on {
  background: var(--caramel, #c26a3a);
  color: #fff;
  border-color: var(--caramel, #c26a3a);
  box-shadow: 0 8px 16px rgba(194, 106, 58, .22);
}
.rs-site .dual-mode-panel[hidden] {
  display: none !important;
}
.rs-list-panel.is-loading {
  opacity: .45;
  pointer-events: none;
}
.rs-home-panel,
.rs-list-panel,
.rs-panel-body {
  overflow-anchor: none;
}
.rs-featured-slider .rs-featured-slide {
  display: none;
}
.rs-featured-slider .rs-featured-slide.is-on {
  display: block;
}
.rs-cert-wall {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.rs-cert-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--line, #eadfd6);
  border-radius: 16px;
  padding: 16px;
}
.rs-cert-card .seal {
  flex: 0 0 72px;
  min-height: 72px;
  border-radius: 12px;
  background: var(--caramel-light, #fff7f0);
  color: var(--caramel, #c26a3a);
  font-size: 12px;
  font-weight: 700;
  display: grid;
  place-items: center;
  text-align: center;
  line-height: 1.2;
}
.rs-cert-card h4 {
  margin: 0 0 4px;
  font-size: 16px;
}
.rs-cert-card p {
  margin: 0 0 4px;
  font-size: 13px;
  color: #8a7b71;
}
@media (min-width: 720px) {
  .rs-cert-wall {
    grid-template-columns: 1fr 1fr;
  }
}

/* 全站区块分割：焦糖糖线 + 中间压片糖点 */
.rs-site section {
  position: relative;
}
.rs-site section.soft:not(.rs-mold):not(.rs-foil):not(.rs-paper) {
  background:
    radial-gradient(ellipse 80% 70px at 50% 0, rgba(194,106,58,.07), transparent 72%),
    var(--cream-soft, #fff6ee);
}
.rs-site section:not(.hero):not(.page-hero):not(.rs-mold):not(.rs-foil):not(.rs-paper)::before,
.rs-site section:not(.hero):not(.page-hero):not(.rs-mold):not(.rs-foil):not(.rs-paper)::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  pointer-events: none;
  z-index: 2;
}
.rs-site section:is(.rs-mold, .rs-foil, .rs-paper) + section:not(.hero):not(.page-hero)::before,
.rs-site section:is(.rs-mold, .rs-foil, .rs-paper) + section:not(.hero):not(.page-hero)::after,
.rs-site .page-hero.has-photo + section:not(.hero):not(.page-hero):not(.rs-mold):not(.rs-foil):not(.rs-paper)::before,
.rs-site .page-hero.has-photo + section:not(.hero):not(.page-hero):not(.rs-mold):not(.rs-foil):not(.rs-paper)::after {
  display: none;
}
.rs-site section:not(.hero):not(.page-hero):not(.rs-mold):not(.rs-foil):not(.rs-paper)::before {
  width: min(640px, 82%);
  height: 10px;
  transform: translate(-50%, -50%);
  background:
    radial-gradient(circle, var(--caramel-border, #efcbb3) 1.1px, transparent 1.4px) 0 50% / 11px 10px repeat-x,
    linear-gradient(90deg, transparent, var(--caramel-border, #efcbb3) 12%, #e2a078 50%, var(--caramel-border, #efcbb3) 88%, transparent);
  background-repeat: repeat-x, no-repeat;
  background-size: 11px 10px, 100% 1px;
  background-position: 0 50%, 0 50%;
}
.rs-site section:not(.hero):not(.page-hero):not(.rs-mold):not(.rs-foil):not(.rs-paper)::after {
  width: 22px;
  height: 22px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, #fff 0 2px, transparent 2.4px),
    radial-gradient(circle at 50% 55%, #fff9f3 0 38%, #f4d4b4 62%, #e4b089 100%);
  border: 2px solid var(--caramel, #c26a3a);
  box-shadow:
    0 0 0 5px var(--cream, #fff9f3),
    0 0 0 6px var(--caramel-border, #efcbb3),
    0 4px 10px rgba(194,106,58,.18);
}
.rs-site section.soft:not(.hero):not(.page-hero):not(.rs-mold):not(.rs-foil):not(.rs-paper)::after {
  box-shadow:
    0 0 0 5px var(--cream-soft, #fff6ee),
    0 0 0 6px var(--caramel-border, #efcbb3),
    0 4px 10px rgba(194,106,58,.18);
}

/* 页面特色图片：Hero / 标头背景 */
.rs-site .hero.has-photo,
.rs-site .page-hero.has-photo,
.rs-site section.has-photo {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.rs-site .hero.has-photo,
.rs-site .page-hero {
  min-height: 520px;
  display: flex;
  align-items: center;
  padding: 64px 0 54px;
  box-sizing: border-box;
}
.rs-site .page-hero {
  width: 100%;
}
.rs-site .hero.has-photo {
  background-image:
    linear-gradient(105deg, rgba(255,249,243,.62) 0%, rgba(255,249,243,.28) 40%, rgba(255,249,243,.12) 100%),
    var(--rs-hero-image);
}
.rs-site .page-hero.has-photo {
  background-image:
    linear-gradient(105deg, rgba(255,249,243,.7) 0%, rgba(255,249,243,.4) 46%, rgba(255,249,243,.2) 100%),
    var(--rs-hero-image);
  border-bottom: 0;
  padding-bottom: 76px;
  overflow: visible;
}
.rs-site .page-hero.has-photo::before,
.rs-site .page-hero.has-photo::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.rs-site .page-hero.has-photo::before {
  left: 0;
  right: 0;
  bottom: -1px;
  height: 58px;
  z-index: 3;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 58' preserveAspectRatio='none'%3E%3Cpath fill='%23fff9f3' d='M0 58V34C120 20 200 46 320 30C460 14 560 38 640 26C690 12 700 8 720 8C740 8 750 12 800 26C880 38 980 14 1120 30C1240 46 1320 20 1440 34V58Z'/%3E%3Cpath fill='none' stroke='%23efcbb3' stroke-width='1.4' d='M0 34C120 20 200 46 320 30C460 14 560 38 640 26C690 12 700 8 720 8C740 8 750 12 800 26C880 38 980 14 1120 30C1240 46 1320 20 1440 34'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
  filter: drop-shadow(0 -3px 10px rgba(43, 33, 28, .1));
}
.rs-site .page-hero.has-photo::after {
  left: 50%;
  bottom: 28px;
  width: 28px;
  height: 28px;
  z-index: 4;
  transform: translateX(-50%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, #fff 0 2.4px, transparent 2.8px),
    radial-gradient(circle at 50% 55%, #fff9f3 0 38%, #f4d4b4 62%, #e4b089 100%);
  border: 2px solid var(--caramel, #c26a3a);
  box-shadow:
    0 0 0 7px var(--cream, #fff9f3),
    0 0 0 8px var(--caramel-border, #efcbb3),
    0 4px 12px rgba(194, 106, 58, .2);
}
.rs-site .page-hero.has-photo .sub,
.rs-site .page-hero.has-photo p {
  color: var(--ink, #2b211c);
  text-shadow: 0 1px 10px rgba(255,249,243,.95), 0 0 16px rgba(255,249,243,.8);
}
.rs-site .page-hero.has-photo .label {
  text-shadow: 0 1px 8px rgba(255,249,243,.9);
}
.rs-site .page-hero.has-photo .wrap {
  position: relative;
  z-index: 5;
}
.rs-site section.has-photo {
  background-image:
    linear-gradient(180deg, rgba(255,249,243,.55) 0%, rgba(255,249,243,.32) 100%),
    var(--rs-hero-image);
}
@media (max-width: 980px) {
  .rs-site .hero.has-photo,
  .rs-site .page-hero {
    min-height: 380px;
    padding: 48px 0 40px;
  }
  .rs-site .page-hero.has-photo {
    padding-bottom: 60px;
  }
  .rs-site .page-hero.has-photo::before {
    height: 44px;
  }
  .rs-site .page-hero.has-photo::after {
    width: 24px;
    height: 24px;
    bottom: 20px;
  }
}

/* 焦糖色带：糖纸切口（上下波浪 + 上沿压片糖） */
.rs-site section.rs-paper {
  --rs-band-fill: #edc8a6;
  --rs-paper-wave: 58px;
  position: relative;
  z-index: 2;
  overflow: visible;
}
.rs-site .rs-paper-wave {
  position: absolute;
  left: 0;
  right: 0;
  height: var(--rs-paper-wave);
  pointer-events: none;
  z-index: 3;
  background-color: var(--rs-band-fill, #edc8a6);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 58' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 58V34C120 20 200 46 320 30C460 14 560 38 640 26C690 12 700 8 720 8C740 8 750 12 800 26C880 38 980 14 1120 30C1240 46 1320 20 1440 34V58Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 58' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' d='M0 58V34C120 20 200 46 320 30C460 14 560 38 640 26C690 12 700 8 720 8C740 8 750 12 800 26C880 38 980 14 1120 30C1240 46 1320 20 1440 34V58Z'/%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.rs-site .rs-paper-wave--top {
  top: calc(var(--rs-paper-wave) / -2);
  filter: drop-shadow(0 -2px 8px rgba(43, 33, 28, .08));
}
.rs-site .rs-paper-wave--bottom {
  bottom: calc(var(--rs-paper-wave) / -2);
  transform: scaleY(-1);
  filter: drop-shadow(0 -2px 8px rgba(43, 33, 28, .08));
}
.rs-site section.rs-paper::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -10px;
  width: 28px;
  height: 28px;
  z-index: 4;
  pointer-events: none;
  transform: translateX(-50%);
  border-radius: 50%;
  background:
    radial-gradient(circle at 34% 30%, #fff 0 2.4px, transparent 2.8px),
    radial-gradient(circle at 50% 55%, #fff9f3 0 38%, #f4d4b4 62%, #e4b089 100%);
  border: 2px solid var(--caramel, #c26a3a);
  box-shadow:
    0 0 0 7px var(--rs-band-fill, #edc8a6),
    0 0 0 8px rgba(164, 83, 44, .28),
    0 4px 12px rgba(194, 106, 58, .2);
}
@media (max-width: 980px) {
  .rs-site section.rs-paper {
    --rs-paper-wave: 44px;
  }
  .rs-site section.rs-paper::after {
    width: 24px;
    height: 24px;
    top: -8px;
  }
}

.rs-site #partners,
.rs-site #certs,
.rs-site #home-blog,
.rs-site #partners .wrap,
.rs-site #certs .wrap,
.rs-site #home-blog .wrap,
.rs-site .wrap:has(> .rs-logo-grid) {
  overflow: visible !important;
}
.rs-site #partners .wrap,
.rs-site #certs .wrap,
.rs-site #home-blog .wrap,
.rs-site .wrap:has(> .rs-logo-grid) {
  width: min(1360px, calc(100% - 32px));
}
.rs-site .rs-logo-grid,
.rs-site .partners-logo-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
  margin-top: 8px;
  overflow: visible;
  isolation: isolate;
}
.rs-site .rs-logo-grid--5 {
  grid-template-columns: repeat(5, 1fr);
}
.rs-site .rs-logo-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
.rs-site .rs-logo-tile,
.rs-site .partner-logo {
  height: 176px;
  display: block;
  overflow: visible;
  position: relative;
  z-index: 1;
  border-radius: 18px;
  background: #fff;
  border: 0;
  padding: 0;
  box-shadow: none;
  transform: scale(1);
  transform-origin: center center;
  transition: transform .35s ease, box-shadow .35s ease;
}
.rs-site a.rs-logo-tile {
  text-decoration: none;
}
.rs-site .rs-logo-tile img,
.rs-site .partner-logo img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain !important;
  display: block;
  background: #fff;
  border-radius: 18px;
  padding: 22px 18px;
  transform: none !important;
}
.rs-site .rs-logo-tile:hover,
.rs-site .partner-logo:hover {
  z-index: 20;
  transform: scale(1.2);
  box-shadow: 0 18px 40px rgba(43, 33, 28, .16);
}
.rs-site .rs-logo-grid .rs-empty,
.rs-site .partners-logo-grid .rs-empty,
.rs-site .partners-grid .rs-empty,
.rs-site .partners-grid-4x2 .rs-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 18px;
  color: var(--muted, #7a6558);
}
@media (max-width: 980px) {
  .rs-site .rs-logo-grid,
  .rs-site .partners-logo-grid,
  .rs-site .rs-logo-grid--4,
  .rs-site .rs-logo-grid--5 {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .rs-site .rs-logo-tile,
  .rs-site .partner-logo {
    height: 120px;
    padding: 0;
  }
}
@media (max-width: 760px) {
  .rs-site .rs-logo-grid,
  .rs-site .partners-logo-grid,
  .rs-site .rs-logo-grid--4,
  .rs-site .rs-logo-grid--5 {
    grid-template-columns: repeat(2, 1fr);
  }
  .rs-site .rs-logo-tile,
  .rs-site .partner-logo {
    height: 112px;
  }
}

/* Shared tile hover: whole white card grows; photo does not zoom on its own */
.rs-site .wrap,
.rs-site section,
.rs-site .strip-section,
.rs-site .process-timeline {
  overflow: visible;
}
.rs-site .grid5,
.rs-site .blogs-grid,
.rs-site .process-grid,
.rs-site .process-grid-3x2,
.rs-site .expo-grid,
.rs-site .product-grid-3x4,
.rs-site .prod-grid-3x3,
.rs-site .prod-grid-3x2,
.rs-site .showcase-grid-4x2,
.rs-site .strip-grid,
.rs-site .strip-grid-5,
.rs-site .bases-grid,
.rs-site .product-grid-4col,
.rs-site .steps-container,
.rs-site .step-grid-3col,
.rs-site .quality-grid-4x2,
.rs-site .custom-features-grid,
.rs-site .shapes-grid-3col,
.rs-site .channels-grid,
.rs-site .certs-row {
  overflow: visible;
  isolation: isolate;
}
.rs-site .card,
.rs-site .shot,
.rs-site .prod-card,
.rs-site .candy-card,
.rs-site .base-card,
.rs-site .product-box,
.rs-site .step-card,
.rs-site .step-hero-banner,
.rs-site .strip-card,
.rs-site .strip-item,
.rs-site .quality-card,
.rs-site .feature-item-box,
.rs-site .process-row,
.rs-site .shape-card,
.rs-site .channel-card,
.rs-site .cert-box,
.rs-site .cert-item {
  position: relative;
  z-index: 1;
  transform: scale(1);
  transform-origin: center center;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.rs-site .card:hover,
.rs-site .shot:hover,
.rs-site .prod-card:hover,
.rs-site .candy-card:hover,
.rs-site .base-card:hover,
.rs-site .product-box:hover,
.rs-site .step-card:hover,
.rs-site .step-hero-banner:hover,
.rs-site .strip-card:hover,
.rs-site .strip-item:hover,
.rs-site .quality-card:hover,
.rs-site .feature-item-box:hover,
.rs-site .process-row:hover,
.rs-site .shape-card:hover,
.rs-site .channel-card:hover,
.rs-site .cert-box:hover,
.rs-site .cert-item:hover {
  z-index: 20;
  transform: scale(1.12) !important;
  box-shadow: 0 18px 40px rgba(43, 33, 28, .16);
}
.rs-site .card img,
.rs-site .shot img,
.rs-site .prod-card img,
.rs-site .candy-card img,
.rs-site .base-card img,
.rs-site .product-box img,
.rs-site .step-card img,
.rs-site .step-hero-banner img,
.rs-site .feature-item-box img,
.rs-site .process-row img,
.rs-site .shape-card img,
.rs-site .channel-card img,
.rs-site .card:hover img,
.rs-site .shot:hover img,
.rs-site .prod-card:hover img,
.rs-site .candy-card:hover img,
.rs-site .base-card:hover img,
.rs-site .product-box:hover img,
.rs-site .step-card:hover img,
.rs-site .step-hero-banner:hover img,
.rs-site .feature-item-box:hover img,
.rs-site .process-row:hover img,
.rs-site .shape-card:hover img,
.rs-site .channel-card:hover img {
  transform: none !important;
}

.rs-site .hero,
.rs-site .hero-grid,
.rs-site .split,
.rs-site .split-reverse,
.rs-site .estimator-grid,
.rs-site .blog-feed,
.rs-site .contact-main-grid {
  overflow: visible;
  isolation: isolate;
}
.rs-site .hero-card,
.rs-site .hero-visual,
.rs-site .feature-card,
.rs-site .frame,
.rs-site .qa-split-card,
.rs-site .knowledge-card,
.rs-site .testing-card,
.rs-site .calc-card,
.rs-site .vr-factory-banner,
.rs-site .blog-card,
.rs-site .contact-info-panel,
.rs-site .bullet-spec-group {
  position: relative;
  z-index: 1;
  transform: scale(1);
  transform-origin: center center;
  transition: transform .35s ease, box-shadow .35s ease;
}
.rs-site .hero-card:hover,
.rs-site .hero-visual:hover,
.rs-site .feature-card:hover,
.rs-site .frame:hover,
.rs-site .qa-split-card:hover,
.rs-site .knowledge-card:hover,
.rs-site .testing-card:hover,
.rs-site .calc-card:hover,
.rs-site .vr-factory-banner:hover,
.rs-site .blog-card:hover,
.rs-site .contact-info-panel:hover,
.rs-site .bullet-spec-group:hover {
  z-index: 20;
  transform: scale(1.08) !important;
  box-shadow: 0 22px 48px rgba(43, 33, 28, .16);
}
.rs-site .hero-visual img,
.rs-site .frame img,
.rs-site .qa-split-card img,
.rs-site .knowledge-card img,
.rs-site .testing-card img,
.rs-site .calc-card img,
.rs-site .vr-factory-banner img,
.rs-site .blog-card img,
.rs-site .hero-visual:hover img,
.rs-site .frame:hover img,
.rs-site .qa-split-card:hover img,
.rs-site .knowledge-card:hover img,
.rs-site .testing-card:hover img,
.rs-site .calc-card:hover img,
.rs-site .vr-factory-banner:hover img,
.rs-site .blog-card:hover img {
  transform: none !important;
}

.rs-site .file-upload-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  overflow: visible;
  min-height: 52px;
  padding: 10px 14px;
}
.rs-site .file-upload-box > span:first-child {
  flex: 1 1 220px;
  min-width: 0;
  line-height: 1.45;
}
.rs-site .rs-file {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
  max-width: 100%;
  margin: 0 !important;
  font-weight: 500 !important;
  color: inherit;
  cursor: pointer;
}
.rs-site .quote-action-row,
.rs-site .quick-quote-actions {
  flex-wrap: wrap;
  overflow: visible;
}
.rs-site .rs-file-input {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  opacity: 0 !important;
}
.rs-site .rs-file-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  white-space: nowrap;
  padding: 9px 18px;
  border-radius: 999px;
  background: var(--caramel, #c26a3a);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  box-shadow: 0 6px 14px rgba(194, 106, 58, .22);
  transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.rs-site .rs-file:hover .rs-file-btn {
  background: var(--caramel-dark, #a4532c);
  transform: translateY(-1px);
}
.rs-site .rs-file-name {
  font-size: 12.5px;
  color: var(--muted, #8a7b71);
  max-width: 200px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rs-site .rs-file-name.is-chosen {
  color: var(--ink, #3a2e28);
  font-weight: 600;
}
.rs-site .rs-file:focus-within .rs-file-btn {
  outline: 2px solid var(--caramel, #c26a3a);
  outline-offset: 2px;
}
.rs-site .rs-file--compact .rs-file-btn {
  padding: 8px 14px;
  font-size: 12.5px;
}
.rs-site .rs-file--compact .rs-file-name {
  max-width: 110px;
}
.rs-site .rs-faq-toolbar {
  background: var(--cream-soft, #fff6ee);
  border: 1px solid var(--line, #eadfd6);
  border-radius: 16px;
  padding: 14px 16px 12px;
  margin: 0 0 4px;
  overflow: visible;
}
.rs-site .rs-faq-toolbar-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
.rs-site .rs-faq-toolbar-fields.is-single {
  grid-template-columns: minmax(0, 380px);
}
.rs-site .wizard-form,
.rs-site .wizard-grid,
.rs-site .dual-mode-section {
  overflow: visible;
}
.rs-site .wizard-form .rs-combo {
  margin-bottom: 12px;
}
.rs-site .rs-faq-toolbar-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  position: relative;
}
.rs-site .rs-faq-toolbar-field > span {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted, #8a7b71);
}
.rs-site .rs-combo {
  position: relative;
}
.rs-site .rs-combo-input {
  width: 100%;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: var(--ink, #2b211c);
  line-height: 1.3;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a7b71' d='M2 2h8L6 7z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
  border: 1px solid var(--line, #eadfd6);
  border-radius: 12px;
  padding: 11px 36px 11px 14px;
  cursor: text;
  box-shadow: 0 1px 0 rgba(43, 33, 28, .02);
}
.rs-site .rs-combo-input::placeholder {
  color: var(--muted, #8a7b71);
  font-weight: 500;
}
.rs-site .rs-combo.is-open .rs-combo-input,
.rs-site .rs-combo-input:hover,
.rs-site .rs-combo-input:focus {
  border-color: var(--caramel, #c26a3a);
  outline: none;
}
.rs-site .rs-combo.is-open .rs-combo-input,
.rs-site .rs-combo-input:focus {
  box-shadow: 0 0 0 3px rgba(194, 106, 58, .14);
}
.rs-site .rs-combo-panel {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 80;
  background: #fff;
  border: 1px solid var(--line, #eadfd6);
  border-radius: 14px;
  box-shadow: 0 16px 32px rgba(43, 33, 28, .12);
  padding: 6px;
  max-height: 280px;
  overflow-y: auto;
}
.rs-site .rs-combo-group {
  padding: 8px 12px 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--muted, #8a7b71);
}
.rs-site .rs-combo-item {
  display: block;
  width: 100%;
  text-align: left;
  border: 0;
  background: transparent;
  border-radius: 8px;
  padding: 9px 12px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink, #2b211c);
  cursor: pointer;
}
.rs-site .rs-combo-item[hidden],
.rs-site .rs-combo-group[hidden],
.rs-site .rs-combo-empty[hidden] {
  display: none !important;
}
.rs-site .rs-combo-item:hover,
.rs-site .rs-combo-item.is-active {
  background: var(--caramel-light, #fff7f0);
  color: var(--caramel, #c26a3a);
}
.rs-site .rs-combo-item.is-current {
  font-weight: 700;
  color: var(--caramel, #c26a3a);
}
.rs-site .rs-combo-empty {
  margin: 0;
  padding: 10px 12px;
  font-size: 13px;
  color: var(--muted, #8a7b71);
}
.rs-site .blog-feed {
  overflow: visible;
}
.rs-site .rs-faq-toolbar-status {
  margin: 10px 2px 0;
  font-size: 13px;
  color: var(--muted, #8a7b71);
}
.rs-site .rs-faq-toolbar-status a {
  margin-left: 8px;
  font-weight: 700;
  color: var(--caramel, #c26a3a);
}
.rs-site .rs-faq-toolbar-status a:hover {
  text-decoration: underline;
}
.rs-site .faq-more-row {
  max-width: 860px;
  margin: 18px auto 0;
  text-align: right;
}
.rs-site .faq-more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--caramel, #c26a3a);
  text-decoration: none;
}
.rs-site .frame.is-playing,
.rs-site .frame.is-playing:hover,
.rs-site .rs-video-slot,
.rs-site .rs-video-slot:hover {
  transform: none !important;
  z-index: 1;
}
.rs-site .rs-video-slot {
  position: relative;
  overflow: hidden !important;
  scrollbar-width: none;
}
.rs-site .rs-video-slot .play {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(43, 33, 28, .22);
  cursor: pointer;
  border: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  overflow: hidden;
  scrollbar-width: none;
  transition: background .2s;
}
.rs-site .rs-video-slot .play::-webkit-scrollbar,
.rs-site .rs-video-slot .play span::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.rs-site .rs-video-slot .play::before,
.rs-site .rs-video-slot .play::after {
  content: none !important;
  display: none !important;
}
.rs-site .rs-video-slot .play:hover {
  background: rgba(43, 33, 28, .12);
}
.rs-site .rs-video-slot .play span {
  box-sizing: border-box;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #fff;
  color: var(--caramel, #c26a3a);
  display: grid;
  place-items: center;
  font-size: 0;
  line-height: 0;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
}
.rs-site .rs-video-slot .play span::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 14px;
  border-color: transparent transparent transparent currentColor;
  margin-left: 3px;
}
.rs-site .rs-video-slot video,
.rs-site .rs-video-slot iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  background: #2b211c;
}
@media (max-width: 720px) {
  .rs-site .rs-faq-toolbar-fields {
    grid-template-columns: 1fr;
  }
}
