/* Chinafun V8 visual system: explicit selectors for both Elementor container DOM variants. */
:root{--cf8-ink:#132d3a;--cf8-muted:#607582;--cf8-green:#0c806d;--cf8-green-dark:#086756;--cf8-line:#dce8e4;--cf8-paper:#f6faf8;--cf8-soft:#edf7f3;--cf8-white:#fff;--cf8-navy:#102b3a;}
html{scroll-behavior:smooth;scroll-padding-top:88px}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--cf8-ink);background:#fff}body .elementor-widget-text-editor,body .elementor-widget-heading{font-family:inherit}
/* Force full-width outer sections and bounded inner content; works with e-con and legacy section output. */
.cf8-site-header,.cf8-hero,.cf8-booking-section,.cf8-how-section,.cf8-benefits-section,.cf8-faq-section,.cf8-footer{width:100%!important;max-width:none!important;min-width:0!important;box-sizing:border-box!important;margin:0!important;}
.cf8-site-header{background:rgba(255,255,255,.97)!important;border-bottom:1px solid #e7eeeb!important;padding:15px 24px!important;position:relative;z-index:2}
.cf8-header-inner,.cf8-site-header>.e-con-inner{width:100%!important;max-width:1180px!important;margin:0 auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;min-width:0!important}
.cf8-brand{display:flex!important;flex-direction:column!important;gap:1px!important;flex:0 0 auto!important}.cf8-brand h3,.cf8-footer-brand h3{font-size:25px!important;line-height:1.05!important;letter-spacing:-1px!important;font-weight:850!important;color:var(--cf8-ink)!important;margin:0!important}.cf8-brand-dot{color:var(--cf8-green)!important}.cf8-brand p{font-size:10px!important;line-height:1.4!important;letter-spacing:1.15px!important;color:#74878b!important;font-weight:750!important;margin:5px 0 0!important}
.cf8-header-nav,.cf8-footer-links{display:flex!important;flex-direction:row!important;align-items:center!important;gap:23px!important}.cf8-header-nav .elementor-button,.cf8-footer-links .elementor-button{background:transparent!important;color:#526a70!important;padding:8px 0!important;border:0!important;box-shadow:none!important;font-size:13px!important;font-weight:650!important}.cf8-header-cta .elementor-button{background:var(--cf8-green)!important;color:#fff!important;border:0!important;border-radius:10px!important;padding:14px 19px!important;font-size:13px!important;font-weight:800!important;box-shadow:0 5px 14px #0c806d20!important}.cf8-header-cta .elementor-button:hover{background:var(--cf8-green-dark)!important;transform:translateY(-1px)}
.cf8-hero{background:radial-gradient(ellipse at 50% 0%,#e3f4ed 0%,#f5faf7 47%,#fff 100%)!important;padding:62px 24px 44px!important;text-align:center!important}
.cf8-hero-inner,.cf8-hero>.e-con-inner{width:100%!important;max-width:1180px!important;margin:0 auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important}
.cf8-hero-copy{width:100%!important;max-width:900px!important;margin:0 auto!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important}
.cf8-eyebrow p{display:inline-flex!important;align-items:center!important;gap:8px!important;border:1px solid #cde6dd!important;background:#fff!important;color:var(--cf8-green-dark)!important;border-radius:999px!important;padding:8px 13px!important;font-size:10px!important;letter-spacing:1.15px!important;font-weight:850!important;margin:0 0 20px!important}
.cf8-eyebrow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#13a084;box-shadow:0 0 0 4px #13a08419}
.cf8-hero-copy .elementor-heading-title{font-size:clamp(40px,5.2vw,66px)!important;line-height:1.04!important;letter-spacing:-2.7px!important;font-weight:850!important;color:var(--cf8-ink)!important;margin:0 auto 17px!important;max-width:900px!important}.cf8-highlight{color:var(--cf8-green)!important}
.cf8-hero-copy .cf8-hero-description,.cf8-hero-copy .elementor-widget-text-editor p:not(.cf8-hero-description){font-size:17px!important;line-height:1.7!important;color:#62777c!important;max-width:700px!important;margin:0 auto 18px!important}
.cf8-trust-points p{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:9px!important;margin:4px 0 0!important}.cf8-trust-points span{display:inline-flex!important;align-items:center!important;background:#fff!important;border:1px solid #e1ece7!important;border-radius:999px!important;padding:9px 13px!important;color:#42615c!important;font-size:12px!important;font-weight:650!important}
.cf8-booking-section{background:var(--cf8-paper)!important;padding:20px 24px 76px!important}
.cf8-booking-inner,.cf8-booking-section>.e-con-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
.cf8-booking-intro{text-align:center!important;margin:0 auto 23px!important;max-width:760px!important;width:100%!important}.cf8-booking-intro h2{font-size:clamp(27px,3vw,37px)!important;line-height:1.15!important;letter-spacing:-1.2px!important;font-weight:850!important;color:var(--cf8-ink)!important;margin:0 0 8px!important}.cf8-booking-intro p{font-size:14px!important;line-height:1.65!important;color:#687e81!important;margin:0!important}
.cf8-booking-widget-wrap,.cf8-booking-widget-wrap>.e-con-inner{width:100%!important;max-width:100%!important;min-width:0!important;margin:0 auto!important}.cf8-booking-widget-wrap .elementor-widget-shortcode,.cf8-booking-widget-wrap .elementor-widget-container,.cf8-booking-widget-wrap .elementor-shortcode{width:100%!important;max-width:100%!important;min-width:0!important}.cf8-booking-widget-wrap .cf7-widget{width:100%!important;max-width:1120px!important;margin:0 auto!important;border:1px solid #dbe8e2!important;border-radius:22px!important;padding:32px!important;box-shadow:0 22px 65px #183d3210,0 3px 12px #183d3208!important}
.cf8-how-section{background:#fff!important;padding:86px 24px!important}.cf8-content-inner,.cf8-how-section>.e-con-inner,.cf8-faq-inner,.cf8-faq-section>.e-con-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important}.cf8-section-heading{text-align:center!important;max-width:720px!important;margin:0 auto 32px!important}.cf8-kicker{font-size:10px!important;font-weight:850!important;letter-spacing:1.5px!important;color:var(--cf8-green)!important;margin:0 0 10px!important}.cf8-section-heading h2{font-size:clamp(30px,3.5vw,43px)!important;line-height:1.12!important;letter-spacing:-1.5px!important;font-weight:850!important;color:var(--cf8-ink)!important;margin:0 0 12px!important}.cf8-section-heading p:not(.cf8-kicker){font-size:15px!important;line-height:1.7!important;color:#6c7e82!important;margin:0!important}
.cf8-steps-grid,.cf8-steps-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:17px!important;width:100%!important;align-items:stretch!important}.cf8-step-card{display:flex!important;flex-direction:column!important;align-items:flex-start!important;background:#fff!important;border:1px solid #e0ebe6!important;border-radius:17px!important;padding:27px 26px!important;box-shadow:0 8px 26px #1d4b3a05!important;min-width:0!important}.cf8-step-number{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:38px!important;height:38px!important;border-radius:12px!important;background:#e6f5ef!important;color:var(--cf8-green)!important;font-size:12px!important;font-weight:850!important}.cf8-step-card h3{font-size:19px!important;line-height:1.3!important;font-weight:800!important;color:var(--cf8-ink)!important;margin:17px 0 7px!important}.cf8-step-card p{font-size:13px!important;line-height:1.75!important;color:#6c7f83!important;margin:0!important}
.cf8-benefits-section{background:var(--cf8-navy)!important;color:#fff!important;padding:75px 24px!important}.cf8-benefits-inner,.cf8-benefits-section>.e-con-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:55px!important;align-items:center!important}.cf8-benefits-copy h2{font-size:clamp(30px,3.4vw,43px)!important;line-height:1.12!important;letter-spacing:-1.4px!important;color:#fff!important;font-weight:850!important;margin:0 0 15px!important}.cf8-benefits-copy p:not(.cf8-kicker){font-size:14px!important;line-height:1.8!important;color:#c2d4d5!important;margin:0!important}.cf8-kicker-light{color:#8fe1c8!important}.cf8-benefit-list{display:flex!important;flex-direction:column!important;gap:13px!important}.cf8-benefit-row,.cf8-benefit-row>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:13px!important;background:#173a49!important;border:1px solid #2b4e5b!important;border-radius:14px!important;padding:17px!important}.cf8-benefit-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:27px!important;height:27px!important;border-radius:50%!important;background:#c9f5e5!important;color:#08745e!important;font-weight:900!important;flex:none!important}.cf8-benefit-row p{font-size:13px!important;line-height:1.6!important;color:#d5e4e4!important;margin:0!important}.cf8-benefit-row strong{font-size:14px!important;color:#fff!important}
.cf8-faq-section{background:#f6faf8!important;padding:80px 24px!important}.cf8-faq-inner{max-width:880px!important}.cf8-faq-inner>.cf8-section-heading{margin-bottom:27px!important}.cf8-faq-inner .elementor-accordion .elementor-accordion-item{border:1px solid #dce8e3!important;border-radius:12px!important;overflow:hidden!important;margin:0 0 10px!important;background:#fff!important}.cf8-faq-inner .elementor-tab-title{padding:19px 21px!important;font-size:14px!important;font-weight:750!important;color:var(--cf8-ink)!important}.cf8-faq-inner .elementor-tab-content{padding:0 21px 19px!important;font-size:13px!important;line-height:1.75!important;color:#62777a!important;border-top:1px solid #edf2ef!important}
.cf8-footer{background:#0b202a!important;color:#c0d0d1!important;padding:34px 24px 26px!important}.cf8-footer-inner,.cf8-footer>.e-con-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}.cf8-footer-brand h3{color:#fff!important;font-size:23px!important}.cf8-footer-brand p{font-size:12px!important;color:#b8cacc!important;margin:6px 0 0!important}.cf8-footer-links .elementor-button{color:#c7d8d8!important;font-size:12px!important}.cf8-footer-note{width:100%!important;flex-basis:100%!important;border-top:1px solid #29434c!important;padding-top:17px!important;font-size:11px!important;color:#8fa9ad!important;margin:0!important}
/* Normalize Elementor/WordPress defaults that caused the previous page to collapse into two columns. */
.elementor-page .cf8-hero,.elementor-page .cf8-booking-section,.elementor-page .cf8-how-section,.elementor-page .cf8-benefits-section,.elementor-page .cf8-faq-section,.elementor-page .cf8-footer{overflow:visible!important}.cf8-hero .e-con,.cf8-booking-section .e-con,.cf8-how-section .e-con,.cf8-benefits-section .e-con,.cf8-faq-section .e-con,.cf8-footer .e-con{min-width:0!important}.cf8-hero .elementor-widget,.cf8-booking-section .elementor-widget,.cf8-how-section .elementor-widget,.cf8-benefits-section .elementor-widget,.cf8-faq-section .elementor-widget,.cf8-footer .elementor-widget{min-width:0!important}.cf8-hero .elementor-widget-heading,.cf8-hero .elementor-widget-text-editor{width:100%!important}.cf8-hero .elementor-widget-heading h1{overflow-wrap:normal!important}
@media(max-width:767px){.cf8-site-header{padding:13px 16px!important}.cf8-header-inner,.cf8-site-header>.e-con-inner{gap:12px!important}.cf8-brand h3{font-size:22px!important}.cf8-brand p{font-size:8px!important;letter-spacing:.8px!important}.cf8-header-nav{display:none!important}.cf8-header-cta .elementor-button{font-size:11px!important;padding:12px 13px!important}.cf8-hero{padding:45px 17px 32px!important}.cf8-hero-copy .elementor-heading-title{font-size:clamp(36px,9vw,48px)!important;letter-spacing:-1.8px!important;line-height:1.05!important}.cf8-hero-copy .cf8-hero-description,.cf8-hero-copy .elementor-widget-text-editor p:not(.cf8-hero-description){font-size:14px!important;line-height:1.65!important}.cf8-trust-points p{gap:6px!important}.cf8-trust-points span{font-size:10px!important;padding:8px 10px!important}.cf8-booking-section{padding:28px 12px 52px!important}.cf8-booking-intro{margin-bottom:18px!important}.cf8-booking-intro h2{font-size:28px!important}.cf8-booking-widget-wrap .cf7-widget{padding:20px 15px!important;border-radius:18px!important}.cf8-how-section,.cf8-faq-section{padding:57px 17px!important}.cf8-section-heading h2{font-size:31px!important;letter-spacing:-.8px!important}.cf8-steps-grid,.cf8-steps-grid>.e-con-inner{grid-template-columns:1fr!important;gap:11px!important}.cf8-step-card{padding:21px!important}.cf8-benefits-section{padding:52px 17px!important}.cf8-benefits-inner,.cf8-benefits-section>.e-con-inner{grid-template-columns:1fr!important;gap:26px!important}.cf8-benefits-copy h2{font-size:32px!important}.cf8-footer{padding:28px 17px 23px!important}.cf8-footer-inner,.cf8-footer>.e-con-inner{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:15px!important}.cf8-footer-links{flex-wrap:wrap!important;gap:13px!important}.cf8-footer-links .elementor-button{padding:4px 0!important}}
@media(max-width:590px){.cf8-booking-widget-wrap .cf7-widget{padding:18px 13px!important}.cf8-booking-widget-wrap .cf7-widget .cf7-form-intro h2{font-size:22px!important}.cf8-booking-widget-wrap .cf7-fields .cf7-field{grid-column:span 2!important}.cf8-booking-widget-wrap .cf7-tiers{grid-template-columns:1fr!important}.cf8-booking-widget-wrap .cf7-tier{min-height:0!important}.cf8-booking-widget-wrap .cf7-paybar{flex-direction:column!important;align-items:stretch!important}.cf8-booking-widget-wrap .cf7-checkout{width:100%!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Keep navigation and footer links intentional rather than browser-default blue underlined links. */
.cf8-header-nav a,.cf8-footer-links a{color:inherit!important;text-decoration:none!important;display:inline-flex;align-items:center;border-radius:8px}.cf8-header-nav a:hover,.cf8-footer-links a:hover{color:var(--cf8-green)!important}.cf8-header-nav .elementor-button,.cf8-footer-links .elementor-button{text-decoration:none!important;line-height:1.35!important;border-radius:8px!important}.cf8-footer-links a{color:#c7d8d8!important;font-size:12px!important;font-weight:650!important;padding:6px 0!important}

/* Elementor's nested-container output uses an inner wrapper; style it explicitly as well. */
.cf8-header-inner>.e-con-inner{width:100%!important;max-width:1180px!important;margin:0 auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.cf8-hero-inner>.e-con-inner{width:100%!important;max-width:1180px!important;margin:0 auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important}
.cf8-hero-copy>.e-con-inner{width:100%!important;max-width:900px!important;margin:0 auto!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important}
.cf8-booking-inner>.e-con-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
.cf8-booking-widget-wrap>.e-con-inner,.cf8-content-inner>.e-con-inner,.cf8-faq-inner>.e-con-inner{width:100%!important;max-width:100%!important;margin:0 auto!important}
.cf8-benefits-inner>.e-con-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:55px!important;align-items:center!important}
.cf8-steps-grid>.e-con-inner{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:17px!important;width:100%!important}
.cf8-benefit-list>.e-con-inner{display:flex!important;flex-direction:column!important;gap:13px!important;width:100%!important}
.cf8-benefit-row>.e-con-inner{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:13px!important;width:100%!important}
.cf8-footer-inner>.e-con-inner{width:100%!important;max-width:1120px!important;margin:0 auto!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:20px!important}
@media(max-width:767px){.cf8-header-inner>.e-con-inner{gap:12px!important}.cf8-steps-grid>.e-con-inner{grid-template-columns:1fr!important;gap:11px!important}.cf8-benefits-inner>.e-con-inner{grid-template-columns:1fr!important;gap:26px!important}.cf8-footer-inner>.e-con-inner{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:15px!important}}
