/* roulang page: index */
:root {
 --brand: #0F8B7D;
 --brand-deep: #0C7266;
 --accent: #F2A65A;
 --accent-deep: #E08D3A;
 --ink: #1F2933;
 --ink-soft: #66736F;
 --fog: #F7FAF8;
 --fog-line: #DDE8E4;
 --radius-pill:999px;
 --radius-card:28px;
 --shadow-soft:04px70px rgba(20,60,50, .10);
 --transition-smooth:300ms cubic-bezier(0.4,0,0.2,1);
 }
 *,
 ::before,
 ::after {
 box-sizing: border-box;
 }
 html {
 scroll-behavior: smooth;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 }
 body {
 font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
 color: #1F2933;
 background: #F7FAF8;
 line-height:1.75;
 margin:0;
 padding:0;
 overflow-x: hidden;
 }
 a {
 color: inherit;
 text-decoration: none;
 transition: color var(--transition-smooth);
 }
 img {
 max-width:100%;
 height: auto;
 display: block;
 }
 button,
 input,
 textarea,
 select {
 font-family: inherit;
 }
 button:focus-visible,
 a:focus-visible,
 input:focus-visible,
 textarea:focus-visible,
 details summary:focus-visible {
 outline:2px solid var(--brand);
 outline-offset:3px;
 border-radius:6px;
 }

 /*导航 */
 .nav-container {
 display: flex;
 align-items: center;
 justify-content: space-between;
 height:68px;
 padding:028px;
 max-width:1240px;
 margin:0 auto;
 width:100%;
 }
 .nav-logo {
 display: flex;
 align-items: center;
 gap:10px;
 font-weight:700;
 font-size:1.25rem;
 color: #1F2933;
 white-space: nowrap;
 flex-shrink:0;
 }
 .nav-logo-icon {
 width:36px;
 height:36px;
 flex-shrink:0;
 }
 .nav-links {
 display: flex;
 align-items: center;
 gap:6px;
 list-style: none;
 margin:0;
 padding:0;
 }
 .nav-link {
 display: inline-flex;
 align-items: center;
 padding:8px16px;
 border-radius:999px;
 font-size:0.925rem;
 font-weight:500;
 color: #66736F;
 transition: all var(--transition-smooth);
 white-space: nowrap;
 cursor: pointer;
 }
 .nav-link:hover,
 .nav-link.active {
 color: #0F8B7D;
 background: #E8F5F3;
 }
 .nav-right {
 display: flex;
 align-items: center;
 gap:10px;
 flex-shrink:0;
 }
 .nav-search {
 display: flex;
 align-items: center;
 background: #F2F7F5;
 border:1px solid #DDE8E4;
 border-radius:999px;
 padding:8px16px;
 gap:8px;
 transition: all var(--transition-smooth);
 cursor: text;
 }
 .nav-search:focus-within {
 border-color: #0F8B7D;
 box-shadow:0004px rgba(15,139,125, .08);
 background: #fff;
 }
 .nav-search input {
 border: none;
 background: transparent;
 outline: none;
 font-size:0.875rem;
 color: #1F2933;
 width:160px;
 }
 .nav-search input::placeholder {
 color: #94A39E;
 }
 .nav-search-icon {
 width:18px;
 height:18px;
 flex-shrink:0;
 color: #94A39E;
 }
 .btn-cta-nav {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding:10px22px;
 border-radius:999px;
 font-weight:600;
 font-size:0.9rem;
 background: #0F8B7D;
 color: #fff;
 border: none;
 cursor: pointer;
 transition: all var(--transition-smooth);
 white-space: nowrap;
 box-shadow:02px16px rgba(15,139,125, .25);
 letter-spacing:0.01em;
 }
 .btn-cta-nav:hover {
 background: #0C7266;
 transform: translateY(-2px);
 box-shadow:06px28px rgba(15,139,125, .35);
 }
 .mobile-menu-btn {
 display: none;
 background: none;
 border: none;
 cursor: pointer;
 padding:10px;
 color: #1F2933;
 border-radius:10px;
 transition: background var(--transition-smooth);
 }
 .mobile-menu-btn:hover {
 background: #F2F7F5;
 }
 .mobile-menu-btn svg {
 width:24px;
 height:24px;
 }
 .mobile-menu-panel {
 display: none;
 position: fixed;
 top:68px;
 left:0;
 right:0;
 bottom:0;
 background: #fff;
 z-index:100;
 flex-direction: column;
 padding:24px20px;
 gap:8px;
 overflow-y: auto;
 }
 .mobile-menu-panel.open {
 display: flex;
 }
 .mobile-menu-panel .nav-link {
 display: block;
 padding:14px18px;
 font-size:1.05rem;
 border-radius:16px;
 text-align: left;
 }
 .mobile-menu-panel .nav-search {
 margin-top:8px;
 width:100%;
 }
 .mobile-menu-panel .nav-search input {
 width:100%;
 }
 .mobile-menu-panel .btn-cta-nav {
 margin-top:12px;
 width:100%;
 text-align: center;
 padding:14px;
 font-size:1rem;
 }

 @media (max-width:1023px) {
 .nav-links,
 .nav-right .nav-search,
 .nav-right .btn-cta-nav {
 display: none;
 }
 .mobile-menu-btn {
 display: flex;
 align-items: center;
 justify-content: center;
 }
 .nav-container {
 padding:018px;
 height:60px;
 }
 .mobile-menu-panel {
 top:60px;
 }
 }

 /* Hero */
 .hero-section {
 position: relative;
 overflow: hidden;
 background: radial-gradient(ellipse at65%35%, #E8F5F30%, #F7FAF850%, #FAF7F0100%);
 padding:60px080px;
 }
 .hero-bg-dots {
 position: absolute;
 inset:0;
 pointer-events: none;
 opacity: .35;
 background-image: radial-gradient(circle, #0F8B7D1px, transparent1px);
 background-size:40px40px;
 mask-image: radial-gradient(ellipse at70%30%, black30%, transparent70%);
 -webkit-mask-image: radial-gradient(ellipse at70%30%, black30%, transparent70%);
 }
 .hero-bg-arc {
 position: absolute;
 top: -120px;
 right: -80px;
 width:500px;
 height:500px;
 border-radius:50%;
 border:1.5px solid rgba(15,139,125, .10);
 pointer-events: none;
 }
 .hero-bg-arc2 {
 position: absolute;
 top: -60px;
 right: -20px;
 width:380px;
 height:380px;
 border-radius:50%;
 border:1px solid rgba(15,139,125, .07);
 pointer-events: none;
 }
 .hero-container {
 max-width:1240px;
 margin:0 auto;
 padding:028px;
 display: grid;
 grid-template-columns:1fr1fr;
 gap:60px;
 align-items: center;
 position: relative;
 z-index:1;
 }
 .hero-text {
 display: flex;
 flex-direction: column;
 gap:20px;
 }
 .hero-badge-row {
 display: flex;
 flex-wrap: wrap;
 gap:10px;
 }
 .hero-badge {
 display: inline-flex;
 align-items: center;
 padding:6px14px;
 border-radius:999px;
 font-size:0.8rem;
 font-weight:500;
 background: #E8F5F3;
 color: #0F8B7D;
 letter-spacing:0.02em;
 }
 .hero-badge.accent {
 background: #FEF3E7;
 color: #E08D3A;
 }
 .hero-h1 {
 font-size:3.6rem;
 font-weight:750;
 line-height:1.12;
 color: #1F2933;
 letter-spacing: -0.02em;
 margin:0;
 }
 .hero-sub {
 font-size:1.15rem;
 color: #66736F;
 line-height:1.7;
 max-width:480px;
 }
 .hero-cta-row {
 display: flex;
 flex-wrap: wrap;
 gap:14px;
 margin-top:8px;
 }
 .btn-primary {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding:14px30px;
 border-radius:999px;
 font-weight:600;
 font-size:1rem;
 background: #0F8B7D;
 color: #fff;
 border: none;
 cursor: pointer;
 transition: all var(--transition-smooth);
 box-shadow:04px24px rgba(15,139,125, .28);
 letter-spacing:0.02em;
 }
 .btn-primary:hover {
 background: #0C7266;
 transform: translateY(-3px);
 box-shadow:010px36px rgba(15,139,125, .40);
 }
 .btn-secondary {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 padding:14px30px;
 border-radius:999px;
 font-weight:600;
 font-size:1rem;
 background: transparent;
 color: #0F8B7D;
 border:1.5px solid #0F8B7D;
 cursor: pointer;
 transition: all var(--transition-smooth);
 letter-spacing:0.02em;
 }
 .btn-secondary:hover {
 background: #E8F5F3;
 border-color: #0C7266;
 color: #0C7266;
 transform: translateY(-3px);
 }
 .hero-trust-row {
 display: flex;
 flex-wrap: wrap;
 gap:20px;
 margin-top:16px;
 padding-top:16px;
 border-top:1px solid #DDE8E4;
 }
 .hero-trust-item {
 display: flex;
 align-items: center;
 gap:8px;
 font-size:0.85rem;
 color: #66736F;
 font-weight:500;
 }
 .hero-trust-dot {
 width:8px;
 height:8px;
 border-radius:50%;
 background: #0F8B7D;
 flex-shrink:0;
 }
 /*伞具视觉 */
 .hero-visual {
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 min-height:420px;
 }
 .umbrella-display {
 position: relative;
 width:300px;
 height:380px;
 }
 .umbrella-canopy {
 position: absolute;
 top:40px;
 left:50%;
 transform: translateX(-50%);
 width:260px;
 height:130px;
 background: linear-gradient(168deg, #1A9E8F0%, #0F8B7D30%, #0C7266100%);
 border-radius:130px130px00;
 box-shadow:08px50px rgba(15,139,125, .30);
 z-index:3;
 }
 .umbrella-canopy::after {
 content: '';
 position: absolute;
 inset:0;
 border-radius:130px130px00;
 background: linear-gradient(180deg, rgba(255,255,255, .12)0%, transparent60%);
 }
 .umbrella-panel-line {
 position: absolute;
 top:0;
 width:1px;
 height:100%;
 background: rgba(255,255,255, .18);
 left:50%;
 z-index:4;
 }
 .umbrella-panel-line:nth-child(2) {
 left:28%;
 transform: rotate(-10deg);
 transform-origin: bottom center;
 }
 .umbrella-panel-line:nth-child(3) {
 left:72%;
 transform: rotate(10deg);
 transform-origin: bottom center;
 }
 .umbrella-rib {
 position: absolute;
 bottom:0;
 width:2px;
 height:40px;
 background: rgba(255,255,255, .5);
 left:50%;
 transform: translateX(-50%);
 z-index:5;
 border-radius:1px;
 }
 .umbrella-shaft {
 position: absolute;
 top:170px;
 left:50%;
 transform: translateX(-50%);
 width:4px;
 height:160px;
 background: linear-gradient(180deg, #3A3D3C0%, #5A5D5C100%);
 border-radius:2px;
 z-index:2;
 }
 .umbrella-handle {
 position: absolute;
 bottom:30px;
 left:50%;
 transform: translateX(-50%);
 width:28px;
 height:40px;
 border:3px solid #3A3D3C;
 border-radius:14px14px8px8px;
 border-top: none;
 z-index:2;
 background: transparent;
 }
 .rain-drop {
 position: absolute;
 width:6px;
 height:10px;
 border-radius:50%50%50%50% /40%40%60%60%;
 background: rgba(15,139,125, .35);
 z-index:1;
 animation: rainFloat3s ease-in-out infinite;
 }
 .rain-drop:nth-child(1) {
 top:60px;
 left:30px;
 animation-delay:0s;
 }
 .rain-drop:nth-child(2) {
 top:90px;
 left:220px;
 animation-delay:0.8s;
 width:4px;
 height:7px;
 }
 .rain-drop:nth-child(3) {
 top:140px;
 left:260px;
 animation-delay:1.6s;
 width:5px;
 height:8px;
 }
 .rain-drop:nth-child(4) {
 top:200px;
 left:40px;
 animation-delay:2.2s;
 width:3px;
 height:6px;
 }
 @keyframes rainFloat {
0%,
100% {
 transform: translateY(0);
 opacity: .35;
 }
50% {
 transform: translateY(-16px);
 opacity: .65;
 }
 }
 .float-tag {
 position: absolute;
 z-index:6;
 background: #fff;
 border-radius:999px;
 padding:8px16px;
 font-size:0.78rem;
 font-weight:600;
 color: #1F2933;
 box-shadow:04px24px rgba(20,60,50, .12);
 white-space: nowrap;
 animation: tagFloat4s ease-in-out infinite;
 }
 .float-tag.tag1 {
 top:10px;
 right:20px;
 animation-delay:0s;
 color: #0F8B7D;
 }
 .float-tag.tag2 {
 top:180px;
 left:10px;
 animation-delay:1.5s;
 color: #E08D3A;
 }
 .float-tag.tag3 {
 top:250px;
 right:30px;
 animation-delay:3s;
 color: #0C7266;
 }
 @keyframes tagFloat {
0%,
100% {
 transform: translateY(0);
 }
50% {
 transform: translateY(-10px);
 }
 }
 @media (max-width:900px) {
 .hero-container {
 grid-template-columns:1fr;
 gap:40px;
 padding:020px;
 }
 .hero-h1 {
 font-size:2.4rem;
 }
 .hero-sub {
 font-size:1rem;
 max-width:100%;
 }
 .hero-visual {
 min-height:300px;
 order: -1;
 }
 .umbrella-display {
 transform: scale(0.75);
 }
 .hero-bg-arc,
 .hero-bg-arc2 {
 display: none;
 }
 .hero-section {
 padding:40px060px;
 }
 .hero-trust-row {
 gap:12px;
 }
 .hero-trust-item {
 font-size:0.78rem;
 }
 }

 /*板块通用 */
 .section {
 padding:90px0;
 }
 .section-container {
 max-width:1240px;
 margin:0 auto;
 padding:028px;
 }
 .section-label {
 display: inline-flex;
 align-items: center;
 gap:8px;
 font-size:0.85rem;
 font-weight:600;
 color: #0F8B7D;
 letter-spacing:0.04em;
 text-transform: uppercase;
 margin-bottom:12px;
 }
 .section-label-dot {
 width:7px;
 height:7px;
 border-radius:50%;
 background: #F2A65A;
 }
 .section-h2 {
 font-size:2.6rem;
 font-weight:700;
 line-height:1.2;
 color: #1F2933;
 letter-spacing: -0.015em;
 margin:0014px;
 }
 .section-sub {
 font-size:1.08rem;
 color: #66736F;
 line-height:1.7;
 max-width:640px;
 margin:0;
 }
 @media (max-width:768px) {
 .section {
 padding:56px0;
 }
 .section-h2 {
 font-size:1.8rem;
 }
 .section-sub {
 font-size:0.95rem;
 }
 .section-container {
 padding:018px;
 }
 }

 /*产品服务区 */
 .products-grid {
 display: grid;
 grid-template-columns:1.2fr1fr1fr;
 grid-template-rows: auto auto;
 gap:20px;
 margin-top:40px;
 }
 .product-card {
 background: #fff;
 border-radius: var(--radius-card);
 border:1px solid #DDE8E4;
 padding:28px24px;
 transition: all var(--transition-smooth);
 cursor: pointer;
 position: relative;
 overflow: hidden;
 display: flex;
 flex-direction: column;
 gap:10px;
 box-shadow:02px30px rgba(20,50,40, .05);
 }
 .product-card:hover {
 transform: translateY(-5px);
 box-shadow:010px50px rgba(20,60,50, .14);
 border-color: #0F8B7D;
 }
 .product-card.featured {
 grid-row: span2;
 background: linear-gradient(160deg, #E8F5F30%, #F7FAF840%, #fff100%);
 border-color: rgba(15,139,125, .2);
 padding:36px30px;
 }
 .product-card-icon {
 width:48px;
 height:48px;
 border-radius:16px;
 display: flex;
 align-items: center;
 justify-content: center;
 background: #E8F5F3;
 flex-shrink:0;
 }
 .product-card.featured .product-card-icon {
 width:56px;
 height:56px;
 border-radius:20px;
 background: #0F8B7D;
 color: #fff;
 }
 .product-card h3 {
 font-size:1.15rem;
 font-weight:650;
 color: #1F2933;
 margin:0;
 }
 .product-card.featured h3 {
 font-size:1.35rem;
 }
 .product-card p {
 font-size:0.9rem;
 color: #66736F;
 line-height:1.6;
 margin:0;
 }
 .product-card-link {
 display: inline-flex;
 align-items: center;
 gap:6px;
 font-size:0.88rem;
 font-weight:600;
 color: #0F8B7D;
 margin-top: auto;
 transition: gap var(--transition-smooth);
 }
 .product-card:hover .product-card-link {
 gap:10px;
 }
 .product-card-arc {
 position: absolute;
 top: -40px;
 right: -40px;
 width:120px;
 height:120px;
 border-radius:50%;
 border:1px solid rgba(15,139,125, .08);
 pointer-events: none;
 }
 @media (max-width:900px) {
 .products-grid {
 grid-template-columns:1fr1fr;
 gap:14px;
 }
 .product-card.featured {
 grid-row: span1;
 grid-column: span2;
 }
 }
 @media (max-width:560px) {
 .products-grid {
 grid-template-columns:1fr;
 }
 .product-card.featured {
 grid-column: span1;
 }
 }

 /*优势数据 */
 .advantages-wrapper {
 display: grid;
 grid-template-columns:1fr1.4fr;
 gap:50px;
 align-items: center;
 margin-top:40px;
 }
 .advantages-stats {
 display: grid;
 grid-template-columns:1fr1fr;
 gap:20px;
 }
 .stat-card {
 background: #fff;
 border-radius: var(--radius-card);
 padding:28px22px;
 border:1px solid #DDE8E4;
 text-align: center;
 transition: all var(--transition-smooth);
 box-shadow:02px24px rgba(20,50,40, .04);
 }
 .stat-card:hover {
 transform: translateY(-4px);
 box-shadow:08px40px rgba(20,60,50, .12);
 border-color: #0F8B7D;
 }
 .stat-number {
 font-size:2.8rem;
 font-weight:750;
 color: #0F8B7D;
 line-height:1;
 letter-spacing: -0.02em;
 }
 .stat-label {
 font-size:0.9rem;
 color: #66736F;
 margin-top:6px;
 font-weight:500;
 }
 .advantages-text h3 {
 font-size:1.6rem;
 font-weight:700;
 color: #1F2933;
 margin:0012px;
 line-height:1.25;
 }
 .advantages-text p {
 font-size:1rem;
 color: #66736F;
 line-height:1.7;
 margin:0016px;
 }
 .advantages-list {
 list-style: none;
 padding:0;
 margin:0;
 display: flex;
 flex-direction: column;
 gap:10px;
 }
 .advantages-list li {
 display: flex;
 align-items: flex-start;
 gap:10px;
 font-size:0.95rem;
 color: #1F2933;
 }
 .advantages-list li::before {
 content: '';
 width:8px;
 height:8px;
 border-radius:50%;
 background: #F2A65A;
 flex-shrink:0;
 margin-top:7px;
 }
 @media (max-width:800px) {
 .advantages-wrapper {
 grid-template-columns:1fr;
 gap:30px;
 }
 .advantages-stats {
 grid-template-columns:1fr1fr;
 gap:12px;
 }
 .stat-number {
 font-size:2rem;
 }
 }

 /*场景案例 */
 .scenarios-grid {
 display: grid;
 grid-template-columns:1.3fr1fr;
 grid-template-rows:1fr1fr;
 gap:18px;
 margin-top:40px;
 }
 .scenario-card {
 background: #fff;
 border-radius: var(--radius-card);
 border:1px solid #DDE8E4;
 overflow: hidden;
 position: relative;
 cursor: pointer;
 transition: all var(--transition-smooth);
 box-shadow:02px24px rgba(20,50,40, .04);
 min-height:180px;
 display: flex;
 flex-direction: column;
 justify-content: flex-end;
 padding:24px;
 }
 .scenario-card:hover {
 transform: translateY(-5px);
 box-shadow:010px44px rgba(20,60,50, .14);
 border-color: #0F8B7D;
 }
 .scenario-card.large {
 grid-row: span2;
 min-height:380px;
 }
 .scenario-card-bg {
 position: absolute;
 inset:0;
 z-index:0;
 pointer-events: none;
 }
 .scenario-card.large .scenario-card-bg {
 background: linear-gradient(200deg, #E8F5F30%, #F2F7F540%, #FAF7F0100%);
 }
 .scenario-card:not(.large) .scenario-card-bg {
 background: linear-gradient(160deg, #F7FAF80%, #F2F7F5100%);
 }
 .scenario-card-content {
 position: relative;
 z-index:1;
 }
 .scenario-card h3 {
 font-size:1.2rem;
 font-weight:650;
 color: #1F2933;
 margin:006px;
 }
 .scenario-card.large h3 {
 font-size:1.5rem;
 }
 .scenario-card p {
 font-size:0.88rem;
 color: #66736F;
 margin:0;
 line-height:1.55;
 }
 .scenario-tag {
 display: inline-block;
 padding:5px12px;
 border-radius:999px;
 font-size:0.75rem;
 font-weight:600;
 background: #E8F5F3;
 color: #0F8B7D;
 margin-bottom:10px;
 }
 .scenario-card.large .scenario-tag {
 background: #0F8B7D;
 color: #fff;
 }
 @media (max-width:768px) {
 .scenarios-grid {
 grid-template-columns:1fr;
 grid-template-rows: auto;
 }
 .scenario-card.large {
 grid-row: span1;
 min-height:240px;
 }
 .scenario-card {
 min-height:160px;
 }
 }

 /*流程 */
 .process-timeline {
 display: flex;
 gap:0;
 margin-top:40px;
 position: relative;
 flex-wrap: wrap;
 }
 .process-timeline::before {
 content: '';
 position: absolute;
 top:44px;
 left:40px;
 right:40px;
 height:2px;
 background: #DDE8E4;
 z-index:0;
 border-radius:1px;
 }
 .process-step {
 flex:1;
 min-width:180px;
 position: relative;
 z-index:1;
 display: flex;
 flex-direction: column;
 align-items: center;
 text-align: center;
 gap:12px;
 padding:012px;
 }
 .process-step-num {
 width:56px;
 height:56px;
 border-radius:50%;
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight:700;
 font-size:1.2rem;
 background: #fff;
 border:2px solid #DDE8E4;
 color: #66736F;
 transition: all var(--transition-smooth);
 flex-shrink:0;
 }
 .process-step:hover .process-step-num {
 border-color: #0F8B7D;
 background: #E8F5F3;
 color: #0F8B7D;
 box-shadow:04px20px rgba(15,139,125, .18);
 }
 .process-step h3 {
 font-size:1.05rem;
 font-weight:650;
 color: #1F2933;
 margin:0;
 }
 .process-step p {
 font-size:0.85rem;
 color: #66736F;
 margin:0;
 line-height:1.5;
 }
 @media (max-width:768px) {
 .process-timeline {
 flex-direction: column;
 gap:24px;
 align-items: flex-start;
 }
 .process-timeline::before {
 display: none;
 }
 .process-step {
 flex-direction: row;
 text-align: left;
 align-items: center;
 gap:16px;
 padding:0;
 min-width: auto;
 }
 .process-step-num {
 width:44px;
 height:44px;
 font-size:1rem;
 }
 }

 /* FAQ */
 .faq-list {
 display: flex;
 flex-direction: column;
 gap:12px;
 margin-top:32px;
 max-width:800px;
 }
 .faq-item {
 background: #fff;
 border-radius:20px;
 border:1px solid #DDE8E4;
 overflow: hidden;
 transition: all var(--transition-smooth);
 box-shadow:01px16px rgba(20,50,40, .03);
 }
 .faq-item[open] {
 border-color: #0F8B7D;
 box-shadow:04px32px rgba(20,60,50, .08);
 }
 .faq-item summary {
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding:20px24px;
 cursor: pointer;
 font-weight:600;
 font-size:1.02rem;
 color: #1F2933;
 list-style: none;
 user-select: none;
 gap:14px;
 }
 .faq-item summary::-webkit-details-marker {
 display: none;
 }
 .faq-item summary::after {
 content: '+';
 font-size:1.4rem;
 font-weight:400;
 color: #94A39E;
 transition: transform var(--transition-smooth);
 flex-shrink:0;
 width:28px;
 height:28px;
 display: flex;
 align-items: center;
 justify-content: center;
 border-radius:50%;
 background: #F2F7F5;
 }
 .faq-item[open] summary::after {
 content: '−';
 color: #0F8B7D;
 background: #E8F5F3;
 }
 .faq-answer {
 padding:024px20px;
 font-size:0.95rem;
 color: #66736F;
 line-height:1.7;
 }
 @media (max-width:560px) {
 .faq-item summary {
 padding:16px18px;
 font-size:0.95rem;
 }
 .faq-answer {
 padding:018px16px;
 font-size:0.88rem;
 }
 }

 /* CTA区块 */
 .cta-section {
 background: linear-gradient(180deg, #E8F5F30%, #F7FAF860%);
 border-top:1px solid #DDE8E4;
 border-bottom:1px solid #DDE8E4;
 }
 .cta-grid {
 display: grid;
 grid-template-columns:1fr1.1fr;
 gap:50px;
 align-items: start;
 margin-top:30px;
 }
 .cta-form-card {
 background: #fff;
 border-radius: var(--radius-card);
 border:1px solid #DDE8E4;
 padding:36px30px;
 box-shadow:04px50px rgba(20,60,50, .08);
 display: flex;
 flex-direction: column;
 gap:18px;
 }
 .cta-form-card h3 {
 font-size:1.3rem;
 font-weight:650;
 color: #1F2933;
 margin:0;
 }
 .form-group {
 display: flex;
 flex-direction: column;
 gap:6px;
 }
 .form-group label {
 font-size:0.85rem;
 font-weight:600;
 color: #1F2933;
 }
 .form-group input,
 .form-group textarea,
 .form-group select {
 padding:13px18px;
 border-radius:16px;
 border:1px solid #DDE8E4;
 background: #F7FAF8;
 font-size:0.95rem;
 color: #1F2933;
 transition: all var(--transition-smooth);
 outline: none;
 resize: vertical;
 }
 .form-group input:focus,
 .form-group textarea:focus,
 .form-group select:focus {
 border-color: #0F8B7D;
 box-shadow:0005px rgba(15,139,125, .07);
 background: #fff;
 }
 .form-group input::placeholder,
 .form-group textarea::placeholder {
 color: #94A39E;
 }
 .form-row {
 display: grid;
 grid-template-columns:1fr1fr;
 gap:14px;
 }
 @media (max-width:768px) {
 .cta-grid {
 grid-template-columns:1fr;
 gap:30px;
 }
 .form-row {
 grid-template-columns:1fr;
 }
 .cta-form-card {
 padding:24px18px;
 }
 }

 /* Footer */
 .site-footer {
 background: #17211F;
 color: #BCC7C2;
 padding:60px030px;
 }
 .footer-grid {
 display: grid;
 grid-template-columns:1.5fr1fr1fr1.2fr;
 gap:40px;
 }
 .footer-logo {
 display: flex;
 align-items: center;
 gap:10px;
 font-weight:700;
 font-size:1.2rem;
 color: #fff;
 margin-bottom:12px;
 }
 .footer-desc {
 font-size:0.9rem;
 line-height:1.7;
 color: #8A9A94;
 max-width:280px;
 }
 .footer-col h4 {
 font-size:0.95rem;
 font-weight:650;
 color: #E2E8E4;
 margin:0016px;
 letter-spacing:0.02em;
 }
 .footer-col ul {
 list-style: none;
 padding:0;
 margin:0;
 display: flex;
 flex-direction: column;
 gap:10px;
 }
 .footer-col ul li a {
 font-size:0.88rem;
 color: #8A9A94;
 transition: color var(--transition-smooth);
 }
 .footer-col ul li a:hover {
 color: #F2A65A;
 }
 .footer-bottom {
 border-top:1px solid #2A3532;
 margin-top:40px;
 padding-top:20px;
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
 gap:12px;
 font-size:0.82rem;
 color: #6B7A75;
 }
 @media (max-width:800px) {
 .footer-grid {
 grid-template-columns:1fr1fr;
 gap:30px;
 }
 }
 @media (max-width:500px) {
 .footer-grid {
 grid-template-columns:1fr;
 gap:24px;
 }
 .footer-desc {
 max-width:100%;
 }
 }
