/* [2026-11-09 修复] 本页整页设计 CSS 采集时缺失，自 otterdtf.com 线上内联样式补全（.otter-clone 前缀） */
/* ---- sppb 基础规则（原有，保留） ---- */
.otter-clone #sp-page-builder .page-content .sppb-section, .otter-clone #sp-page-builder .sppb-section, .otter-clone .mod-sppagebuilder .sppb-section {
  z-index:1;position:relative}
.otter-clone #sp-page-builder .page-content .sppb-section, .otter-clone #sp-page-builder .sppb-section {
  will-change:top}
.otter-clone #sp-page-builder .page-content .sppb-section:not(div.sppb-section):first-child {
  margin-top:0}
.otter-clone .sp-pagebuilder-row, .otter-clone .sppb-row {
  display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
.otter-clone .sppb-no-gutter>.sppb-col, .otter-clone .sppb-no-gutter>.sppb-row-column, .otter-clone .sppb-no-gutter>[class*=sppb-col-] {
  padding-right:0;padding-left:0}
.otter-clone .sppb-col, .otter-clone .sppb-col-auto, .otter-clone .sppb-col-lg, .otter-clone .sppb-col-lg-1, .otter-clone .sppb-col-lg-10, .otter-clone .sppb-col-lg-11, .otter-clone .sppb-col-lg-12, .otter-clone .sppb-col-lg-2, .otter-clone .sppb-col-lg-3, .otter-clone .sppb-col-lg-4, .otter-clone .sppb-col-lg-5, .otter-clone .sppb-col-lg-6, .otter-clone .sppb-col-lg-7, .otter-clone .sppb-col-lg-8, .otter-clone .sppb-col-lg-9, .otter-clone .sppb-col-lg-auto, .otter-clone .sppb-col-md, .otter-clone .sppb-col-md-1, .otter-clone .sppb-col-md-10, .otter-clone .sppb-col-md-11, .otter-clone .sppb-col-md-12, .otter-clone .sppb-col-md-2, .otter-clone .sppb-col-md-3, .otter-clone .sppb-col-md-4, .otter-clone .sppb-col-md-5, .otter-clone .sppb-col-md-6, .otter-clone .sppb-col-md-7, .otter-clone .sppb-col-md-8, .otter-clone .sppb-col-md-9, .otter-clone .sppb-col-md-auto, .otter-clone .sppb-col-sm, .otter-clone .sppb-col-sm-1, .otter-clone .sppb-col-sm-10, .otter-clone .sppb-col-sm-11, .otter-clone .sppb-col-sm-12, .otter-clone .sppb-col-sm-2, .otter-clone .sppb-col-sm-3, .otter-clone .sppb-col-sm-4, .otter-clone .sppb-col-sm-5, .otter-clone .sppb-col-sm-6, .otter-clone .sppb-col-sm-7, .otter-clone .sppb-col-sm-8, .otter-clone .sppb-col-sm-9, .otter-clone .sppb-col-sm-auto, .otter-clone .sppb-col-xl, .otter-clone .sppb-col-xl-1, .otter-clone .sppb-col-xl-10, .otter-clone .sppb-col-xl-11, .otter-clone .sppb-col-xl-12, .otter-clone .sppb-col-xl-2, .otter-clone .sppb-col-xl-3, .otter-clone .sppb-col-xl-4, .otter-clone .sppb-col-xl-5, .otter-clone .sppb-col-xl-6, .otter-clone .sppb-col-xl-7, .otter-clone .sppb-col-xl-8, .otter-clone .sppb-col-xl-9, .otter-clone .sppb-col-xl-auto, .otter-clone .sppb-col-xs-1, .otter-clone .sppb-col-xs-10, .otter-clone .sppb-col-xs-11, .otter-clone .sppb-col-xs-12, .otter-clone .sppb-col-xs-2, .otter-clone .sppb-col-xs-3, .otter-clone .sppb-col-xs-4, .otter-clone .sppb-col-xs-5, .otter-clone .sppb-col-xs-6, .otter-clone .sppb-col-xs-7, .otter-clone .sppb-col-xs-8, .otter-clone .sppb-col-xs-9, .otter-clone .sppb-row-column {
  position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}
.otter-clone .sppb-column, .otter-clone .sppb-column-addons {
  position:relative;z-index:1;width:100%}
.otter-clone .sppb-column {
  width:100%;height:100%;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}
.otter-clone .sppb-column.sppb-align-items-center {
  -ms-flex-align:center!important;align-items:center!important}
.otter-clone .sppb-column.sppb-align-items-top {
  -ms-flex-align:flex-start!important;align-items:flex-start!important}
.otter-clone .sppb-column.sppb-align-items-bottom {
  -ms-flex-align:flex-end!important;align-items:flex-end!important}
.otter-clone .sp-pagebuilder-section-inner .sppb-row, .otter-clone .sppb-container-inner, .otter-clone .sppb-row-container {
  position:relative;z-index:3}
.otter-clone .clearfix:after, .otter-clone .clearfix:before, .otter-clone .sp-pagebuilder-row:after, .otter-clone .sp-pagebuilder-row:before, .otter-clone .sppb-container-fluid:after, .otter-clone .sppb-container-fluid:before, .otter-clone .sppb-container:after, .otter-clone .sppb-container:before, .otter-clone .sppb-nav:after, .otter-clone .sppb-nav:before, .otter-clone .sppb-panel-body:after, .otter-clone .sppb-panel-body:before {
  content:" ";display:table}
.otter-clone .clearfix:after, .otter-clone .sp-pagebuilder-row:after, .otter-clone .sppb-container-fluid:after, .otter-clone .sppb-container:after, .otter-clone .sppb-nav:after, .otter-clone .sppb-panel-body:after {
  clear:both}
.otter-clone #sp-page-builder .page-content .sppb-section.sppb-sticky-it, .otter-clone #sp-page-builder .sppb-section.sppb-sticky-it {
  position:fixed;width:100%;top:0;left:0;z-index:999}
.otter-clone .slider-content-vercally-center .sppb-row {
  display:flex;align-items:center}
.otter-clone .image-layout-preset-style-card .sppb-row, .otter-clone .image-layout-preset-style-collage .sppb-row, .otter-clone .image-layout-preset-style-overlap .sppb-row {
  margin:0;width:100%}
.otter-clone .image-layout-preset-style-card .sppb-row .sppb-col-sm-6:nth-child(2), .otter-clone .image-layout-preset-style-overlap .sppb-row .sppb-col-sm-6:nth-child(2) {
  display:flex;flex-wrap:wrap;align-items:center}
.otter-clone .image-layout-preset-style-card .sppb-row .sppb-col-sm-6:nth-child(2) .sppb-addon-image-layout-content, .otter-clone .image-layout-preset-style-overlap .sppb-row .sppb-col-sm-6:nth-child(2) .sppb-addon-image-layout-content {
  max-width:100%}
.otter-clone .sppb-row-container {
  width:100%;margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}
.otter-clone .clearfix::after, .otter-clone .content-category .category-desc::after, .otter-clone .com-tags-tag.tag-category .list-group .list-group-item::after {
  display: block;
  clear: both;
  content: "";}
.otter-clone .sppb-row-container {
  width: 1430px !important;
    max-width: 1430px !important;}
/* ---- 整页设计（自线上补全） ---- */

.otter-clone .page {
  width: 2560px;
  margin-left: calc((100% - 2560px) / 2);
  margin-right: 0;
  background-color: #ffffff;
  padding-bottom: 28px;}
/* ==========================================================
   Hero
   ========================================================== */
.otter-clone .hero {
  position: relative;
  width: 2560px;}

.otter-clone .hero__bg {
  width: 2560px;
  height: 797px;}

.otter-clone .hero__overlay {
  position: absolute;
  inset: 0;
  text-align: center;}

.otter-clone .hero__title {
  position: absolute;
  top: 46px;
  left: 0;
  right: 0;
  font-size: 42px;
  font-weight: 700;
  color: #111111;}

.otter-clone .hero__tags {
  position: absolute;
  top: 122px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 14px;}

.otter-clone .hero__tag {
  background-color: #111111;
  color: #ffffff;
  font-size: 15px;
  padding: 5px 16px;
  border-radius: 3px;}

.otter-clone .hero__actions {
  position: absolute;
  bottom: 55px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  gap: 20px;}

.otter-clone .hero__btn {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  padding: 9px 24px;
  border-radius: 4px;}

.otter-clone .hero__btn--quote {
  background-color: #ffffff;
  color: #111111;}

.otter-clone .hero__btn--video {
  background-color: #111111;
  color: #ffffff;}
/* ==========================================================
   Feature bar (grey strip with 4 columns)
   ========================================================== */
.otter-clone .feature-bar {
  background-color: #696969;
  padding: 18px 0 42px;}

.otter-clone .feature-bar__grid {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 58px;}

.otter-clone .feature-bar__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #ffffff;
  max-width: 280px;}

.otter-clone .feature-bar__icon {
  height: 124px;
  width: auto;}

.otter-clone .feature-bar__name {
  font-size: 19px;
  font-weight: 700;
  margin-top: 6px;}

.otter-clone .feature-bar__list {
  margin-top: 4px;
  font-size: 13px;
  line-height: 20px;
  color: #f2f2f2;}
/* ==========================================================
   Shared section pieces
   ========================================================== */
.otter-clone .section {
  background-color: #ffffff;
  text-align: center;}

.otter-clone .section__title {
  font-size: 40px;
  font-weight: 700;
  color: #1a1a1a;}

.otter-clone .section__intro {
  font-size: 15px;
  line-height: 1.65;
  color: #3d3d3d;
  max-width: 1460px;
  margin: 12px auto 0;}

.otter-clone .section__intro--sub {
  font-size: 14px;
  color: #4a4a4a;}

.otter-clone .section__figure {
  margin: 0 auto;
  border-radius: 12px;}
/* per-section rhythm (from the 2560px design mockup) */
.otter-clone .section--labor .section__title {
  margin-top: 35px;}

.otter-clone .section--labor .section__figure {
  margin-top: 68px;}

.otter-clone .section--surprises .section__title {
  margin-top: 46px;}

.otter-clone .section--surprises .touchscreen {
  margin-top: 28px;}

.otter-clone .section--pod .section__title {
  margin-top: 58px;}

.otter-clone .section--pod .section__figure {
  margin-top: 14px;}

.otter-clone .section--apps .section__title {
  margin-top: 26px;}

.otter-clone .section--apps .section__intro {
  margin-top: 10px;}

.otter-clone .touchscreen {
  position: relative;
  width: 1400px;
  margin: 28px auto 0;}

.otter-clone .touchscreen__img {
  width: 100%;
  height: auto;
  border-radius: 12px;}

.otter-clone .touchscreen__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: left;
  color: #ffffff;}

.otter-clone .touchscreen__title {
  position: absolute;
  top: 30px;
  left: 238px;
  font-size: 30px;
  font-weight: 600;}

.otter-clone .touchscreen__list {
  position: absolute;
  top: 96px;
  left: 234px;
  display: grid;
  grid-template-columns: 393px auto;
  grid-auto-flow: row;
  font-size: 16px;
  line-height: 25px;
  list-style: decimal inside;}
/* ==========================================================
   Section: Surprises — 3-column showcase cards
   ========================================================== */
.otter-clone .showcase {
  display: flex;
  justify-content: center;
  gap: 22px;
  margin-top: 24px;
  text-align: left;}

.otter-clone .showcase-card {
  display: flex;
  flex-direction: column;}

.otter-clone .showcase-card--tall {
  width: 554px;}

.otter-clone .showcase-col {
  display: flex;
  flex-direction: column;
  width: 401px;}

.otter-clone .showcase-card__img {
  width: 100%;
  height: auto;
  border-radius: 12px;}

.otter-clone .showcase-card__label {
  padding: 16px 6px 0;}
/* spacer between row-1 label and row-2 image (design: 115px) */
.otter-clone .showcase-card__label--gap {
  height: 115px;}

.otter-clone .showcase-card__name {
  font-size: 19px;
  font-weight: 700;
  color: #1a1a1a;}

.otter-clone .showcase-card__desc {
  font-size: 13px;
  line-height: 1.5;
  color: #555555;
  margin-top: 4px;}
/* ==========================================================
   Section: POD business — 2 rows, alternating widths
   ========================================================== */
.otter-clone .pod-gallery {
  margin-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 21px;}

.otter-clone .pod-row {
  display: flex;
  justify-content: center;
  gap: 32px;}

.otter-clone .pod-row__item {
  position: relative;}

.otter-clone .pod-row__img {
  border-radius: 10px;}
/* dark pill label at the bottom-right of each POD photo */
.otter-clone .pod-row__tag {
  position: absolute;
  right: 25px;
  bottom: 15px;
  padding: 7px 16px;
  font-size: 16px;
  line-height: 1.2;
  color: #ffffff;
  background-color: rgba(17, 17, 17, 0.85);
  border-radius: 6px;}
/* ==========================================================
   Section: Wide Application
   (grid gaps and label offsets measured on the 2560px mockup)
   ========================================================== */
.otter-clone .applications {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 63px;
  margin-top: 118px;
  text-align: left;}

.otter-clone .applications__grid {
  display: grid;
  grid-template-columns: repeat(2, 329px);
  gap: 25px 20px;
  margin-top: 21px;}

.otter-clone .applications__item {
  position: relative;}

.otter-clone .applications__img {
  border-radius: 10px;}

.otter-clone .applications__cap {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 14px;
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  color: #1f1f1f;}

.otter-clone .applications__dims {
  position: relative;}

.otter-clone .applications__dims img {
  border-radius: 12px;}

.otter-clone .applications__note {
  position: absolute;
  left: 33px;
  bottom: 11px;
  font-size: 16px;
  line-height: 20px;
  color: #2b2b2b;}
/* ==========================================================
   Banner: Small Size, Big Power!
   ========================================================== */
.otter-clone .banner {
  position: relative;
  margin-top: 97px;}

.otter-clone .banner__bg {
  width: 2560px;
  height: 603px;}

.otter-clone .banner__content {
  position: absolute;
  left: 586px;
  top: 382px;
  width: 640px;
  text-align: left;}

.otter-clone .banner__title {
  font-size: 30px;
  font-weight: 700;
  color: #111111;}

.otter-clone .banner__text {
  font-size: 14px;
  line-height: 1.55;
  color: #222222;
  margin-top: 12px;}
/* ==========================================================
   Footer CTA: Bottom Heat Model
   ========================================================== */
.otter-clone .footer-cta {
  position: relative;
  width: 1202px;
  margin: 37px auto 0;}

.otter-clone .footer-cta__bg {
  width: 1202px;
  height: 441px;
  border-radius: 12px;}

.otter-clone .footer-cta__overlay {
  position: absolute;
  left: 800px;
  top: 62px;
  width: 290px;
  text-align: center;}

.otter-clone .footer-cta__title {
  font-size: 25px;
  font-weight: 700;
  color: #ffffff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);}

.otter-clone .footer-cta__btn {
  display: inline-block;
  margin-top: 14px;
  width: 148px;
  height: 30px;
  line-height: 30px;
  font-size: 13px;
  background-color: #111111;
  color: #ffffff;
  border-radius: 2px;}

/* --- otterpro 适配：2560px 画布在 1400px 内容列内水平居中，超出部分裁剪避免横向滚动条 --- */
.otter-clone { overflow-x: clip; }
