/* ============================================================
   about.css —— 仅 about.html 使用（页面级样式）
   ============================================================ */
/* ---------- 入场动效（首屏加载即播放） ----------
   背景 Ken Burns 缓推 → 遮罩左扫淡入 → 标题蒙版揭示+模糊上浮 → 描述左滑淡入 */

/* ============================================================
   第1屏：About Hero（1920 x 500，1rem = 100px）
   背景图 + 左侧黑色渐变遮罩；标题 left 260 / top 137 / 宽 729
   描述 left 260 / top 304 / 宽 520；顶部预留导航栏 80
   ============================================================ */
.first {
    position: relative;
    width: 100%;
    max-width: 19.2rem;
    height: 5rem;
    /* 500px */
    margin: 0.8rem auto 0;
    /* 顶部空出导航栏 80px */
    box-sizing: border-box;
    overflow: hidden;
    padding: 1.37rem 0 0 2.6rem;
}

/* 背景图层独立成层，便于 Ken Burns 缓推入场 */
.first::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url("../assets/images/Contact/first-img.webp") no-repeat center / cover;
}


.first__inner {
    position: relative;
    z-index: 2;
    height: 100%;
}

/* 标题：40px / 600 / #FFF，left 260 / top 137 / 宽 729 */
.first__title {
    width: 7.29rem;
    margin: 0;
    overflow: hidden;
    padding-bottom: 0.05rem;
    color: #FFF;
    font-family: Montserrat, sans-serif;
    font-size: 0.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: capitalize;
    z-index: 10;
    position: relative;
    margin-bottom: 0.1rem;
}

.first__title span {
    display: inline-block;
}

/* 描述：16px / 400 / #FFF，left 260 / top 304 / 宽 520 */
.first__desc {
    width: 5.2rem;
    margin: 0;
    color: #FFF;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    /* 24px */
    text-transform: capitalize;
    z-index: 10;
    position: relative;
}

.first::before {
    transform: scale(1.15);
    animation: first-bg-in 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.first__title {
    opacity: 0;
    animation: first-title-in 1s cubic-bezier(0.22, 1, 0.36, 1) 0.4s forwards;
}

.first__desc {
    opacity: 0;
    animation: first-desc-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.85s forwards;
}

@keyframes first-bg-in {
    from {
        transform: scale(1.15);
    }

    to {
        transform: scale(1);
    }
}

/* 遮罩：从左向右展开淡入 */
@keyframes first-shade-in {
    from {
        opacity: 0;
        clip-path: inset(0 100% 0 0);
    }

    to {
        opacity: 1;
        clip-path: inset(0 0 0 0);
    }
}

/* 标题：模糊上浮揭示 */
@keyframes first-title-in {
    from {
        opacity: 0;
        transform: translateY(0.4rem);
        filter: blur(0.06rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

/* 描述：轻微左滑淡入 */
@keyframes first-desc-in {
    from {
        opacity: 0;
        transform: translateX(-0.3rem);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* ---------- H5 适配 ---------- */
html[data-mode="h5"] .first {
    height: auto;
    margin-top: 0.8rem;
    /* H5 重新定义内边距，覆盖 PC 的 1.37rem / 2.6rem，避免标题溢出 */
    padding: 0.7rem 0.3rem 0.5rem;
}

html[data-mode="h5"] .first__title {
    left: auto;
    top: auto;
    width: 100%;
    font-size: 0.36rem;
}

html[data-mode="h5"] .first__desc {
    left: auto;
    top: auto;
    bottom: auto;
    width: 100%;
}

/* 系统开启"减少动态效果"时：直接显示，不做隐藏与动画 */
@media (prefers-reduced-motion: reduce) {
    .first::before {
        animation: none;
        transform: none;
    }

    .first__title,
    .first__desc {
        animation: none;
        opacity: 1;
        transform: none;
        filter: none;
        clip-path: none;
    }
}

/* ============================================================
   面包屑导航（1920 设计稿，1920x60，bg #F5F5F5，padding-left 160）
   滚动时吸附在固定导航栏（0.8rem）下方
   入场动效由 about.js 的 IntersectionObserver 添加 .is-in-view 触发
   ============================================================ */
.breadcrumb {
    position: sticky;
    top: 0.8rem;
    /* 吸附于 80px 高的导航栏下方 */
    z-index: 90;
    box-sizing: border-box;
    width: 100%;
    max-width: 19.2rem;
    height: 0.6rem;
    /* 60px */
    margin: 0 auto;
    padding-left: 2.6rem;
    /* 160px */
    background: #F2F3ED;
    display: flex;
    align-items: center;
}

.breadcrumb__inner {
    display: flex;
    align-items: center;
    gap: 0.12rem;
    /* 12px */
}

/* 面包屑项：14px / 400 / 行高 24px */
.breadcrumb__item {
    display: inline-flex;
    align-items: center;
    gap: 0.08rem;
    color: #333;
    font-family: "Montserrat", sans-serif;
    /* Gabarito */
    font-size: 0.14rem;
    /* 14px */
    font-style: normal;
    font-weight: 400;
    line-height: 0.24rem;
    /* 24px */
    text-decoration: none;
    cursor: pointer;
}

a.breadcrumb__item {
    transition: color 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

a.breadcrumb__item:hover {
    color: #1078D8;
    transform: translateX(0.03rem);
}

/* 当前页：不可点击，弱化为 #999 */
.breadcrumb__item.is-current {
    color: #999;
    cursor: default;
}

/* 分隔符 */
.breadcrumb__sep {
    color: #999;
    font-size: 0.14rem;
    line-height: 0.24rem;
    user-select: none;
}

/* Home 图标：24px，悬浮轻旋 */
.breadcrumb__icon {
    display: block;
    width: 0.24rem;
    /* 24px */
    height: 0.24rem;
    /* 24px */
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.breadcrumb__item--home:hover .breadcrumb__icon {
    transform: rotate(-14deg) scale(1.12);
}

/* ---------- 入场动效：整条自导航栏下方滑落展开，内容错峰淡入 ----------
   隐藏初始态统一限定在 html.js 下：JS 失效（含缓存空脚本）时内容直接显示 */

html.js .breadcrumb.is-in-view {
    clip-path: inset(0 0 -20% 0);
    transition: clip-path 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.1s;
}

/* 内容项：错峰自左滑入 */
html.js .breadcrumb__item,
html.js .breadcrumb__sep {
    opacity: 0;
    transform: translateX(-0.2rem);
}

.breadcrumb.is-in-view .breadcrumb__item,
.breadcrumb.is-in-view .breadcrumb__sep {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.breadcrumb.is-in-view .breadcrumb__item--home {
    transition-delay: 0.25s;
}

.breadcrumb.is-in-view .breadcrumb__sep:nth-of-type(1) {
    transition-delay: 0.32s;
}

.breadcrumb.is-in-view .breadcrumb__item:nth-of-type(2) {
    transition-delay: 0.38s;
}

.breadcrumb.is-in-view .breadcrumb__sep:nth-of-type(2) {
    transition-delay: 0.44s;
}

.breadcrumb.is-in-view .breadcrumb__item.is-current {
    transition-delay: 0.5s;
}

/* Home 图标：弹性缩放弹入 */
html.js .breadcrumb__icon {
    opacity: 0;
    scale: 0.3;
}

.breadcrumb.is-in-view .breadcrumb__icon {
    opacity: 1;
    scale: 1;
    transition: opacity 0.4s ease 0.25s,
        scale 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.25s,
        transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.breadcrumb.is-in-view .breadcrumb__item--home:hover .breadcrumb__icon {
    transform: rotate(-14deg) scale(1.12);
}

/* ---------- H5 适配（750 设计稿基准） ---------- */
html[data-mode="h5"] .breadcrumb {
    padding-left: 0.3rem;
}

html[data-mode="h5"] .breadcrumb__item {
    font-size: 0.13rem;
}

/* ---------- 动效减弱（无障碍） ---------- */
@media (prefers-reduced-motion: reduce) {

    .breadcrumb,
    .breadcrumb__item,
    .breadcrumb__sep,
    .breadcrumb__icon {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
        clip-path: none !important;
        scale: none !important;
    }
}

/* ============================================================
   第2屏：Get In Touch（Figma 354_1731：1400 x 433 内容区）
   padding 100/260；左列 608：标题 40px/600/#333（top 0）
   → 描述 16px/#666 两段（top 72）→ 图片 608x214 圆角 20（top 215）
   右列 608（间距 166，顶部偏移 54）：三组信息块，橙色小标题 24px/700
   + 描述 16px/#666，块间 #F0F0F0 分隔线（上下留白 30），
   每块标题左侧 41px 处 20x20 橙色图标
   ============================================================ */
.second {
    box-sizing: border-box;
    width: 100%;
    max-width: 19.2rem;
    margin: 0 auto;
    padding: 1rem 2.6rem;
    /* 100px 260px */
}

.second__inner {
    display: flex;
    align-items: flex-start;
}

/* 左列：608 */
.second__left {
    flex: 0 0 6.08rem;
    min-width: 0;
}

/* 标题：40px / 600 / #333 */
.second__title {
    margin: 0;
    overflow: hidden;
    padding-bottom: 0.05rem;
    color: #333;
    font-family: Montserrat, sans-serif;
    font-size: 0.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: capitalize;
}

.second__title span {
    display: inline-block;
}

/* 描述：16px / 400 / #666，宽 608，标题下 23 */
.second__sub {
    margin: 0.23rem 0 0;
    color: #666;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
}

/* 图片：608 x 214，圆角 20，描述下 23 */
.second__img {
    display: block;
    width: 6.08rem;
    height: 2.14rem;
    margin-top: 0.23rem;
    border-radius: 0.2rem;
    object-fit: cover;
}

/* 右列：608，顶部偏移 54，间距 166 */
.second__right {
    flex: 0 0 6.08rem;
    min-width: 0;
    margin-left: 1.66rem;
}

/* 信息块：块间分隔线，上下留白 30 */
.second__item {
    position: relative;
    padding: 0.3rem 0;
    border-bottom: 1px solid #F0F0F0;
}

.second__item:last-child {
    border-bottom: none;
}

/* 图标：20 x 20 橙色，位于标题左侧 41px */
.second__item-icon {
    position: absolute;
    left: -0.41rem;
    top: 0.35rem;
    display: block;
    width: 0.2rem;
    height: 0.2rem;
}

/* 小标题：24px / 700 / #EA5404 */
.second__item-title {
    margin: 0;
    color: #EA5404;
    font-family: Montserrat, sans-serif;
    font-size: 0.24rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

/* 描述：16px / 400 / #666，标题下 10 */
.second__item-desc {
    display: block;
    margin: 0.1rem 0 0;
    width: 100%;
    color: #666;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-decoration: none;
    transition: color 0.3s ease;
}

a.second__item-desc:hover {
    color: #EA5404;
}

/* ============================================================
   入场动效（common.js 滚动加 .is-in-view 触发）
   标题蒙版揭示 → 描述模糊上浮 → 图片底部擦除揭示
   → 右列信息块错峰右侧滑入 + 分隔线左展开 + 图标回弹弹出
   ============================================================ */
html.js .second__title,
html.js .second__sub,
html.js .second__img,
html.js .second__item,
html.js .second__item-icon {
    opacity: 0;
}

/* 标题：蒙版揭示 */
.second.is-in-view .second__title {
    opacity: 1;
    animation: second2-title-in 1s cubic-bezier(0.22, 1, 0.36, 1) 0.1s backwards;
}

@keyframes second2-title-in {
    from {
        opacity: 0;
        transform: translateY(0.55rem);
        clip-path: inset(0 0 100% 0);
    }

    to {
        opacity: 1;
        transform: none;
        clip-path: inset(-10% 0 0 0);
    }
}

/* 描述：模糊上浮 */
.second.is-in-view .second__sub {
    opacity: 1;
    animation: second2-sub-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s backwards;
}

@keyframes second2-sub-in {
    from {
        opacity: 0;
        transform: translateY(0.3rem);
        filter: blur(0.04rem);
    }

    to {
        opacity: 1;
        transform: none;
        filter: none;
    }
}

/* 图片：底部向上擦除揭示 + 轻微缩放聚焦 */
.second.is-in-view .second__img {
    opacity: 1;
    animation: second2-img-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.55s backwards;
}

@keyframes second2-img-in {
    from {
        opacity: 0;
        transform: scale(0.94);
        clip-path: inset(100% 0 0 0);
    }

    60% {
        opacity: 1;
    }

    to {
        opacity: 1;
        transform: none;
        clip-path: inset(0 0 0 0);
    }
}

/* 信息块：错峰自右侧滑入 */
html.js .second__item {
    transform: translateX(0.5rem);
}

.second.is-in-view .second__item {
    opacity: 1;
    transform: translateX(0);
    transition: opacity 0.7s ease, transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.second.is-in-view .second__item:nth-child(1) {
    transition-delay: 0.5s;
}

.second.is-in-view .second__item:nth-child(2) {
    transition-delay: 0.7s;
}

.second.is-in-view .second__item:nth-child(3) {
    transition-delay: 0.9s;
}

/* 分隔线：自左展开 */
.second.is-in-view .second__item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    background: #F0F0F0;
    transform-origin: left center;
    animation: second2-line-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.second.is-in-view .second__item:nth-child(1)::after {
    animation-delay: 0.95s;
}

.second.is-in-view .second__item:nth-child(2)::after {
    animation-delay: 1.15s;
}

@keyframes second2-line-in {
    from {
        transform: scaleX(0);
    }

    to {
        transform: scaleX(1);
    }
}

/* 图标：回弹弹出 + 悬浮跳动 */
html.js .second__item-icon {
    scale: 0.2;
}

.second.is-in-view .second__item-icon {
    opacity: 1;
    scale: 1;
    transition: opacity 0.4s ease 1.1s, scale 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) 1.1s,
        transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.second.is-in-view .second__item:nth-child(2) .second__item-icon {
    transition-delay: 1.3s, 1.3s, 0s;
}

.second.is-in-view .second__item:nth-child(3) .second__item-icon {
    transition-delay: 1.5s, 1.5s, 0s;
}

.second__item:hover .second__item-icon {
    transform: scale(1.25) rotate(-10deg);
}

/* ---------- H5 适配（750 设计稿基准） ---------- */
html[data-mode="h5"] .second {
    padding: 0.6rem 0.3rem;
}

html[data-mode="h5"] .second__inner {
    flex-direction: column;
}

html[data-mode="h5"] .second__left {
    flex: 0 0 auto;
    width: 100%;
}

html[data-mode="h5"] .second__img {
    width: 100%;
    height: auto;
    aspect-ratio: 608 / 214;
}

html[data-mode="h5"] .second__right {
    flex: 0 0 auto;
    width: 100%;
    margin: 0.5rem 0 0;
    padding-top: 0;
}

html[data-mode="h5"] .second__item-icon {
    position: static;
    margin-bottom: 0.12rem;
}

html[data-mode="h5"] .second__item-title {
    font-size: 0.28rem;
}

html[data-mode="h5"] .second__sub {
    font-size: 0.22rem;
}

html[data-mode="h5"] .second__item-desc {
    font-size: 0.22rem;
}

/* 系统开启"减少动态效果"时：直接显示，不做动画 */
@media (prefers-reduced-motion: reduce) {

    html.js .second__title,
    html.js .second__sub,
    html.js .second__img,
    html.js .second__item,
    html.js .second__item-icon {
        opacity: 1;
        transform: none;
        clip-path: none;
        filter: none;
        scale: none;
        transition: none;
        animation: none;
    }
}

/* ============================================================
   第3屏：Get a Quote 表单（Figma 351_1501：1920 x 742，1rem = 100px）
   顶部橙色带 1920x151（标题 40px/600/#FFF top 34 + 副标题 16px/#FFF top 93）
   表单区 1400 宽（top 211）：6 输入框 450x64（3列x2行，间距 25）
   + 文本域 1400x164（*Content:）+ 隐私说明 16px/#999
   + 居中按钮 Reset 141x48 #333 / Submit 140x48 #EA5404（圆角 10，间距 12）
   样式约束：表单内部不使用 class/id 选择器，全部通过 .third 父级定位
   ============================================================ */

.third {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 19.2rem;
    margin: 0 auto;
    padding-bottom: 1rem;
    overflow: hidden;
}

/* 顶部橙色带 */
.third::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1.51rem;
    background: #EA5404;
    transform-origin: left center;
}

/* 标题：40px / 600 / #FFF，top 34 */
.third > h2 {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0.34rem 0 0.05rem;
    overflow: hidden;
    color: #FFF;
    font-family: Montserrat, sans-serif;
    font-size: 0.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-align: center;
    text-transform: capitalize;
}

/* 副标题：16px / 400 / #FFF，top 93 */
.third > p {
    position: relative;
    z-index: 1;
    margin: 0.1rem 0 0;
    color: #FFF;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

/* ---------- 表单（通过父级元素定位）---------- */

/* 表单区：1400 宽居中，与橙带间隔 60 */
.third form {
    display: block;
    box-sizing: border-box;
    width: 14rem;
    margin: 0.6rem auto 0;
}

/* 隐藏字段容器：去除浏览器默认样式 */
.third form fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

/* 字段网格：3 列 x 450，间距 25 */
.third form ul {
    display: grid;
    grid-template-columns: repeat(3, 4.5rem);
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.third form ul li {
    margin: 0;
    min-width: 0;
}

/* 最后一项（Content 文本域）占满整行 */
.third form ul li:last-child {
    grid-column: 1 / -1;
}

.third form ul li p {
    margin: 0;
}

/* 输入框：450 x 64，白底 1px rgba(0,0,0,.1)，文字 16px #666 */
.third form ul li input {
    box-sizing: border-box;
    display: block;
    width: 4.5rem;
    max-width: 100%;
    height: 0.64rem;
    padding: 0 0.2rem;
    background: #FFF;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0;
    color: #666;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    outline: none;
    transition: border-color 0.3s ease,
        box-shadow 0.3s ease;
}

/* 文本域：1400 x 164 */
.third form ul li textarea {
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 1.64rem;
    padding: 0.2rem;
    background: #FFF;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0;
    color: #666;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    resize: none;
    outline: none;
    transition: border-color 0.3s ease,
        box-shadow 0.3s ease;
}

/* 下拉框：外观同输入框，右侧灰色 chevron */
.third form ul li select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
    display: block;
    width: 4.5rem;
    max-width: 100%;
    height: 0.64rem;
    padding: 0 0.5rem 0 0.2rem;
    background: #FFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23999999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.2rem center / 0.16rem 0.16rem;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0;
    color: #666;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    outline: none;
    cursor: pointer;
    transition: border-color 0.3s ease,
        box-shadow 0.3s ease;
}

/* 未选择时保持占位符灰色 */
.third form ul li select:required:invalid {
    color: #666;
}

.third form ul li select:hover {
    border-color: rgba(234, 84, 4, 0.5);
}

.third form ul li select:focus {
    border-color: #EA5404;
    box-shadow: 0 0 0 0.03rem rgba(234, 84, 4, 0.14);
}

.third form ul li select option {
    color: #333;
}

/* 占位符：16px #666 */
.third form ul li input::placeholder,
.third form ul li textarea::placeholder {
    color: #666;
    opacity: 1;
}

/* 悬浮/聚焦：边框变橙 + 柔和橙色内光 */
.third form ul li input:hover,
.third form ul li textarea:hover {
    border-color: rgba(234, 84, 4, 0.5);
}

.third form ul li input:focus,
.third form ul li textarea:focus {
    border-color: #EA5404;
    box-shadow: 0 0 0 0.03rem rgba(234, 84, 4, 0.14);
}

/* 隐私说明：16px / 400 / #999 */
.third form > p:first-of-type {
    margin: 0.26rem 0 0;
    color: #999;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

/* 按钮组：居中，间距 12 */
.third form > p:last-of-type {
    display: flex;
    justify-content: center;
    gap: 0.12rem;
    margin: 0.6rem 0 0;
}

/* 按钮：48 高，圆角 10，白字 16px */
.third form > p:last-of-type button {
    position: relative;
    box-sizing: border-box;
    height: 0.48rem;
    padding: 0;
    border: 0;
    border-radius: 0.1rem;
    overflow: hidden;
    color: #FFF;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
        background-color 0.35s ease;
}

.third form button[type="reset"] {
    width: 1.41rem;
    background: #333;
}

.third form button[type="submit"] {
    width: 1.4rem;
    background: #EA5404;
}

/* 高光扫过层 */
.third form > p:last-of-type button::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(115deg,
            transparent 30%,
            rgba(255, 255, 255, 0.45) 50%,
            transparent 70%);
    transform: translateX(-130%);
    pointer-events: none;
}

/* 按钮悬浮（无阴影）：回弹上浮 + 加深 + 高光扫过 */
.third form > p:last-of-type button:hover {
    transform: translateY(-0.04rem);
}

.third form button[type="reset"]:hover {
    background: #1A1A1A;
}

.third form button[type="submit"]:hover {
    background: #D64A00;
}

.third form > p:last-of-type button:hover::after {
    transform: translateX(130%);
    transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.third form > p:last-of-type button:active {
    transform: translateY(0) scale(0.97);
}

/* CF7 提示输出区 */
.third form > div[aria-hidden="true"] {
    margin: 0.2rem 0 0;
    color: #666;
    font-family: Montserrat, sans-serif;
    font-size: 0.16rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
}

/* 表单下方整幅图片：1400 x 483，圆角 20，与表单间隔 60 */
.third__img {
    display: block;
    width: 14rem;
    height: 4.83rem;
    margin: 0.6rem auto 0;
    border-radius: 0.2rem;
    object-fit: cover;
}

/* 屏幕阅读器响应区：视觉隐藏 */
.third p[role="status"] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* ============================================================
   入场动效（common.js 滚动加 .is-in-view 触发）
   橙带左→右展开 → 标题蒙版揭示 → 副标题上浮
   → 字段自下而上错峰滑入 → 隐私说明浮现 → 按钮回弹弹出
   ============================================================ */
html.js .third:not(.is-in-view)::before {
    transform: scaleX(0);
}

/* 初始隐藏仅在未入场时生效（:not(.is-in-view) 避免与显示规则发生特异性竞争） */
html.js .third:not(.is-in-view) > h2,
html.js .third:not(.is-in-view) > p,
html.js .third:not(.is-in-view) form ul li,
html.js .third:not(.is-in-view) form > p:first-of-type,
html.js .third:not(.is-in-view) form > p:last-of-type button,
html.js .third:not(.is-in-view) .third__img {
    opacity: 0;
}

.third.is-in-view::before {
    transform: scaleX(1);
    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 标题：蒙版揭示 */
.third.is-in-view > h2 {
    opacity: 1;
    animation: quote-title-in 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s backwards;
}

@keyframes quote-title-in {
    from {
        opacity: 0;
        transform: translateY(0.5rem);
        clip-path: inset(0 0 100% 0);
    }

    to {
        opacity: 1;
        transform: none;
        clip-path: inset(-10% 0 0 0);
    }
}

/* 副标题：上浮 */
.third.is-in-view > p {
    opacity: 1;
    animation: quote-fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.55s backwards;
}

@keyframes quote-fade-up {
    from {
        opacity: 0;
        transform: translateY(0.3rem);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

/* 字段：自下而上错峰滑入 */
.third.is-in-view form ul li {
    opacity: 1;
    animation: quote-field-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.third.is-in-view form ul li:nth-child(1) { animation-delay: 0.65s; }
.third.is-in-view form ul li:nth-child(2) { animation-delay: 0.72s; }
.third.is-in-view form ul li:nth-child(3) { animation-delay: 0.79s; }
.third.is-in-view form ul li:nth-child(4) { animation-delay: 0.86s; }
.third.is-in-view form ul li:nth-child(5) { animation-delay: 0.93s; }
.third.is-in-view form ul li:nth-child(6) { animation-delay: 1s; }
.third.is-in-view form ul li:nth-child(7) { animation-delay: 1.07s; }

@keyframes quote-field-in {
    from {
        opacity: 0;
        transform: translateY(0.4rem);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

/* 隐私说明：浮现 */
.third.is-in-view form > p:first-of-type {
    opacity: 1;
    animation: quote-fade-up 0.8s cubic-bezier(0.22, 1, 0.36, 1) 1.2s backwards;
}

/* 按钮：回弹弹出 */
.third.is-in-view form > p:last-of-type button {
    opacity: 1;
    animation: quote-btn-in 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 1.35s backwards;
}

/* 表单下方图片：底部向上擦除揭示 */
.third.is-in-view .third__img {
    opacity: 1;
    animation: quote-img-in 1s cubic-bezier(0.22, 1, 0.36, 1) 1.5s backwards;
}

@keyframes quote-img-in {
    from {
        opacity: 0;
        transform: scale(0.96);
        clip-path: inset(100% 0 0 0);
    }

    to {
        opacity: 1;
        transform: none;
        clip-path: inset(0 0 0 0);
    }
}

@keyframes quote-btn-in {
    from {
        opacity: 0;
        transform: translateY(0.4rem) scale(0.6);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

/* ---------- H5 适配 ---------- */
html[data-mode="h5"] .third::before {
    display: none;
}
html[data-mode="h5"] .third > h2 {
    background: #EA5404;
    margin: 0;
    padding: 0.4rem 0.3rem 0.05rem;
}

html[data-mode="h5"] .third > p {
    background: #EA5404;
    margin: 0;
    padding: 0 0.3rem 0.34rem;
}

html[data-mode="h5"] .third form {
    width: 100%;
    margin-top: 0.4rem;
    padding: 0 0.3rem;
}

html[data-mode="h5"] .third form ul {
    grid-template-columns: 1fr;
    gap: 0.3rem;
}

html[data-mode="h5"] .third form ul li input {
    width: 100%;
    height: 0.8rem;
    font-size: 0.24rem;
}

html[data-mode="h5"] .third form ul li textarea {
    height: 2.4rem;
    font-size: 0.24rem;
}

html[data-mode="h5"] .third form > p:first-of-type {
    font-size: 0.22rem;
}

html[data-mode="h5"] .third form > p:last-of-type {
    margin-top: 0.5rem;
}

html[data-mode="h5"] .third form > p:last-of-type button {
    width: 2rem;
    height: 0.7rem;
    font-size: 0.24rem;
}

html[data-mode="h5"] .third__img {
    width: 100%;
    height: auto;
    aspect-ratio: 1400 / 483;
}

/* 系统开启"减少动态效果"时：直接显示，不做动画 */
@media (prefers-reduced-motion: reduce) {

    html.js .third::before,
    .third.is-in-view::before {
        transform: none;
        transition: none;
    }

    html.js .third > h2,
    html.js .third > p,
    html.js .third form ul li,
    html.js .third form > p:first-of-type,
    html.js .third form > p:last-of-type button,
    .third.is-in-view > h2,
    .third.is-in-view > p,
    .third.is-in-view form ul li,
    .third.is-in-view form > p:first-of-type,
    .third.is-in-view form > p:last-of-type button,
    .third.is-in-view .third__img {
        opacity: 1;
        transform: none;
        clip-path: none;
        transition: none;
        animation: none;
    }

    .third form > p:last-of-type button:hover {
        transform: none;
    }
}