/* ============================================================
   UP 首页 + 通用内容页样式(独立文件,不走 grunt 编译)
   首页 13 区块与内容页 hero/表单/地点页共用;响应式双视口
   ============================================================ */

html, body {
    overflow-x: hidden;
}

/* ---------------- 通用内容页(Page/Location/Blog) ---------------- */
.pg-hero {
    background: #fff;
}
.pg-hero .up-container {
    padding-top: 80px;
    padding-bottom: 80px;
}
.pg-hero-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.pg-eyebrow {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .18em;
    color: #161412;
    margin: 0 0 18px;
    text-transform: uppercase;
}
.pg-title {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 22px;
    color: #161412;
    max-width: 700px;
}
.pg-intro {
    color: #888b8d;
    font-size: 20px;
    line-height: 1.5;
    max-width: 620px;
    margin: 0;
}
.pg-hero-media { padding: 0; }
.pg-hero-img {
    display: block;
    width: 100%;
    border-radius: 16px;
    object-fit: cover;
}
.pg-hero-blog { background: #f7f6f3; }
.pg-hero-blog .pg-title { font-size: 48px; }

.pg-section { background: #fff; }
.pg-section .up-container { padding-top: 72px; padding-bottom: 72px; }
.pg-sec-title {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 34px;
    font-weight: 700;
    color: #161412;
    margin: 0 0 20px;
}
.pg-sec-text {
    font-size: 16px;
    line-height: 1.6;
    color: #5c5852;
    max-width: 760px;
    margin: 0 0 20px;
}
.pg-sec-img { width: 100%; border-radius: 16px; }
.pg-placeholder {
    text-align: center;
    padding: 60px 0;
    color: #8a867f;
}
.pg-placeholder p { font-size: 18px; margin-bottom: 20px; }

.pg-article { font-size: 16px; line-height: 1.7; color: #33302b; }
.pg-article h2, .pg-article h3 { font-size: 26px; font-weight: 700; color: #161412; margin: 32px 0 14px; }
.pg-article p { margin: 0 0 16px; }

/* Blog 卡片 */
.blog-card-col { margin-bottom: 32px; }
.blog-card { background: #fff; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 12px rgba(22,20,18,.06); }
.blog-card-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.blog-card-title { font-size: 20px; font-weight: 700; color: #161412; padding: 16px 18px; margin: 0; }

/* 地点卡片 */
.loc-card-col { margin-bottom: 32px; }
.loc-card {
    display: block;
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    border: 1px solid #e8e6e2;
    color: #161412;
    text-decoration: none;
    transition: border-color .2s ease;
}
.loc-card:hover { border-color: #161412; color: #161412; text-decoration: none; }
.loc-card-img { width: 100%; height: 160px; object-fit: cover; border-radius: 8px; margin-bottom: 16px; }
.loc-card-title { font-size: 22px; font-weight: 700; margin: 0 0 6px; }
.loc-card-count { color: #8a867f; font-size: 14px; margin: 0; }

/* ---------------- Enquiries(咨询页) ---------------- */
.eq-section { background: #f7f6f3; }
.eq-section .up-container { padding-top: 80px; padding-bottom: 96px; }
.eq-head { text-align: center; margin-bottom: 56px; }
.eq-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .18em; color: #161412; margin: 0 0 14px; }
.eq-title { font-size: 48px; font-weight: 700; color: #161412; margin: 0 0 12px; }
.eq-sub { color: #888b8d; font-size: 18px; margin: 0; }
.eq-box {
    background: #fff;
    border-radius: 16px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 120px 88px;
    box-shadow: 0 4px 24px rgba(22,20,18,.06);
}
.eq-box-title { font-size: 26px; font-weight: 700; color: #161412; margin: 0 0 44px; }
.eq-row { display: flex; gap: 24px; margin-bottom: 38px; }
.eq-field { flex: 1; display: flex; flex-direction: column; }
.eq-label { font-size: 14px; font-weight: 600; color: #161412; margin-bottom: 8px; }
.eq-select, .eq-input {
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #d8d5d0;
    border-radius: 8px;
    color: #161412;
    font-family: inherit;
    font-size: 15px;
    padding: 14px 16px;
}
.eq-select:focus, .eq-input:focus { outline: none; border-color: #161412; }
.eq-check-row { align-items: center; }
.eq-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    color: #161412;
    margin-right: 24px;
    cursor: pointer;
}
.eq-submit { margin-top: 12px; }
.eq-note { color: #8a867f; font-size: 13px; margin-top: 18px; }
.eq-note a { color: #161412; }
/* 电话区号 + 验证码(横排) */
.eq-tel { display: flex; gap: 10px; align-items: stretch; }
.eq-tel .eq-tel-code { flex-shrink: 0; width: 96px; }
.eq-tel .eq-input { flex: 1; }
.eq-captcha-img { width: 110px; height: 42px; border-radius: 8px; cursor: pointer; border: 1px solid #d8d5d0; }
.eq-textarea { resize: vertical; font-family: inherit; }

@media (max-width: 767px) {
    .pg-hero .up-container { padding-top: 48px; padding-bottom: 48px; }
    .pg-title { font-size: 34px; }
    .pg-hero-blog .pg-title { font-size: 30px; }
    .pg-intro { font-size: 17px; }
    .eq-box { padding: 32px 20px; }
    .eq-row { flex-direction: column; gap: 14px; }
}
/* ============================================================
   首页 13 区块样式(对齐目标站 ultimateperformance.com 首页)
   色板: 红 #7c2629 / 米黄 #e6e4dc / 米白 #efede9 #f7f6f3 / 白
   动画: GSAP data 属性由 home-anim.js 驱动(无 JS 时元素初始可见,
          JS 未加载不隐藏内容——动画初始态由 gsap.set 设置)
   ============================================================ */

/* ---------- 1. HERO ---------- */
.home-hero {
    position: relative;
    background: #000;
    min-height: 1200px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.home-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* ---------- 1b. HERO 轮播图(copy.hero_slides, 3 张淡切; 桌面/移动双图 picture 适配) ---------- */
.home-hero-slides {
    position: absolute;
    inset: 0;
    overflow: hidden;
}
.home-hero-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    z-index: 1;
    transition: opacity 1.1s ease;
}
.home-hero-slide.is-active {
    opacity: 1;
    z-index: 2;
}
/* 图完整呈现不裁切: 桌面图 1920x1600≈hero 比例、移动图 832x1920≈移动 hero 比例, cover 仅毫米级兜底 */
.home-hero-slide picture,
.home-hero-slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
}
.home-hero-slide img {
    object-fit: cover;
    object-position: center;
}
.home-hero-dots {
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    display: flex;
    gap: 12px;
    z-index: 3;
}
.home-hero-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .75);
    background: transparent;
    padding: 0;
    cursor: pointer;
    transition: background .3s ease, border-color .3s ease;
}
.home-hero-dot:hover { border-color: #fff; }
.home-hero-dot.is-active { background: #fff; border-color: #fff; }
/* 左右切换箭头 */
.home-hero-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .55);
    background: rgba(0, 0, 0, .28);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    padding: 0;
    transition: background .3s ease, border-color .3s ease, color .3s ease;
}
.home-hero-arrow:hover { background: #fff; border-color: #fff; color: #000; }
.home-hero-arrow svg { display: block; }
.home-hero-arrow--prev { left: 44px; }
.home-hero-arrow--next { right: 44px; }
.home-hero-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}
.home-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.54) 55%, rgba(0,0,0,.36) 100%);
}
.home-hero-inner {
    position: relative;
    z-index: 2;
    padding-top: 120px;
    padding-bottom: 120px;
}
.home-hero-title {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 84px;
    font-weight: 700;
    line-height: 1.0;
    letter-spacing: -0.01em;
    color: #fff;
    margin: 0 0 24px;
    max-width: 820px;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .5), 0 2px 30px rgba(0, 0, 0, .6);
}
.home-hero-sub {
    font-size: 32px;
    font-weight: 400;
    line-height: 1.3;
    color: #fff;
    max-width: 660px; /* 620 文本宽 + 左右各 20 padding, 保证换行位置与加幕前一致 */
    margin: -6px 0 34px -20px;
    padding: 6px 20px;
    /* 副标题压在轮播图过曝亮窗上, 纯阴影救不了 220+ 亮度的背景 —
       椭圆暗幕压背光; 半径须让 alpha 在盒边归零(0.8×65%≈52%盒半高), 否则盒边硬切 */
    background: radial-gradient(65% 65% at 50% 50%, rgba(0, 0, 0, .52) 0%, rgba(0, 0, 0, .34) 60%, rgba(0, 0, 0, 0) 80%);
    text-shadow: 0 1px 2px rgba(0, 0, 0, .85), 0 2px 6px rgba(0, 0, 0, .7), 0 2px 18px rgba(0, 0, 0, .65), 0 4px 40px rgba(0, 0, 0, .55);
}
.home-hero-btn {
    display: inline-block;
    background: #fff;
    color: #000;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: normal;
    padding: 12px 24px;
    border-radius: 100px;
    text-decoration: none;
}
.home-hero-btn:hover { background: #e8e6e2; color: #000; text-decoration: none; }

/* ---------- 2. STRONGER ---------- */
.home-stronger {
    background: #fff;
    padding: 0;
}
.home-stronger .up-container {
    display: flex;
    align-items: center;
    min-height: 243px;
    padding-left: 64px;
    padding-right: 64px;
}
.home-stronger-title {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    color: #161412;
    margin: 0;
}

/* ---------- 3. PROVEN(红,720px 通高;左文右图 712/712 两列) ---------- */
.home-proven {
    background: #7c2629;
    color: #fff;
    padding: 0;
}
.home-proven .up-container { padding-left: 0; padding-right: 0; max-width: 100%; }
.home-proven-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    width: 100%;
    margin: 0;
}
.home-proven-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 80px 64px 72px 72px;
    box-sizing: border-box;
}
.home-proven-title {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    margin: 0 0 24px;
    max-width: 560px;
}
.home-proven-desc {
    font-size: 18px;
    line-height: 1.6;
    color: rgba(255,255,255,.88);
    max-width: 560px;
    margin: 0 0 48px;
}
.home-proven-media { padding: 0; display: flex; }
.home-proven-img {
    width: 100%;
    height: 100%;
    min-height: 720px;
    object-fit: cover;
    border-radius: 0;
    display: block;
}
/* 统计:48px/700 数字一排 + 16px 标签(对齐目标站 layout544 统计) */
.home-stats {
    display: flex;
    gap: 64px;
    align-items: flex-start;
}
.home-stat { display: flex; flex-direction: column; flex: 0 0 auto; }
.home-stat-num {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 6px;
}
.home-stat-label { font-size: 16px; line-height: 1.4; color: rgba(255,255,255,.85); max-width: 190px; }

/* ---------- 4. OFF-GRID(4 行交错:图 787×827 恒在左;行错位 200/0/100/0 保证文字区充足) ---------- */
.home-offgrid {
    background: #e6e4dc;
    padding: 0;
}
.home-offgrid .up-container { max-width: 100%; padding-left: 0; padding-right: 0; }
.home-offgrid-row { display: flex; flex-direction: column; }
.home-offgrid-card {
    display: grid;
    grid-template-columns: 787px auto;
    align-items: center;
    padding: 0;
    gap: 40px;
    box-sizing: border-box;
    min-height: 827px;
}
/* 行错位:行1(Precision)左缘 787、行3(Expert)同位置 787,行2/4 贴左 */
.home-offgrid-card.o1 { margin-left: 787px; gap: 16px; }
.home-offgrid-card.o2 { margin-left: 0; }
.home-offgrid-card.o3 { margin-left: 787px; gap: 16px; }
.home-offgrid-card.o4 { margin-left: 0; }
/* 行1、行3 按钮收窄,配合右移且单行不溢出 */
.home-offgrid-card.o1 .home-offgrid-copy .up-btn,
.home-offgrid-card.o3 .home-offgrid-copy .up-btn {
    font-size: 14px;
    padding: 6px 14px;
}
.home-offgrid-card .home-reveal-img { grid-column: 1; }
.home-offgrid-card .home-offgrid-copy { grid-column: 2; }
.home-reveal-img { position: relative; overflow: hidden; }
.home-offgrid-img {
    width: 787px;
    height: 827px;
    object-fit: cover;
    border-radius: 0;
    display: block;
    max-width: 787px;
}
.home-offgrid-copy { display: flex; flex-direction: column; align-items: flex-start; }
.home-offgrid-title {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 44px;
    font-weight: 700;
    color: #161412;
    margin: 0 0 18px;
    line-height: 1.2;
    max-width: 500px;
}
.home-offgrid-desc {
    font-size: 17px;
    line-height: 1.6;
    color: #5c5852;
    margin: 0 0 28px;
    max-width: 480px;
}
/* off-grid 内按钮:16px 风格随整体放大(17px/10 24/透明描边) */
.home-offgrid .home-offgrid-copy .up-btn {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
    padding: 10px 24px;
    border-radius: 100px;
    background: transparent;
    color: #161412;
    border: 1px solid #161412;
    line-height: 1.5;
}
.home-offgrid .home-offgrid-copy .up-btn:hover {
    background: #161412;
    color: #fff;
}

/* ---------- 5. QUOTE(353px 居中) ---------- */
.home-quote {
    background: #7c2629;
    padding: 0;
}
.home-quote .up-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 353px;
    max-width: 100%;
    padding-left: 64px;
    padding-right: 64px;
}
.home-quote-text {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 48px;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
    max-width: 1100px;
    margin: 0;
    text-align: center;
    border: none;
    padding: 0;
}

/* ---------- 6. RESULTS 悬停展开手风琴图墙(1:1 对齐目标站,upcr- 前缀) ---------- */
.home-results {
    background: #efede7;
    padding: 0;
}
.home-results .up-container { padding-top: 80px; padding-bottom: 80px; }
.home-results-title, .home-goals-title, .home-system-title, .home-locations-title {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-weight: 700;
    color: #161412;
    line-height: 1.15;
    margin: 0 0 20px;
}
.home-results-title { font-size: 40px; }

/* 头部:左列 pill+标题+简介,右列箭头胶囊按钮 */
.upcr-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    margin-bottom: 64px;
}
.upcr-tagline {
    font-family: "Bebas Neue", Arial, sans-serif;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 1.28px;
    color: #e4002b;
    border: 1px solid #e4002b;
    border-radius: 2rem;
    display: inline-flex;
    align-items: center;
    padding: 3px 12px 1px;
    margin-bottom: 16px;
}
.upcr-intro {
    font-size: 18px;
    line-height: 1.5;
    color: #3f3c38;
    margin: 0;
    max-width: 780px;
}
.upcr-head-cta { flex-shrink: 0; padding-top: 6px; }
.upcr-btn-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 24px;
    border: 1px solid #161412;
    border-radius: 100px;
    background: #fff;
    color: #161412;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color .2s, color .2s;
}
.upcr-btn-arrow:hover { background: #161412; color: #fff; text-decoration: none; }
.upcr-arrow { width: 24px; height: 24px; display: inline-flex; }

/* 手风琴图墙:容器 600px 高 / 圆角 24 / 列间距 4px */
.upcr-stage { position: relative; }
.upcr-accordion {
    border-radius: 24px;
    height: 600px;
    overflow: hidden;
}
.upcr-track {
    display: flex;
    gap: 4px;
    height: 100%;
}
.upcr-column {
    position: relative;
    flex: 1 1 0%;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
    transform: translateZ(0);
    backface-visibility: hidden;
    transition: flex-grow .5s cubic-bezier(.4, 0, .2, 1);
}
.upcr-column.active { flex-grow: 3.5; }
.upcr-media { position: absolute; inset: 0; overflow: hidden; }
/* 双图叠放:折叠竖图(灰度) + 展开横图;切换为瞬时无过渡,对齐目标站 */
.upcr-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 裁剪偏上保留人物头部(封面为单人竖构图) */
    object-position: 50% 20%;
    transform: scale(1.02);
    filter: grayscale(100%) brightness(.8);
}
.upcr-img-active { opacity: 0; }
.upcr-column.active .upcr-img-collapsed { opacity: 0; }
.upcr-column.active .upcr-img-active { opacity: 1; transform: scale(1.05); }
/* 非展开列:底部 120px 黑色渐变 */
.upcr-column:not(.active)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    background: linear-gradient(to top, rgba(0, 0, 0, .5) 0%, transparent 100%);
    opacity: .6;
    pointer-events: none;
}
/* 展开列:整体渐变遮罩(JS 驱动淡入) */
.upcr-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(rgba(0, 0, 0, .05) 40%, rgba(0, 0, 0, .3) 70%, rgba(0, 0, 0, .7));
    opacity: 0;
    pointer-events: none;
}
/* 内容卡:仅展开列显示(JS 驱动淡入),badge 压卡片上缘 */
.upcr-card {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background: #e6e4dc;
    padding: 24px;
    opacity: 0;
    visibility: hidden;
}
.upcr-badge {
    position: absolute;
    top: -134px;
    right: 16px;
    width: 200px;
    height: 150px;
    border: 2px solid #fff;
    border-radius: 12px;
    overflow: hidden;
}
.upcr-badge img { width: 100%; height: 100%; object-fit: cover; display: block; }
.upcr-card-top { margin-bottom: 16px; }
.upcr-card-title {
    font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25;
    color: #161412;
    margin: 0 0 4px;
}
.upcr-card-para {
    font-size: 16px;
    line-height: 1.5;
    color: #3f3c38;
    margin: 0;
    min-height: 8ch;
}
.upcr-read {
    display: inline-block;
    padding: 8px 20px;
    border: 1px solid #161412;
    border-radius: 100px;
    background: transparent;
    color: #161412;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: .04em;
    text-decoration: none;
    transition: background-color .2s, color .2s;
}
.upcr-read:hover { background: #161412; color: #fff; text-decoration: none; }

/* 分页点 / 移动端通栏按钮:桌面隐藏 */
.upcr-pagination { display: none; }
.upcr-mobile-cta { display: none; }

/* ---------- 6b. ≤991px:手风琴转 Swiper 轮播(1:1 对齐目标站移动端) ---------- */
@media (max-width: 991px) {
    .upcr-head { flex-direction: column; gap: 24px; margin-bottom: 40px; }
    .upcr-head-cta { display: none; }
    .upcr-accordion { border-radius: 0; height: auto; }
    .upcr-track { gap: 0; height: auto; }
    .upcr-column { flex: none; height: auto; border-radius: 20px; overflow: hidden; }
    .upcr-column.active { flex-grow: 0; }
    .upcr-media { position: relative; inset: auto; height: 420px; }
    .upcr-img { transform: none; }
    /* 移动端:隐藏灰度折叠图,显示全彩横图 + 遮罩常显 */
    .upcr-img-collapsed { display: none; }
    .upcr-img-active { opacity: 1; filter: grayscale(0) brightness(1); }
    .upcr-overlay { opacity: 1; }
    .upcr-column:not(.active)::after { display: none; }
    /* 内容卡改为图下静态块 */
    .upcr-card { position: relative; opacity: 1; visibility: visible; }
    .upcr-badge { width: 128px; height: 96px; top: -80px; right: 8px; }
    .upcr-pagination {
        display: block;
        margin-top: 18px;
        text-align: center;
        line-height: 1;
    }
    .upcr-pagination .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        background: #1a1a1a;
        opacity: .3;
    }
    .upcr-pagination .swiper-pagination-bullet-active { opacity: 1; }
    .upcr-mobile-cta { display: block; margin-top: 32px; }
    .upcr-btn-full {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        padding: 12px 24px;
        border: 1px solid #161412;
        border-radius: 100px;
        background: transparent;
        color: #161412;
        font-size: 16px;
        text-transform: uppercase;
        text-decoration: none;
        box-sizing: border-box;
    }
    .upcr-btn-full:hover { background: #161412; color: #fff; text-decoration: none; }
}

/* ---------- 8. SYSTEM(360px 白区居中) ---------- */
.home-system { background: #fff; padding: 0; }
.home-system .up-container { display: flex; justify-content: center; align-items: center; padding-top: 24px; padding-bottom: 24px; min-height: 270px; box-sizing: border-box; }
.home-system-inner { max-width: 900px; text-align: center; }
.home-system-title { font-size: 48px; }
.home-system-desc { font-size: 18px; line-height: 1.5; color: #5c5852; margin: 0 auto 20px; max-width: 720px; }
.home-system-eyebrow { margin-bottom: 14px; }
.home-system .up-btn { padding-left: 32px; padding-right: 32px; }

/* ---------- 9. GOALS(952px,padding 80;3 卡 405 宽图 405×270,卡高近 498) ---------- */
.home-goals { background: #fff; padding: 0; }
.home-goals .up-container { padding-top: 136px; padding-bottom: 136px; }
.home-goals-title { font-size: 40px; }
.home-goals-intro { font-size: 16px; line-height: 1.7; color: #5c5852; margin: 0 0 56px; max-width: 640px; }
.home-goals-row { display: flex; flex-wrap: wrap; }
.home-goal-card { margin-bottom: 0; }
.home-goal-link { display: block; color: #161412; text-decoration: none; }
.home-goal-link:hover { color: #161412; text-decoration: none; }
.home-goal-img { width: 100%; height: 300px; object-fit: cover; border-radius: 0; display: block; margin-bottom: 24px; transition: transform .4s ease; }
.home-goal-card-title { font-size: 24px; font-weight: 700; margin: 0 0 12px; }
.home-goal-card-desc { font-size: 16px; line-height: 1.6; color: #5c5852; margin: 0; max-width: 380px; }

/* ---------- 10. REVIEWS(红,1093px;卡 434~480 高) ---------- */
.home-reviews { background: #7c2629; padding: 0; }
.home-reviews .up-container { padding-top: 112px; padding-bottom: 112px; }
.home-reviews-head { text-align: center; margin-bottom: 80px; }
.home-reviews-title { font-size: 48px; color: #fff; margin-bottom: 20px; }
.home-reviews-intro { font-size: 16px; color: rgba(255,255,255,.85); margin: 0 0 32px; }
.home-eyebrow-light { color: #ffffff; }
.home-reviews-rating { display: flex; align-items: center; justify-content: center; gap: 14px; }
.home-reviews-score { font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif; font-size: 40px; font-weight: 700; color: #fff; }
.home-reviews-count { color: rgba(255,255,255,.8); font-size: 15px; }
.home-reviews-swiper { padding-bottom: 8px; overflow: hidden; }
.home-review-card {
    background: #fff;
    border-radius: 16px;
    padding: 28px 30px;
    min-height: 480px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
.home-review-stars { color: #f2a900; font-size: 18px; letter-spacing: 2px; margin-bottom: 14px; }
.home-review-text { font-size: 16px; line-height: 1.6; color: #33302b; margin: 0 0 18px; flex: 1; }
.home-review-name { font-size: 17px; font-weight: 700; color: #161412; margin: 0; }
.home-review-loc { font-size: 14px; color: #8a867f; margin: 0 0 12px; }
.home-review-google { font-size: 14px; font-weight: 600; text-decoration: underline; color: #7c2629; }
.home-reviews-nav { display: flex; justify-content: center; gap: 14px; margin-top: 20px; }
.home-review-arrow {
    background: #fff;
    color: #161412;
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
}
.home-review-arrow:hover { background: #e8e6e2; }

/* ---------- 11. LOCATIONS(1:1 对齐目标站:两列头部 + 圆角地图;谷歌地图标注客户门店,uploc- 前缀) ---------- */
.home-locations { background: #fff; padding: 0; }
.home-locations .up-container { padding-top: 32px; padding-bottom: 32px; }
.uploc-head { margin-bottom: 64px; }
.uploc-head .upcr-tagline { margin-bottom: 24px; }
.uploc-head-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 5rem;
    row-gap: 2rem;
    align-items: start;
}
.home-locations-title { font-size: 48px; }
.uploc-head-right { display: flex; flex-direction: column; align-items: flex-start; gap: 32px; }
.uploc-head-right .upcr-intro { max-width: none; }
.uploc-head-cta { align-self: flex-end; }
/* 地图容器:圆角 24 / 灰底 / min-height 60vh(对齐目标站 map-wrapper) */
.uploc-stage { position: relative; }
.uploc-map {
    background: #e7e8e8;
    border-radius: 24px;
    overflow: hidden;
    height: 100%;
    min-height: 60vh;
    box-sizing: border-box;
}
.uploc-map iframe { width: 100%; height: 100%; min-height: inherit; border: 0; display: block; }
/* 无 Key 降级:双 iframe 网格(每店一图) */
.uploc-map--embed { display: grid; grid-template-columns: 1fr 1fr; }
.uploc-map--embed iframe { min-height: 60vh; }
/* JS API 模式信息窗口排版 */
.uploc-infowindow { font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif; min-width: 220px; }
.uploc-infowindow h3 { font-size: 16px; font-weight: 700; color: #161412; margin: 0 0 6px; }
.uploc-infowindow p { font-size: 13px; line-height: 1.5; color: #666; margin: 0 0 8px; }
.uploc-infowindow a { font-size: 13px; font-weight: 500; color: #1a1a1a; text-decoration: none; }
.uploc-infowindow a:hover { text-decoration: underline; }

/* ---------- 12. FEATURED(logo 256×102,总 409) ---------- */
.home-featured { background: #fff; padding: 0; }
.home-featured .up-container { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 400px; padding-top: 32px; padding-bottom: 32px; box-sizing: border-box; }
.home-featured-title { text-align: center; font-size: 20px; font-weight: 700; color: #161412; margin: 0 0 48px; }
.home-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 48px; }
.home-logo { display: inline-flex; align-items: center; }
.home-logo-img { height: auto; width: auto; max-width: 200px; max-height: 80px; object-fit: contain; opacity: .72; filter: grayscale(100%); }
.home-logo:hover .home-logo-img { opacity: 1; }

/* ---------- 13. ENQUIRE(padding 80,表单全字段,总 ~1454) ---------- */
.home-enquire { background: #f7f6f3; padding: 0; }
.home-enquire .up-container { padding-top: 80px; padding-bottom: 80px; }
.home-enquire-inner { text-align: center; }
.home-enquire-title { font-family: "Archivo Variablefont Wdth Wght", Arial, sans-serif; font-size: 40px; font-weight: 700; color: #161412; margin: 0 0 8px; }
.home-enquire-sub { color: #888b8d; font-size: 18px; margin: 0 0 56px; }
.home-enquire .eq-box { text-align: left; }

/* ---------- GSAP 辅助(JS 未加载时内容仍可见) ---------- */
[data-gsap-y], [data-gsap-reveal], [data-gsap-text] {
    opacity: 1;
}
.gsap-word, .gsap-word-inner { display: inline-block; }
.gsap-word-inner { overflow: hidden; }
.gsap-line { display: block; }

/* ---------- 响应式 ---------- */
@media (max-width: 991px) {
    .home-hero { min-height: 860px; }
    .home-hero-title { font-size: 60px; }
    .home-hero-sub { font-size: 26px; }
    .home-hero-arrow { width: 44px; height: 44px; }
    .home-hero-arrow--prev { left: 16px; }
    .home-hero-arrow--next { right: 16px; }
    .home-proven-title { font-size: 44px; }
    .home-stats { flex-direction: row; gap: 24px; flex-wrap: wrap; }
    .home-offgrid-img { width: 100%; height: 380px; }
    .home-quote-text, .home-reviews-title, .home-system-title, .home-locations-title { font-size: 38px; }
    .uploc-head { margin-bottom: 40px; }
    .uploc-head-grid { grid-template-columns: 1fr; column-gap: 0; row-gap: 1.25rem; }
    .uploc-head-cta { display: none; }
    .uploc-map { min-height: 52vh; }
    .uploc-map--embed iframe { min-height: 52vh; }
    .home-review-card { padding: 24px; }
    .home-client-wall { gap: 16px; }
}
@media (max-width: 767px) {
    .home-hero { min-height: 870px; display: block; }
    .home-hero-video { display: none; }
    .home-hero-inner { padding-top: 122px; padding-bottom: 60px; }
    .home-hero-title { font-size: 48px; line-height: 1.2; }
    .home-hero-sub { font-size: 24px; margin-bottom: 40px; }
    .home-stronger .up-container { padding-left: 16px; padding-right: 16px; min-height: 200px; }
    .home-stronger-title, .home-goals-title, .home-results-title { font-size: 32px; }

    /* proven 单列 */
    .home-proven .up-container { padding-left: 0; padding-right: 0; }
    .home-proven-row { grid-template-columns: 1fr; }
    .home-proven-text { padding: 48px 24px; }
    .home-proven-title { font-size: 34px; }
    .home-proven-img { min-height: 300px; }
    .home-stats { flex-direction: column; gap: 24px; }

    /* offgrid 单列:图在上文字在下 */
    .home-offgrid .up-container { padding-left: 16px; padding-right: 16px; }
    .home-offgrid-card { grid-template-columns: 1fr; gap: 32px; padding: 56px 0; min-height: 700px; }
    .home-offgrid-card.o1, .home-offgrid-card.o2, .home-offgrid-card.o3, .home-offgrid-card.o4 { margin-left: 0; }
    .home-offgrid-card .home-reveal-img,
    .home-offgrid-card .home-offgrid-copy { grid-column: 1; grid-row: auto; }
    .home-offgrid-img { width: 100%; max-width: 100%; height: 375px; }
    .home-offgrid-title { font-size: 34px; line-height: 1.15; margin-bottom: 20px; }
    .home-offgrid-desc { font-size: 17px; line-height: 1.7; margin-bottom: 28px; }

    .home-quote .up-container { padding-left: 16px; padding-right: 16px; min-height: 280px; }
    .home-quote-text { font-size: 28px; }

    .home-results .up-container { padding-top: 56px; padding-bottom: 56px; }
    .home-results-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 40px; }
    .home-client-wall { flex-direction: column; gap: 32px; overflow: visible; }
    .home-client-featured { width: 100%; }
    .home-client-thumb { width: 100%; }
    .home-client-img, .home-client-featured .home-client-media-featured .home-client-img-featured { height: 480px; }

    .home-system .up-container { min-height: 470px; }
    .home-system-title, .home-reviews-title, .home-locations-title { font-size: 30px; }

    .home-goals .up-container { padding-top: 56px; padding-bottom: 56px; }
    .home-goals-intro { font-size: 15px; }
    .home-goal-card { margin-bottom: 32px; }
    .home-goal-img { height: 220px; }

    .home-reviews .up-container { padding-top: 56px; padding-bottom: 56px; }
    .home-reviews-head { margin-bottom: 40px; }
    .home-reviews-rating { flex-direction: column; gap: 6px; }

    .home-locations .up-container { padding-top: 56px; padding-bottom: 56px; }
    .uploc-map--embed { grid-template-columns: 1fr; }

    .home-featured .up-container { min-height: 460px; padding-top: 32px; padding-bottom: 32px; }
    .home-logos { gap: 20px 24px; display: grid; grid-template-columns: 1fr 1fr; }
    .home-logo-img { max-height: 69px; max-width: 172px; width: 100%; }

    .home-enquire .up-container { padding-top: 72px; padding-bottom: 72px; }
    .eq-box { padding: 48px 20px; }
    .eq-row { flex-direction: column; gap: 18px; }
    .eq-goal-grid { grid-template-columns: 1fr 1fr; }
    .eq-marketing { display: block; margin-bottom: 10px; }
}
/* Marketing 偏好标签 */
.eq-marketing { font-size: 14px; font-weight: 600; color: #161412; margin-right: 16px; }

/* Goal 多选三列 */
.eq-goal-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 24px;
    padding-top: 4px;
}
