* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
}
body {
  color: #101828;
}
div,
table,
tr,
td,
img,
ul,
li,
ol,
h1,
h2,
h3,
h4,
h5,
h6,
p,
em,
i,
font,
span,
b,
dl,
dt,
dd,
form,
textarea,
input,
select,
a,
button {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}
.animated.infinite {
  animation-iteration-count: infinite;
}
.animated.hinge {
  animation-duration: 2s;
}
.fadeInUp {
  animation-duration: 1.76s;
  animation-name: fadeInUp;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
/* 页面容器：主体最大宽度1216px，居中 */
.header-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
}
.page-container {
  max-width: 1216px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
}
a {
  text-decoration: none;
  color: inherit;
}
/* 按钮通用样式 */
.btn {
  display: inline-block;
  padding: 16px 24px;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  font-size: 16px;
}
.btn-orange {
  background-color: #FFA500;
  color: white !important;
  border: none;
}
.btn-white {
  background-color: white;
  color: #364153;
  border: 1px solid #ddd;
}
.btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  color: #364153
}
/* 头部导航 - 桌面端 */
.head {
  box-shadow: 0px 0px 10px 0px #cccccc;
}
header {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo {
  max-width: 207px;
}
.logo img {
  display: block;
  width: 100%;
}
.desktop-nav {
  display: flex;
  gap: 20px;
  align-items: center;
}
.desktop-nav a {
  font-size: 16px;
  color: #364153;
  font-weight: 500;
}
.desktop-nav a.on {
  color: #fdae19;
}
.desktop-nav .btn {
  padding: 10px 24px;
}
/* 移动端导航按钮（默认隐藏） */
.mobile-nav-toggle {
  display: none;
  font-size: 24px;
  cursor: pointer;
  color: #364153;
  z-index: 100;
}
/* 移动端导航菜单（默认隐藏） */
.mobile-nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 280px;
  height: 100vh;
  background-color: white;
  padding: 80px 20px 20px;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  transform: translateX(100%);
  transition: transform 0.3s ease;
  z-index: 99;
}
.mobile-nav.active {
  transform: translateX(0);
}
.mobile-nav a {
  display: block;
  padding: 15px 0;
  border-bottom: 1px solid #eee;
  color: #364153;
}
/* 遮罩层 */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  z-index: 98;
}
.overlay.active {
  display: block;
}
/* 通屏轮播Banner（不受1216px限制） */
.banner-wrapper {
  width: 100%;
  overflow: hidden;
  margin-bottom: 60px;
}
.swiper {
  width: 100%;
  height: 700px;
}
.swiper-slide {
  background-size: cover;
  background-position: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-slide::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 1;
}
/* 轮播文字 + 动态效果 */
.banner-content {
  max-width: 1216px;
  width: 100%;
  padding: 0 20px;
  color: white;
  position: relative;
  z-index: 2;
}
.banner-content h1 {
  font-size: 60px;
  margin-bottom: 20px;
  color: #FFA500;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease 0.2s, transform 0.8s ease 0.2s;
}
.banner-content h1 span {
  color: #ffffff;
}
.banner-content p {
  font-size: 16px;
  max-width: 700px;
  margin-bottom: 30px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease 0.4s, transform 0.8s ease 0.4s;
  line-height: 1.5;
}
.banner-buttons {
  display: flex;
  gap: 15px;
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease 0.6s, transform 0.8s ease 0.6s;
}
.banner-buttons .btn {}
/* 轮播激活时显示动画 */
.mySwiper {
  position: relative;
}
.swiper-slide-active .banner-content h1,
.swiper-slide-active .banner-content p,
.swiper-slide-active .banner-buttons {
  opacity: 1;
  transform: translateY(0);
}
/* EV Ready 公寓区 */
.ev-ready {
  text-align: center;
  margin-bottom: 60px;
}
.titbox {
  text-align: center;
}
.titbox h2 {
  font-size: 36px;
  margin-bottom: 15px;
  color: #101828;
}
.titbox p {
  color: #4a5565;
  font-size: 20px;
  margin-bottom: 40px;
  max-width: 700px;
  display: inline-block;
  line-height: 1.3;
}
.ev-ready-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  text-align: left;
}
.ev-card {
  padding: 20px;
  background-image: url(../images/cir.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: 20% auto;
  background-color: #f9f9f9;
  border-radius: 8px;
}
.ev-card h3 {
  font-size: 24px;
  margin-bottom: 10px;
  color: #101828;
}
.ev-card p {
  font-size: 16px;
  color: #4a5565;
  line-height: 1.6;
}
/* 人性化设计区 */
.user-friendly {
  background-color: #FFF3E0;
  padding: 50px 20px;
  text-align: center;
  margin-bottom: 60px;
}
.user-friendly h2 {
  font-size: 36px;
  color: #101828;
  margin-bottom: 15px;
}
.user-friendly p {
  max-width: 800px;
  margin: 0 auto;
  font-size: 18px;
  color: #4a5565;
  line-height: 1.6;
}
/* 功能特性区 */
.features {
  text-align: center;
  margin-bottom: 60px;
}
.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 30px;
}
.feature-card {
  text-align: left;
  border-radius: 8px;
}
.feature-card .img {
  height: 152px;
  display: block;
}
.feature-card .img img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  margin-bottom: 15px;
  -o-object-fit: cover;
  object-fit: cover;
}
.feature-card .ico span {
  display: flex;
  width: 48px;
  height: 48px;
  background: rgba(253, 174, 25, 1);
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
.feature-card .ico span img {
  width: 45%;
}
.feature-card .box {
  border-left: 1px solid #f1f1f1;
  border-right: 1px solid #f1f1f1;
  border-bottom: 1px solid #f1f1f1;
  border-radius: 0 0 8px 8px;
  padding: 20px;
  min-height: 260px;
}
.feature-card h3 {
  font-size: 20px;
  color: #101828;
  margin-bottom: 10px;
  text-align: left;
  margin-top: 15px;
  line-height: 1.3;
}
.feature-card p {
  font-size: 14px;
  color: #4a5565;
  line-height: 1.6;
}
/* 公寓充电区 */
.charging {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  align-items: center;
  margin-bottom: 60px;
}
.charging-img {
  position: relative;
  max-width: 580px;
  height: 400px;
}
.charging-img img:nth-child(1) {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  transform: rotate(-2deg);
  -ms-transform: rotate(-2deg);
  -o-object-fit: cover;
  object-fit: cover;
}
.charging-img img:nth-child(2) {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  -o-object-fit: cover;
  object-fit: cover;
}
.charging-content h2 {
  font-size: 36px;
  margin-bottom: 15px;
  color: #101828;
}
.charging-content p {
  margin-bottom: 20px;
  font-size: 18px;
  color: #4a5565;
  line-height: 1.6;
}
.charging-list {
  list-style: none;
  margin-bottom: 20px;
  margin-top: 30px;
}
.charging-list li {
  margin-bottom: 15px;
  font-size: 18px;
  display: flex;
  align-items: center;
  color: #364153;
}
.charging-list li::before {
  content: '';
  color: #FFA500;
  margin-right: 10px;
  font-weight: bold;
  width: 24px;
  height: 24px;
  background-image: url(../images/ico.jpg);
  background-repeat: no-repeat;
  background-size: 100% auto;
}
/* 行动召唤区 */
.cta {
  background-color: #FFA500;
  padding: 60px 20px;
  text-align: center;
  color: white;
  margin-bottom: 60px;
}
.cta h2 {
  font-size: 36px;
  margin-bottom: 15px;
}
.cta p {
  max-width: 800px;
  margin: 0 auto 30px;
  font-size: 20px;
  line-height: 1.5;
}
.cta .btn {
  color: #fdae19;
}
/* 关键动画：右 → 左 无缝滚动 */
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* 头部横幅样式 */
.hero {
  width: 100%;
  height: 550px;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: white;
  margin-bottom: 60px;
  position: relative;
}
.hero::after {
  content: '';
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.hero-content {
  position: relative;
  z-index: 2;
}
.hero-content.left {
  text-align: left;
}
.hero-content h1 {
  font-size: 60px;
  margin-bottom: 15px;
}
.hero-content h1 span {
  color: #ffb700;
}
.hero-content p {
  font-size: 24px;
  margin-bottom: 20px;
}
.hero-content h3 {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 100;
  color: #e5e7eb;
}
.hero .btn {
  display: inline-block;
  background-color: #ffb700;
  color: #ffffff;
  padding: 12px 24px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
  font-size: 16px;
}
.hero .btn:hover {
  background-color: #e6a600;
}
/* Why Choose 部分 */
.why-choose {
  margin-bottom: 80px;
}
.tit2 {
  text-align: center;
}
.tit2 span {
  background: #fdae191a;
  color: #fdae19;
  border-radius: 100px;
  padding: 10px 20px;
  display: inline-block;
}
.why-choose-list {
  max-width: 800px;
  margin: 0 auto;
  list-style: none;
  margin-top: 50px;
}
.why-choose-list li {
  font-size: 18px;
  color: #4a5565;
  margin-bottom: 15px;
  padding-left: 29px;
  position: relative;
}
.why-choose-list li::before {
  content: "";
  color: #ffb700;
  position: absolute;
  left: 0;
  background-image: url(../images/Vector.png);
  background-repeat: no-repeat;
  background-size: 18px auto;
  width: 18px;
  height: 16px;
}
.why-choose .desc {
  font-size: 18px;
  color: #4a5565;
  text-align: center;
  line-height: 1.5;
  max-width: 780px;
  margin: 0 auto;
  margin-top: 30px;
}
/* Solutions 部分 */
.solutions {
  margin-bottom: 80px;
  background: #f9fafb;
  padding: 50px 0;
}
/* 解决方案卡片容器 */
.solutions-grid {
  display: flex;
  flex-direction: column;
  gap: 28px;
  margin-top: 80px;
}
/* 单个卡片样式 - 通用 */
.solution-card {
  display: flex;
  align-items: center;
  padding: 0;
  justify-content: space-between;
}
/* 卡片图片容器 */
.card-image {
  flex: 0 0 calc(50% - 15px);
  /* 图片占50%宽度 */
  height: auto;
  position: relative;
}
.card-image::after {
  content: '';
  background: #ddd1b9;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 10px;
  z-index: 0;
  transform: rotate(2deg);
  -ms-transform: rotate(2deg);
}
.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 16px;
  position: relative;
  z-index: 1;
}
/* 卡片内容容器 */
.card-content {
  flex: 0 0 calc(50% - 15px);
  /* 内容占50%宽度 */
  padding: 48px 0px;
}
.card-content ul {
  list-style: none;
}
.card-content li {
  margin-bottom: 10px;
  font-size: 16px;
  color: #4a5565;
  position: relative;
  padding-left: 20px;
  line-height: 1.5;
}
.card-content li::before {
  content: "•";
  /* 圆点符号 */
  position: absolute;
  left: 0;
  top: 0;
  color: #ff9500;
  /* 这里改圆点颜色！100%生效 */
  font-size: 16px;
  font-weight: bold;
}
/* 卡片图标+标题容器 */
.card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
/* 卡片图标 */
.card-icon {
  width: 64px;
  height: 64px;
  background-color: #FFB700;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-icon img {
  max-width: 60%;
}
/* 卡片标题 */
.card-title {
  font-size: 30px;
  font-weight: 600;
  color: #101828;
  width: calc(100% - 64px);
}
/* 卡片标签 */
.card-tag {
  display: inline-block;
  font-size: 12px;
  text-transform: uppercase;
  color: #6b7280;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
  padding: 4px 8px;
  background-color: #e5e7eb;
  border-radius: 41px;
}
/* 卡片描述文本 */
.card-desc {
  font-size: 18px;
  color: #4a5565;
  line-height: 1.6;
}
/* 偶数卡片反转布局（图右文左） */
.solution-card:nth-child(even) {
  flex-direction: row-reverse;
}
/* Key Features 部分 */
.key-features {
  margin-bottom: 80px;
}
.features-grid2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
}
.feature-card2 {
  background-color: #f3f4f6;
  padding: 30px 20px;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.feature-card2 .img {
  width: 56px;
  height: 56px;
  background: #fdae19;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 15px;
  border-radius: 8px;
}
.feature-card2 img {
  max-width: 50%;
  max-height: 50%;
}
.feature-card2 h4 {
  font-size: 1.1rem;
  color: #333;
}
/* Property Type 部分 */
.property-types {
  margin-bottom: 80px;
  background: #f9fafb;
  padding: 50px 0;
}
.property-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(450px, 1fr));
  gap: 25px;
}
.property-card {
  background-color: white;
  padding: 25px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  display: flex;
  justify-content: space-between;
}
.property-card .img {
  width: 48px;
}
.property-card .box {
  width: calc(100% - 75px);
}
.property-card h4 {
  font-size: 24px;
  margin-bottom: 10px;
  color: #101828;
}
.property-card p {
  color: #4a5565;
  font-size: 16px;
  line-height: 1.5;
}
/*login*/
.hero-section {
  position: relative;
}
.hero-section .con {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1216px;
  margin: 0 auto;
  padding: 40px 20px;
}
/* 右侧通屏背景层 */
.hero-right-bg {
  position: absolute;
  top: 0;
  left: 50%;
  right: 0;
  bottom: 0;
  background-image: url('../images/loginbg.jpg');
  background-size: cover;
  background-position: left center;
  z-index: -1;
}
.hero-right-bg::after {
  content: '';
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
/* 左侧登录表单 */
.login-form {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 40px;
}
.login-form h1 {
  font-size: 32px;
  margin-bottom: 8px;
  color: #333;
}
.login-form h1 span {
  color: #f5a623;
}
.login-form .sub-title {
  font-size: 14px;
  color: #666;
  margin-bottom: 30px;
}
.form-error {
  background: #fff0f0;
  border: 1px solid #ffcccc;
  color: #d00;
  padding: 12px 16px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-size: 14px;
}
.form-success {
  background: #f0fff0;
  border: 1px solid #ccffcc;
  color: #2a7d2a;
  padding: 12px 16px;
  border-radius: 4px;
  margin-bottom: 20px;
  font-size: 14px;
}
.send-code-btn {
  position: absolute;
  right: 4px;
  top: 28px;
  background: #f5a623;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
  z-index: 2;
}
.send-code-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
}
.code-timer {
  position: absolute;
  right: 8px;
  top: 36px;
  font-size: 12px;
  color: #888;
  z-index: 2;
}
.field-error {
  color: #d00;
  font-size: 12px;
  margin-top: 4px;
  line-height: 1.4;
}
.has-error .icon-input {
  border-color: #d00;
}
.has-error .input-label {
  color: #d00;
}
.has-error input,
.has-error textarea {
  border-color: #d00;
}
.has-error label {
  color: #d00;
}
/* 输入框容器样式 */
.input-group {
  margin-bottom: 20px;
  position: relative;
}
.input-label {
  display: block;
  color: #333;
  font-size: 14px;
  margin-bottom: 8px;
}
/* 带图标的输入框样式 */
.icon-input {
  width: 100%;
  padding: 10px 10px 10px 40px;
  /* 左侧留图标空间 */
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  height: 40px;
}
.icon-input:focus {
  outline: none;
  border-color: #f5a623;
}
/* 输入框前置图标 */
.input-icon {
  position: absolute;
  left: 12px;
  top: 36px;
  /* 对齐输入框垂直居中 */
  color: #888;
  font-size: 18px;
  width: 18px;
  height: 18px;
}
.fa-envelope {
  background-image: url(../images/email.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}
.fa-lock {
  background-image: url(../images/pass.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}
.fa-eye-slash {
  background-image: url(../images/eye2.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  width: 20px;
  height: 20px;
  display: inline-block;
}
.fa-eye {
  background-image: url(../images/eye.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  width: 20px;
  height: 20px;
  display: inline-block;
}
.fa-user {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  width: 18px;
  height: 18px;
  display: inline-block;
}
.fa-phone {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  width: 18px;
  height: 18px;
  display: inline-block;
}
.fa-key {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Ccircle cx='8' cy='15' r='5'/%3E%3Cpath d='M11.5 11.5L21 2'/%3E%3Cpath d='M18 5l3-3'/%3E%3Cpath d='M21 8l-3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
  width: 18px;
  height: 18px;
  display: inline-block;
}
/* 密码切换按钮 */
.password-toggle {
  position: absolute;
  right: 12px;
  top: 32px;
  color: #888;
  cursor: pointer;
  font-size: 18px;
  background: none;
  border: none;
  outline: none;
}
.form-actions {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  font-size: 12px;
}
.forgot-pass {
  color: #f5a623;
}
.signin-btn {
  width: 100%;
  padding: 14px;
  background: #f5a623;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
}
.signup-link {
  text-align: center;
  font-size: 14px;
  margin: 20px 0;
}
.account-info {
  background: #dbeafe;
  padding: 16px;
  border-radius: 4px;
  font-size: 14px;
  display: flex;
  justify-content: space-between;
}
.account-info .img {
  width: 20px;
}
.account-info .img img {
  width: 100%;
  display: block;
}
.account-info p {
  width: calc(100% - 30px);
  color: #193cb8;
  line-height: 1.5;
}
.account-info p strong {
  margin-bottom: 5px;
  display: inline-block;
}
/* 右侧内容区 */
.hero-banner {
  color: white;
  padding: 60px 40px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.hero-banner h2 {
  font-size: 28px;
  margin-bottom: 20px;
}
.hero-banner p {
  font-size: 16px;
  margin-bottom: 20px;
}
.banner-features {
  list-style: none;
}
.banner-features li {
  margin-bottom: 12px;
  font-size: 16px;
}
.banner-features li::before {
  content: "✓";
  background: #f5a623;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-right: 10px;
  font-size: 12px;
}
.features-grid3 {
  overflow: hidden;
}
.feature-card3 {
  float: left;
  border-radius: 8px;
  width: calc((100% - 60px)/3);
  margin-right: 30px;
  background: #ffffff;
  margin-top: 30px;
}
.feature-card3:nth-child(3n) {
  margin-right: 0;
}
.feature-card3 .img {
  height: 152px;
}
.feature-card3 .img img {
  width: 100%;
  height: 100%;
  border-radius: 8px;
  margin-bottom: 15px;
  -o-object-fit: cover;
  object-fit: cover;
}
.feature-card3 .ico span {
  display: flex;
  width: 48px;
  height: 48px;
  background: rgba(253, 174, 25, 1);
  align-items: center;
  justify-content: center;
  border-radius: 10px;
}
.feature-card3 .ico span img {
  width: 45%;
}
.feature-card3 .box {
  border-radius: 0 0 8px 8px;
  padding: 20px;
  min-height: 260px;
}
.feature-card3 h3 {
  font-size: 20px;
  color: #101828;
  margin-bottom: 10px;
  text-align: left;
  margin-top: 15px;
  line-height: 1.3;
}
.feature-card3 p {
  font-size: 14px;
  color: #4a5565;
  line-height: 1.6;
}
/*contact us*/
.contact-banner {
  background-color: #1a202c;
  color: white;
  text-align: center;
  padding: 48px 0;
  margin-bottom: 48px;
}
.contact-banner h1 {
  font-size: 36px;
  margin-bottom: 16px;
}
.contact-banner p {
  font-size: 18px;
  opacity: 0.9;
}
/* 联系表单区域 */
.contact-section {
  display: flex;
  gap: 48px;
  margin-bottom: 64px;
  flex-wrap: wrap;
  /* 移动端自动换行 */
}
.contact-info {
  flex: 1;
  min-width: 280px;
  background-color: #f8f9fa;
  padding: 32px;
  border-radius: 8px;
}
.contact-info h3 {
  font-size: 14px;
  color: #101828;
  margin-bottom: 15px;
  text-transform: uppercase;
  margin-top: 10px;
}
.contact-info .phone,
.contact-info .email {
  font-size: 20px;
  color: #f5a623;
  margin-bottom: 24px;
  text-decoration: none;
  display: block;
}
.contact-form {
  flex: 2;
  min-width: 280px;
  background-color: white;
  padding: 32px;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.form-row {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.form-group {
  flex: 1;
  min-width: 200px;
}
.form-group span {
  color: #f5a623;
}
.form-group label {
  display: block;
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
}
.form-group input,
.form-group textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
}
.form-group textarea {
  min-height: 80px;
  resize: vertical;
}
.submit-btn {
  width: 100%;
  padding: 16px;
  background-color: #f5a623;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}
.submit-btn:hover {
  background-color: #e09612;
}
/*app*/
/* Hero区域样式 */
.tophero {
  background-color: #12192c;
  color: white;
  padding: 60px 0;
  text-align: center;
  padding-top: 30px;
}
.tophero h1 {
  font-size: 60px;
  margin-bottom: 15px;
}
.tophero p {
  font-size: 24px;
  opacity: 0.9;
}
.tophero .t {
  font-size: 18px;
  color: #fdae19;
  background: rgba(253, 174, 25, 0.1);
  border-radius: 100px;
  padding: 8px 20px;
  margin: 0 auto;
  display: inline-block;
  margin-bottom: 20px;
}
/* 下载区域样式 */
.download-section {
  padding: 80px 0;
  text-align: center;
}
.download-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  margin-bottom: 60px;
}
.download-card {
  background: rgba(249, 250, 251, 1);
  border-radius: 8px;
  padding: 30px;
}
.app-icon {
  width: 80px;
  height: 80px;
  background-color: #f9b100;
  border-radius: 10px;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 24px;
}
.download-card h3 {
  font-size: 24px;
  margin-bottom: 20px;
  color: #101828;
}
.download-card .desc {
  font-size: 16px;
  color: #4a5565;
  margin-bottom: 30px;
}
.qr-code {
  width: 190px;
  height: 190px;
  border: 5px solid #eee;
  margin: 0 auto 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: 10px;
  padding: 20px;
}
.qr-code .box {
  background: #f3f4f6;
  border-radius: 5px;
  height: 100%;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.qr-code .box p {
  font-size: 12px;
  color: #6a7282;
}
.download-btn {
  padding: 10px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 253px;
  margin: 0 auto;
  margin-top: 60px;
}
.download-btn img {
  display: block;
  margin-right: 10px;
}
.ios-btn {
  background-color: #000;
  color: white;
}
.android-btn {
  background-color: #f9b100;
  color: rgba(16, 24, 40, 1)
}
.card-footer {
  font-size: 16px;
  color: #6a7282;
  margin-top: 25px;
  border-top: 1px solid #f2f2f2;
  padding-top: 20px;
}
/* 行动召唤区域 */
.cta-section {
  background-color: #f9b100;
  color: white;
  padding: 60px 0;
  text-align: center;
}
.cta-section h2 {
  font-size: 36px;
  margin-bottom: 15px;
}
.cta-section p {
  font-size: 20px;
  margin-bottom: 30px;
}
.cta-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}
.cta-btn {
  padding: 12px 24px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
}
.cta-btn img {
  display: block;
  margin-right: 10px;
}
.cta-ios {
  background-color: white;
  color: #333;
}
.cta-android {
  background-color: #12192c;
  color: white;
}
/* 合作伙伴无缝滚动 */
.partners {
  text-align: center;
  margin: 60px 0;
  overflow: hidden;
  /* 隐藏滚动溢出 */
}
/* 滚动容器 */
.partners-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}
/* 滚动轨道 */
.partners-track {
  display: inline-block;
  animation: scroll 25s linear infinite;
}
/* 合作伙伴logo */
.partners-logo {
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  border: 1px solid #e5e7eb;
  width: 256px;
  height: 160px;
  border-radius: 10px;
}
.partners-logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.partners-logo img {
  opacity: 0.8;
  transition: 0.3s;
  max-width: 70%;
  max-height: 60%;
}
.partners-logo img:hover {
  opacity: 1;
}
.partners-track:hover {
  animation-play-state: paused;
}
/* 页脚 */
footer {
  background-color: #1A1A1A;
  color: white;
  padding: 60px 20px 30px;
}
.footer-content {
  max-width: 1216px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 40px;
  margin-bottom: 40px;
}
.footer-logo {
  font-size: 24px;
  font-weight: bold;
  color: #FFA500;
  margin-bottom: 20px;
}
.footer-col p {
  font-size: 16px;
  color: #99a1af;
  margin-bottom: 10px;
  line-height: 1.6;
  display: flex;
  align-items: center;
}
.footer-col p img {
  margin-right: 5px;
}
.footer-col h3 {
  font-size: 18px;
  margin-bottom: 20px;
  color: #ffffff;
}
.footer-links {
  list-style: none;
}
.footer-links li {
  margin-bottom: 10px;
}
.footer-links a {
  font-size: 16px;
  color: #99a1af;
  transition: color 0.3s;
}
.footer-links a:hover {
  color: #FFA500;
}
.copyright {
  max-width: 1216px;
  margin: 0 auto;
  text-align: center;
  font-size: 16px;
  color: #99a1af;
  padding-top: 20px;
  border-top: 1px solid #364153;
}
@media (max-width: 1216px) {
  .features-grid3 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
  }
  .feature-card3 {
    text-align: left;
    border-radius: 8px;
    width: auto;
    margin-right: 0;
  }
}
@media (max-width: 1190px) {
  .logo {
    max-width: 150px;
  }
  .desktop-nav a {
    font-size: 14px;
  }
}
@media (max-width: 1050px) {
  .logo {
    max-width: 150px;
  }
  .desktop-nav a {
    font-size: 13px;
  }
}
/* 响应式适配 - 平板/手机 */
@media (max-width: 992px) {
  .desktop-nav {
    display: none;
  }
  .mobile-nav-toggle {
    display: block;
  }
  .swiper {
    height: 400px;
  }
  .banner-content h1 {
    font-size: 32px;
  }
  .banner-buttons {
    flex-direction: column;
    gap: 10px;
  }
  .btn {
    width: 100%;
    text-align: center;
  }
  .hero-section .con {
    grid-template-columns: 1fr;
  }
  .hero-right-bg {
    left: 0;
    border-radius: 8px;
  }
  .login-form {
    padding-right: 0;
  }
}
/* 移动端适配 */
@media (max-width:768px) {
  .partners-logo {
    width: 256px;
    height: 100px;
    margin: 0 15px;
  }
  .solution-card,
  .solution-card:nth-child(even) {
    flex-direction: column;
    gap: 0;
  }
  .card-image,
  .card-content {
    flex: 0 0 100%;
  }
  .card-content {
    padding: 32px 24px;
  }
  .contact-banner h1 {
    font-size: 28px;
  }
  .contact-banner p {
    font-size: 16px;
  }
  .tophero h1 {
    font-size: 32px;
  }
  .download-section h2,
  .partners-section h2 {
    font-size: 24px;
  }
}
@media (max-width: 480px) {
  .swiper {
    height: 450px;
  }
  .banner-content h1 {
    font-size: 26px;
  }
  .ev-ready h2,
  .features h2,
  .partners h2,
  .cta h2 {
    font-size: 24px;
  }
  .partners-logos {
    gap: 20px;
  }
  .partners-logos img {
    height: 40px;
  }
  .card-content {
    padding: 24px 16px;
  }
  .card-header {
    gap: 8px;
  }
  .card-icon {
    width: 32px;
    height: 32px;
    font-size: 16px;
  }
  .tophero {
    padding: 40px 0;
  }
  .download-section,
  .partners-section {
    padding: 40px 0;
  }
  .cta-section {
    padding: 40px 0;
  }
  .hero-content h1 {
    font-size: 30px;
  }
  .hero-content p {
    font-size: 20px;
  }
  .property-grid {
    grid-template-columns: 1fr
  }
  .charging-content h2 {
    font-size: 26px;
  }
  .charging-content p {
    font-size: 18px;
  }
  .titbox h2 {
    font-size: 26px;
  }
  .titbox p {
    font-size: 18px;
  }
  .card-title {
    font-size: 18px;
  }
  .card-desc {
    font-size: 12px;
  }
  .property-card h4 {
    font-size: 18px;
  }
  .property-card p {
    font-size: 12px;
  }
}

@media (max-width: 480px) {
  .input-label {
    color: #ffffff;
  }
  .login-form h1 {
      color: #ffffff;
  }
  .login-form .sub-title {
      color: #ffffff;
  }
   .signup-link {
    color: #ffffff;
  }
}