 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'PingFang SC', 'Segoe UI', 'Microsoft YaHei', Roboto, system-ui, sans-serif;
        }

        body {
            background-color: #faf5f9;
            color: #3a2e37;
            line-height: 1.5;
        }

        /* 容器 */
        .container {
            max-width: 1300px;
            margin: 0 auto;
            padding: 0 20px;
        }

        /* 头部 */
        .header {
            background: linear-gradient(135deg, #ffffff 0%, #fff4fa 100%);
            box-shadow: 0 6px 18px rgba(170, 120, 150, 0.08);
            padding: 12px 0;
            position: sticky;
            top: 0;
            z-index: 100;
            border-bottom: 1px solid #ffdfe9;
        }

        .header-inner {
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
        }

        .logo-area {
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .logo-icon {
            width: 50px;
            height: 50px;
            background: linear-gradient(145deg, #e6a2c0, #c881b0);
            border-radius: 30px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            font-size: 24px;
            font-weight: 600;
            box-shadow: 0 6px 12px rgba(200, 130, 170, 0.3);
        }

        .logo-text h1 {
            font-size: 1.6rem;
            font-weight: 700;
            color: #a33d75;
            line-height: 1.2;
        }

        .logo-text p {
            font-size: 0.8rem;
            color: #85607a;
            letter-spacing: 1px;
        }

        .header-contact {
            display: flex;
            align-items: center;
            gap: 25px;
        }

        .header-phone {
            background: #fae6f0;
            padding: 8px 20px;
            border-radius: 40px;
            color: #a52a6f;
            font-weight: 600;
            font-size: 1.2rem;
            border: 1px solid #ffcee2;
            box-shadow: 0 4px 8px rgba(0,0,0,0.02);
        }

        .header-phone a {
            color: #a52a6f;
            text-decoration: none;
        }

        .btn-appoint {
            background: linear-gradient(145deg, #d86f9e, #b54b83);
            border: none;
            color: white;
            padding: 10px 25px;
            border-radius: 40px;
            font-weight: 600;
            font-size: 1rem;
            cursor: pointer;
            transition: 0.2s;
            border: 1px solid #ffb8d6;
            box-shadow: 0 8px 16px rgba(180, 70, 130, 0.25);
            text-decoration: none;
            display: inline-block;
        }

        .btn-appoint:hover {
            background: linear-gradient(145deg, #c45a8b, #a13d72);
            transform: translateY(-2px);
        }

        /* 导航 */
        .nav-bar {
            background: #ffffffd9;
            backdrop-filter: blur(10px);
            border-radius: 60px;
            padding: 0 20px;
            margin-top: 10px;
            border: 1px solid #ffd9e8;
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
        }

        .nav-bar a {
            padding: 14px 20px;
            color: #553b4c;
            text-decoration: none;
            font-weight: 500;
            transition: 0.2s;
            border-bottom: 3px solid transparent;
        }

        .nav-bar a:hover, .nav-bar a.active {
            color: #b03b74;
            border-bottom-color: #d98cb3;
        }

        /* 主banner */
        .banner {
            background: linear-gradient(125deg, #fbe7f2, #f4d9ff);
            border-radius: 40px;
            margin: 30px 0;
            padding: 40px 50px;
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            gap: 30px;
            box-shadow: 0 20px 30px rgba(170, 120, 150, 0.1);
            border: 1px solid white;
        }

        .banner-text {
            flex: 1 1 300px;
        }

        .banner-text h2 {
            font-size: 2.6rem;
            font-weight: 700;
            background: linear-gradient(130deg, #a03266, #844b99);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            line-height: 1.2;
        }

        .banner-text p {
            font-size: 1.2rem;
            color: #5d3d56;
            margin: 20px 0 25px;
        }

        .banner-badge {
            background: white;
            border-radius: 60px;
            padding: 10px 25px;
            display: inline-block;
            font-weight: 600;
            color: #a03b6c;
            box-shadow: 0 6px 12px rgba(0,0,0,0.02);
            border: 1px solid #ffc1d6;
        }

        .banner-image {
            flex: 0 0 200px;
            height: 180px;
            background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" fill="%23fad1e6"><circle cx="100" cy="100" r="80" fill="%23ffd9e8"/><path d="M80 70 Q100 40 120 70" stroke="%23b2497a" stroke-width="8" fill="none"/><circle cx="80" cy="100" r="12" fill="%23993366"/><circle cx="120" cy="100" r="12" fill="%23993366"/></svg>') no-repeat center/contain;
            opacity: 0.8;
        }

        /* 快捷入口 */
        .quick-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
            gap: 20px;
            margin: 40px 0;
        }

        .quick-item {
            background: white;
            padding: 25px 10px;
            border-radius: 32px;
            text-align: center;
            box-shadow: 0 12px 24px rgba(170, 120, 150, 0.08);
            border: 1px solid #ffe4f0;
            transition: 0.2s;
            text-decoration: none;
            color: #4a2e42;
            display: block;
        }

        .quick-item:hover {
            transform: translateY(-5px);
            border-color: #dbaac8;
            box-shadow: 0 18px 30px rgba(160, 100, 140, 0.15);
        }

        .quick-icon {
            font-size: 2.6rem;
            margin-bottom: 12px;
        }

        .quick-item span {
            font-size: 1rem;
            font-weight: 500;
            display: block;
        }

        /* 科室/服务卡片 */
        .section-title {
            font-size: 2.2rem;
            font-weight: 600;
            color: #482c41;
            margin: 60px 0 30px;
            text-align: center;
            position: relative;
        }
        .section-title:after {
            content: '';
            display: block;
            width: 80px;
            height: 4px;
            background: linear-gradient(90deg, #d88eb0, #b1598b);
            margin: 12px auto 0;
            border-radius: 4px;
        }

        .dept-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 28px;
        }

        .dept-card {
            background: white;
            border-radius: 32px;
            padding: 28px 22px;
            box-shadow: 0 8px 22px rgba(160, 110, 140, 0.06);
            border: 1px solid #ffdbea;
            transition: 0.2s;
        }

        .dept-card:hover {
            box-shadow: 0 16px 32px rgba(150, 90, 130, 0.12);
        }

        .dept-icon {
            font-size: 2.8rem;
            margin-bottom: 15px;
        }

        .dept-card h3 {
            font-size: 1.5rem;
            color: #a13c6d;
            margin-bottom: 10px;
        }

        .dept-card p {
            color: #685161;
            margin-bottom: 20px;
        }

        .dept-link {
            color: #b3457a;
            text-decoration: none;
            font-weight: 500;
            display: inline-flex;
            align-items: center;
            gap: 6px;
        }

        /* 专家团队 */
        .expert-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 25px;
            margin: 30px 0;
        }

        .expert-card {
            background: white;
            border-radius: 28px;
            padding: 20px 15px;
            text-align: center;
            border: 1px solid #f8d0e2;
        }

        .expert-avatar {
            width: 120px;
            height: 120px;
            background: #edd6f0;
            border-radius: 60px;
            margin: 0 auto 16px;
            background: linear-gradient(145deg, #fadcf0, #ecc6df);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2.8rem;
            color: #a54879;
        }

        .expert-card h4 {
            font-size: 1.3rem;
            color: #4f2a45;
        }

        .expert-title {
            color: #9d5885;
            font-size: 0.9rem;
            margin: 6px 0 12px;
        }

        /* 特色技术 */
        .tech-show {
            background: linear-gradient(115deg, #fff0f7, #fae5ff);
            border-radius: 48px;
            padding: 40px 30px;
            margin: 60px 0;
            border: 1px solid white;
        }

        .tech-flex {
            display: flex;
            flex-wrap: wrap;
            gap: 40px;
            align-items: center;
        }

        .tech-left {
            flex: 1 1 250px;
        }

        .tech-left h3 {
            font-size: 2rem;
            color: #782e5a;
        }

        .tech-tag {
            background: white;
            padding: 6px 18px;
            border-radius: 60px;
            display: inline-block;
            margin: 15px 0 10px;
            font-weight: 600;
            color: #a0356b;
        }

        .tech-right {
            flex: 2 1 400px;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 15px;
        }

        .tech-item {
            background: rgba(255,255,255,0.5);
            backdrop-filter: blur(4px);
            border-radius: 28px;
            padding: 20px 15px;
            border: 1px solid rgba(255,255,255,0.8);
        }

        /* 就医指南 */
        .guide-steps {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 30px;
            margin: 40px 0;
        }

        .step {
            background: white;
            width: 160px;
            height: 160px;
            border-radius: 80px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            box-shadow: 0 12px 22px rgba(160, 100, 130, 0.1);
            border: 2px solid white;
        }

        .step-num {
            font-size: 2.5rem;
            font-weight: 700;
            color: #cd7caa;
            line-height: 1;
        }

        /* 底部 */
        .footer {
            background: #2f1e2b;
            color: #ead4e2;
            margin-top: 70px;
            padding: 50px 0 20px;
            border-radius: 60px 60px 0 0;
        }

        .footer-inner {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 30px;
            margin-bottom: 30px;
        }

        .footer-col h5 {
            color: white;
            font-size: 1.2rem;
            margin-bottom: 18px;
        }

        .footer-col p, .footer-col a {
            color: #dbb9d1;
            text-decoration: none;
            line-height: 2;
            display: block;
        }

        .footer-bottom {
            text-align: center;
            border-top: 1px solid #66485c;
            padding-top: 25px;
            font-size: 0.8rem;
            color: #aa8ba0;
        }

        .qr-small {
            display: flex;
            gap: 15px;
            margin-top: 15px;
        }

        .qr-place {
            width: 70px;
            height: 70px;
            background: repeating-linear-gradient(45deg, #c2a0b8, #c2a0b8 5px, #dbb7d0 5px, #dbb7d0 10px);
            border-radius: 16px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #482542;
            font-size: 0.7rem;
            background: #bc8fae;
        }

        /* 移动端优化 */
        @media (max-width: 600px) {
            .header-inner {
                flex-direction: column;
                gap: 12px;
            }
            .banner-text h2 {
                font-size: 1.8rem;
            }
            .section-title {
                font-size: 1.8rem;
            }
            .nav-bar a {
                padding: 10px 12px;
            }
        }

        /* 按钮通用 */
        .btn-line {
            background: transparent;
            border: 2px solid #b55d8f;
            color: #b55d8f;
            padding: 10px 30px;
            border-radius: 60px;
            font-weight: 600;
            text-decoration: none;
            display: inline-block;
        }
        .btn-solid {
            background: #b6457a;
            color: white;
            padding: 12px 32px;
            border-radius: 60px;
            font-weight: 600;
            text-decoration: none;
            display: inline-block;
            border: none;
            cursor: pointer;
        }