html { scroll-behavior: smooth; }

body.fs-home {
    margin: 0;
    overflow-x: hidden;
    background: #fff;
    color: #525252;
    font-family: 'MiSans', Arial, Helvetica, sans-serif;
}

.fs-home main,
.fs-home section,
.fs-home article,
.fs-home form,
.fs-home * { box-sizing: border-box; }

.fs-hero img {
    display: block;
    width: 100%;
    height: auto;
}

.fs-benefits {
    height: 120px;
    background: #eee;
}

.fs-benefits-inner {
    width: calc(100% - 40px);
    max-width: 1120px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

.fs-benefit {
    flex: 0 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.fs-benefit img {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    margin-right: 15px;
}

.fs-benefit p { margin: 0; color: #555; }
.fs-benefit strong { display: block; margin-bottom: 5px; font-size: 15px; font-weight: 500; }
.fs-benefit span { display: block; color: #777; font-size: 12px; }

.fs-tour-section { padding: 54px 0 64px; }
.fs-tour-section--beijing { background: #fff; }
.fs-tour-section--china { background: #f1f1f1; }

.fs-section-inner {
    width: calc(100% - 40px);
    max-width: 1120px;
    margin: 0 auto;
    text-align: center;
}

.fs-tour-section h1,
.fs-section-title {
    margin: 0 0 45px;
    color: #172451;
    font-size: 42px;
    font-weight: 500;
    line-height: 1.2;
}

.fs-tour-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 43px 24px;
    text-align: left;
}

.fs-tour-card {
    min-width: 0;
    overflow: hidden;
    padding-bottom: 15px;
    background: #fff;
    border-radius: 9px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
}

.fs-card-image {
    display: block;
    height: 278px;
    overflow: hidden;
    background: #d9d9d9;
    position: relative;
}

.fs-card-image::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 44%;
    background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .68));
}

.fs-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.fs-tour-card:hover .fs-card-image img { transform: scale(1.035); }

.fs-card-image h2,
.fs-card-image h3 {
    position: absolute;
    z-index: 1;
    right: 16px;
    bottom: 17px;
    left: 16px;
    margin: 0;
    color: #fff;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.18;
    text-align: center;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .7);
}

.fs-card-location {
    height: 51px;
    margin: 0;
    padding: 12px 14px 5px 35px;
    overflow: hidden;
    color: #5e5e5e;
    font-size: 13px;
    line-height: 17px;
    position: relative;
}

.fs-card-location > span {
    position: absolute;
    top: 14px;
    left: 14px;
    width: 14px;
    height: 14px;
    border: 4px solid #f01623;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
}

.fs-card-location > span::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff;
}

.fs-outline-button {
    display: table;
    min-width: 132px;
    margin: 0 auto;
    padding: 7px 19px;
    border: 1px solid #12b5e5;
    border-radius: 10px;
    background: transparent;
    color: #12aadb;
    font-size: 16px;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}

.fs-outline-button:hover,
.fs-outline-button:focus {
    background: #12b5e5;
    color: #fff;
    text-decoration: none;
}

.fs-outline-button--orange {
    min-width: 120px;
    padding: 4px 14px;
    border-color: #f5a000;
    border-radius: 14px;
    color: #243150;
}

.fs-outline-button--orange:hover,
.fs-outline-button--orange:focus { background: #f5a000; color: #fff; }

.fs-more-button { margin-top: 46px; }

.fs-about {
    height: 1032px;
    background: #fff url('/images/home-2026/about.jpg') center top / cover no-repeat;
    position: relative;
}

.fs-about-copy {
    width: calc(100% - 40px);
    max-width: 1120px;
    margin: 0 auto;
    padding-top: 68px;
    color: #666;
    text-align: center;
}

.fs-about-copy h2 {
    margin: 0 0 25px;
    color: #172451;
    font-size: 42px;
    font-weight: 500;
}

.fs-about-copy p {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    text-align: left;
}

.fs-about-copy .fs-about-lead {
    margin-bottom: 25px;
    font-size: 15px;
    text-align: center;
}

.fs-contact-section {
    padding: 70px 20px 72px;
    background: #eee;
}

.fs-contact-card {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 15px;
    background: #fff;
}

.fs-contact-card > h2 {
    margin: 0;
    padding: 17px 20px;
    background: #303030;
    color: #fff;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.15;
    text-align: center;
}

.fs-form-success {
    margin: 0;
    padding: 12px 20px;
    background: #eaf8ee;
    color: #247a3c;
    text-align: center;
}

.fs-form-error {
    margin: 0;
    padding: 12px 20px;
    background: #fff0f0;
    color: #c71f2d;
    text-align: center;
}

.fs-form-body { padding: 45px 65px; }

.fs-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 74px;
    row-gap: 13px;
}

.fs-field { display: block; margin: 0; color: #555; font-size: 14px; font-weight: 400; }
.fs-field > span:first-child { display: block; margin-bottom: 5px; }
.fs-field em { color: #e21e2b; font-style: normal; }
.fs-field input,
.fs-field select,
.fs-field textarea {
    width: 100%;
    border: 1px solid #bbb;
    border-radius: 0;
    background: #fff;
    color: #333;
    font-size: 15px;
    outline: none;
}
.fs-field input,
.fs-field select { height: 34px; padding: 5px 9px; }
.fs-field textarea { min-height: 136px; padding: 9px; resize: vertical; }
.fs-field input:focus,
.fs-field select:focus,
.fs-field textarea:focus { border-color: #12b5e5; box-shadow: 0 0 0 1px #12b5e5; }
.fs-name-control { display: grid; grid-template-columns: 78px 1fr; }
.fs-name-control select { border-right: 0; }
.fs-field-error {
    display: block;
    margin-top: 6px;
    visibility: hidden;
    color: #e21e2b;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.25;
}

.fs-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}
.fs-field.is-invalid .fs-field-error { visibility: visible; }
.fs-field.is-invalid input,
.fs-field.is-invalid select { border-color: #e21e2b; }
.fs-field--wide { margin-top: 16px; }

.fs-submit-button {
    min-width: 140px;
    margin-top: 31px;
    border-color: #f5a000;
    color: #243150;
    font-size: 17px;
}
.fs-submit-button:hover,
.fs-submit-button:focus { background: #f5a000; color: #fff; }
.fs-submit-button[disabled] { cursor: wait; opacity: .7; }

@media (max-width: 1100px) {
    .fs-tour-section h1, .fs-section-title, .fs-about-copy h2 { font-size: 36px; }
    .fs-card-image { height: 225px; }
    .fs-form-body { padding-right: 45px; padding-left: 45px; }
}

@media (max-width: 900px) {
    .fs-benefits { height: auto; }
    .fs-benefits-inner { padding: 24px 0; align-items: flex-start; gap: 0; }
    .fs-benefit { flex: 0 1 32%; padding: 0 8px; flex-direction: column; text-align: center; }
    .fs-benefit img { margin: 0 0 10px; }
    .fs-tour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fs-card-image { height: 245px; }
    .fs-about { height: 720px; background-position: center bottom; }
    .fs-form-grid { column-gap: 30px; }
}

@media (max-width: 640px) {
    .fs-benefits-inner { width: calc(100% - 24px); flex-direction: column; gap: 22px; }
    .fs-benefit { flex: none; width: 100%; flex-direction: row; justify-content: flex-start; text-align: left; }
    .fs-benefit img { margin: 0 14px 0 0; }
    .fs-tour-section { padding: 40px 0 48px; }
    .fs-tour-section h1, .fs-section-title { margin-bottom: 30px; font-size: 29px; }
    .fs-tour-grid { grid-template-columns: 1fr; gap: 24px; }
    .fs-card-image { height: 245px; }
    .fs-more-button { margin-top: 32px; }
    .fs-about { height: 590px; background-position: center bottom; }
    .fs-about-copy { padding-top: 42px; }
    .fs-about-copy h2 { margin-bottom: 15px; font-size: 30px; }
    .fs-about-copy p { font-size: 12px; }
    .fs-about-copy .fs-about-lead { margin-bottom: 14px; font-size: 13px; }
    .fs-contact-section { padding: 35px 12px 42px; }
    .fs-contact-card > h2 { font-size: 22px; }
    .fs-form-body { padding: 24px 22px 28px; }
    .fs-form-grid { grid-template-columns: 1fr; row-gap: 16px; }
}

@media (max-width: 390px) {
    .fs-card-image { height: 220px; }
    .fs-about { height: 555px; }
}
