.conContainer {
    font-family: Poppins;
    color: #000;
    width: 41.1vw;
    margin: 0 auto;
    padding: 7.94vw 0;
}
.conTit {
    text-align: center;
    font-size: 1.28vw;
    line-height: 1.28vw;
}
.conItemFlex {
    display: flex;
    color: #fff;
    font-size: 0.88vw;
    line-height: 0.88vw;
    font-weight: 500;
    justify-content: center;
    column-gap: 0.75vw;
    white-space: nowrap;
    margin: 2.08vw 0 2.29vw 0;
}
.conItem {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 0.47vw;
    background-color: #000;
    border-radius: 2vw;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.conItem * { -webkit-tap-highlight-color: rgba(0,0,0,0); }

.conItem:active { background-color: #000; }

.conItem:focus { outline: none; }
.conItem img {
    width: 25px;
    height: 25px;
}
.conItemTit {
    font-size: 0.64vw;
    line-height: 0.96vw;
    font-weight: 300;
    text-align: center;
}
.conInputFlex {
    display: flex;
    flex-direction: column;
    row-gap: 1.25vw;
    margin-top: 5.6vw;
}
.conInputGrid {
    display: grid;
    gap: 0.25vw;
    column-gap: 1.25vw;
    font-size: 0.72vw;
    font-weight: 400;
    line-height: 0.96vw;
}
.conInputGrid input, .conInputGrid textarea {
    border-radius: 5px;
    padding: 15px;
    border: 1px solid #ccc;
    resize: none;
}
.conSubCen {
    text-align: center;
    margin-top: 2.34vw;
}
.conItemSub {
    background-color: #8033ff;
    border-radius: 5px;
    color: #fff;
    border: none;
    font-size: 0.88vw;
    line-height: 0.96vw;
    padding: 0.65vw 1.61vw;
    cursor: pointer;
}

.file-input-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.upload-box {
    display: inline-block;
    width: 8.5vw;
    height: 8.5vw;
    border: 1px solid #d9d9d9;
    border-radius: 0.52vw; 
    background: #fff;
    position: relative;
    cursor: pointer;
    box-sizing: border-box;
}
.upload-box::before,
.upload-box::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #c9c9c9;
}

.upload-box::before {
    width: 1px;
    height: 1.9vw;
}

.upload-box::after {
    width: 1.9vw;
    height: 1px;
}
.upload-box:hover {
    border-color: #bdbdbd;
}

.file-input-visually-hidden:focus + .upload-box {
    border-color: #999;
}
.conSubInput {
    font-size: 0.64vw;
    line-height: 0.96vw;
    font-weight: 300;
    color: #999999;
}
.conInputGrid input.input-error,
.conInputGrid textarea.input-error {
    border: 1px solid #d93025 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none;
    appearance: none;
}
.conInputGrid input.input-error::placeholder,
.conInputGrid textarea.input-error::placeholder {
    color: #d93025;
}
.conSecFlex {
    display: flex;
    column-gap: 0.31vw;
    align-items: flex-start;
}
.conSec {
    width: 0.83vw;
    height: 0.83vw;
    cursor: default;
}

.conSecWrap:hover .conSec { cursor: help; }
.conSecWrap { position: relative; display: inline-flex; align-items: center; }
.conSecWrap .tooltip {
    position: absolute;
    left: calc(100% + 0.6vw);
    top: 50%;
    transform: translateY(-50%);
    z-index: 1000;
    color: #000;
    font-size: 0.4vw;
    display: none;
    white-space: nowrap;
}
.conSecWrap:hover .tooltip,
.conSecWrap:focus .tooltip { display: block; }
.upload-box { position: relative; }
.upload-msg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255,255,255,0.95);
    color: #d93025;
    border-radius: 0.4vw;
    font-size: 0.6vw;
    line-height: 1.2vw;
    text-align: center;
    display: none;
}
.upload-box.error { border-color: #d93025; }
.upload-box.error .upload-msg { display: block; }
.upload-row { display: inline-flex; align-items: flex-start; column-gap: 1.25vw; }
.upload-preview {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 1.25vw;
    row-gap: 1.25vw;
    margin-left: 0;
}
.preview-item {
    position: relative;
    width: 8.5vw;
    height: 8.5vw;
    border: 1px solid #d9d9d9;
    border-radius: 0.52vw;
    overflow: hidden;
    background: #f7f7f7;
}
.preview-item img,
.preview-item video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.preview-clear {
    position: absolute;
    top: 0.6vw;
    right: 0.6vw;
    width: 1.5vw;
    height: 1.5vw;
    border: none;
    border-radius: 0.4vw;
    background: rgba(0,0,0,0.6);
    color: #fff;
    cursor: pointer;
    font-size: 1.1vw;
    font-weight: 300;
    line-height: 1.1vw;
    text-align: center;
}
.submit-status { color: red; display: none;}
.conContent { display: none; }
.conContent.active { display: block; }

/* 轻量滚动入场动画 */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 350ms ease, transform 350ms ease;
    transition-delay: var(--reveal-delay, 0ms);
    will-change: transform, opacity;
}
/* 禁用过渡，用于上滑进入视口时不触发动画 */
.reveal.no-anim {
    transition: none !important;
}
.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}
.conItemFlex .conItem:nth-child(1) { padding: 0.52vw 3.04vw; }
.conItemFlex .conItem:nth-child(2) { padding: 0.52vw 1.22vw; }
.conItemFlex .conItem:nth-child(3) { padding: 0.52vw 2vw; }
@media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; transform: none; transition: none; }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .conContainer {
        width: 84vw;
        padding: 6vw 0;
    }
    .conSec {
        width: 1.83vw;
        height: 1.83vw;
    }
    .conTit {
        font-size: 2.15vw;
        line-height: 2.54vw;
    }
    .conInputFlex {
        row-gap: 3.25vw;
    }
    .conItemFlex {
        flex-wrap: wrap;
        column-gap: 1.17vw;
        row-gap: 1.17vw;
        white-space: normal;
        font-size: 1.9vw;
        line-height: 1.95vw;
        margin: 3vw 0;
    }
    .conItem {
        padding: 0.98vw 1.76vw;
        border-radius: 3vw;
    }
    .conItemTit {
        font-size: 1.37vw;
        line-height: 2.15vw;
    }
    .conInputGrid {
        font-size: 1.37vw;
        line-height: 1.95vw;
    }
    .conInputGrid input {
        padding-left: 1.46vw;
        font-size: 1.37vw;
    }
    .conItemSub {
        font-size: 2.56vw;
        line-height: 2.15vw;
        padding: 1.5vw 4.5vw;
    }
    .upload-box {
        width: 15.63vw;
        height: 15.63vw;
        border-radius: 1.17vw;
    }
    .upload-box::before { height: 3.52vw; }
    .upload-box::after  { width: 3.52vw; }
    .preview-item { width: 15.63vw; height: 15.63vw; border-radius: 1.17vw; }
    .preview-clear { width: 2.4vw; height: 2.4vw; font-size: 1.2vw; top: 0.6vw; right: 0.6vw; }
    .conSubInput { font-size: 1.27vw; line-height: 1.76vw; }
    .conSecWrap .tooltip { font-size: 1.1vw; line-height: 1.7vw; width: 40vw; left: calc(100% + 1vw); }
}

@media (max-width: 768px) {
    .conSec {
        width: 3.83vw;
        height: 3.83vw;
    }
    .conContainer {
        width: 90vw;
        padding: 10.67vw 0;
    }
    .conTit {
        font-size: 4.8vw;
        line-height: 6.4vw;
    }
    .conItemFlex {
        flex-direction: column;
        row-gap: 2.13vw;
        white-space: normal;
        font-size: 4vw;
        line-height: 5.33vw;
        margin: 5.33vw 0 11.33vw 0;
    }
    .conItem {
        padding: 3.2vw 4.27vw;
        border-radius: 7vw;
        column-gap: 2vw;
        width: 54vw;
        margin: 0 auto;
    }
    .conItem img {
        width: 4.8vw;
        height: 4.8vw;
    }
    .conItemTit {
        font-size: 2.7vw;
        line-height: 5.7vw;
    }
    .conInputFlex {
        row-gap: 4.27vw;
    }
    .conInputGrid {
        font-size: 2.73vw;
        line-height: 5.33vw;
    }
    .conInputGrid input {
        padding-left: 3.47vw;
        font-size: 3.73vw;
    }
    .conInputGrid input::placeholder {
        font-size: 2.3vw;
        line-height: 2.3vw;
    }
    .conItemSub {
        display: block;
        width: 100%;
        font-size: 4.27vw;
        line-height: 5.87vw;
        padding: 3.2vw 0;
    }
    .upload-box {
        width: 32vw;
        height: 32vw;
        border-radius: 3.2vw;
    }
    .upload-box::before { 
        height: 8.53vw; 
    }
    .upload-box::after  {
        width: 8.53vw;
    }
    .preview-item {
        width: 32vw;
        height: 32vw;
        border-radius: 3.2vw;
    }
    .preview-clear {
        width: 6vw;
        height: 6vw;
        font-size: 3.2vw;
        top: 1vw;
        right: 1vw;
    }
    .conSubInput {
        font-size: 2.2vw;
        line-height: 4.8vw;
    }
    .conSecWrap .tooltip {
        font-size: 1.6vw;
        line-height: 2vw;
        width: 60vw;
        left: calc(100% + 2vw);
        white-space: normal;
    }
}