/* 
         * Design System: 2026 Soft Neumorphism & Magazine Layout 
         * Color Palette: Warm Cream, Deep Blue, Charcoal Grey
         */
        :root {
            --bg-color: #F9F6F1; /* Warm Cream */
            --surface-color: #FFFFFF;
            --primary-color: #234E70; /* Deep Blue */
            --primary-light: #DCE8F2;
            --text-main: #3F3B36; /* Charcoal Grey */
            --text-muted: #8C8276;
            --accent-color: #376A91;
            --shadow-soft: 8px 8px 16px #E0DCD3, -8px -8px 16px #FFFFFF;
            --shadow-inset: inset 6px 6px 12px #E0DCD3, inset -6px -6px 12px #FFFFFF;
            --radius-large: 24px;
            --radius-medium: 16px;
            --font-serif: 'Noto Serif SC', 'Songti SC', serif;
            --font-sans: 'Noto Sans SC', 'PingFang SC', sans-serif;
            --spacing-unit: 1.5rem;
        }

        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            font-family: var(--font-sans);
            background-color: var(--bg-color);
            color: var(--text-main);
            line-height: 1.7;
            overflow-x: hidden;
            background-image: radial-gradient(circle at 10% 20%, rgba(35, 78, 112, 0.05) 0%, transparent 20%),
                              radial-gradient(circle at 90% 80%, rgba(55, 106, 145, 0.05) 0%, transparent 20%);
        }

        a {
            text-decoration: none;
            color: inherit;
            transition: all 0.3s ease;
        }

        ul {
            list-style: none;
        }

        /* Typography */
        h1, h2, h3, h4 {
            font-family: var(--font-serif);
            font-weight: 700;
            line-height: 1.3;
            color: var(--text-main);
        }

        h1 { font-size: clamp(2.5rem, 5vw, 4rem); margin-bottom: 1rem; }
        h2 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 2rem; position: relative; display: inline-block; }
        h3 { font-size: 1.5rem; margin-bottom: 1rem; }
        
        /* Decoration for H2 */
        h2::after {
            content: '';
            display: block;
            width: 60px;
            height: 4px;
            background: var(--primary-color);
            margin-top: 0.5rem;
            border-radius: 2px;
        }

        p { margin-bottom: 1rem; font-size: 1.05rem; color: #555; }

        /* Buttons */
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 1rem 2rem;
            font-size: 1.1rem;
            font-weight: 600;
            border-radius: 50px;
            cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;
            box-shadow: 0 4px 6px rgba(35, 78, 112, 0.2);
        }

        .btn-primary {
            background: var(--primary-color);
            color: #fff;
            border: none;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 15px rgba(35, 78, 112, 0.4);
            background: #183A55;
        }

        .btn-outline {
            background: transparent;
            color: var(--primary-color);
            border: 2px solid var(--primary-color);
            box-shadow: var(--shadow-soft);
        }

        .btn-outline:hover {
            transform: translateY(-2px);
            box-shadow: 4px 4px 8px #E0DCD3, -4px -4px 8px #FFFFFF;
        }

        /* Layout Container */
        .container {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 var(--spacing-unit);
        }

        /* Header */
        header {
            position: sticky;
            top: 0;
            z-index: 1000;
            background: rgba(249, 246, 241, 0.95);
            backdrop-filter: blur(10px);
            padding: 1rem 0;
            box-shadow: 0 4px 20px rgba(0,0,0,0.03);
        }

        .nav-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-family: var(--font-serif);
            font-size: 1.8rem;
            font-weight: 800;
            color: var(--text-main);
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }

        .logo span { color: var(--primary-color); }

        nav ul {
            display: flex;
            gap: 2rem;
        }

        nav a {
            font-weight: 500;
            color: var(--text-muted);
            position: relative;
        }

        nav a:hover, nav a.active {
            color: var(--primary-color);
        }

        .header-cta {
            display: flex;
            align-items: center;
            gap: 1rem;
        }

        .phone-display {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            line-height: 1.2;
        }

        .phone-display small {
            font-size: 0.75rem;
            color: var(--text-muted);
        }

        /* Hero Section */
        .hero {
            padding: 4rem 0;
            display: grid;
            grid-template-columns: 1.2fr 1fr;
            gap: 3rem;
            align-items: center;
            min-height: 80vh;
        }

        .hero-content h1 {
            margin-bottom: 1.5rem;
        }

        .hero-content p {
            font-size: 1.25rem;
            color: var(--text-muted);
            margin-bottom: 2.5rem;
            max-width: 600px;
        }

        .hero-actions {
            display: flex;
            gap: 1.5rem;
        }

        .hero-image {
            position: relative;
        }

        .hero-image img {
            width: 100%;
            border-radius: var(--radius-large);
            box-shadow: 20px 20px 40px rgba(35, 78, 112, 0.15);
            object-fit: cover;
            aspect-ratio: 4/3;
        }

        /* Sections General */
        section {
            padding: 5rem 0;
        }

        /* Pricing Table */
        .pricing-section {
            background: #fff;
            border-radius: var(--radius-large);
            padding: 4rem;
            margin: 3rem auto;
            box-shadow: var(--shadow-soft);
        }

        .table-responsive {
            overflow-x: auto;
        }

        table {
            width: 100%;
            border-collapse: separate;
            border-spacing: 0;
            min-width: 600px;
        }

        th, td {
            padding: 1.2rem;
            text-align: center;
            border-bottom: 1px solid #eee;
        }

        th {
            background-color: var(--primary-color);
            color: #fff;
            font-family: var(--font-serif);
            font-size: 1.2rem;
        }

        td:first-child { border-top-left-radius: 12px; border-bottom-left-radius: 12px; }
        td:last-child { border-top-right-radius: 12px; border-bottom-right-radius: 12px; }

        tr:last-child td { border-bottom: none; }
        
        tr:hover td {
            background-color: var(--primary-light);
            transition: background 0.3s;
        }

        .price-highlight {
            color: var(--primary-color);
            font-weight: bold;
        }

        /* Article/News Section */
        .article-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2rem;
            margin-top: 3rem;
        }

        .article-card {
            background: var(--surface-color);
            padding: 2rem;
            border-radius: var(--radius-medium);
            box-shadow: var(--shadow-soft);
            transition: transform 0.3s;
        }

        .article-card:hover {
            transform: translateY(-5px);
        }

        .article-card img {
            width: 100%;
            height: 200px;
            object-fit: cover;
            border-radius: 12px;
            margin-bottom: 1.5rem;
        }

        .article-meta {
            font-size: 0.85rem;
            color: var(--text-muted);
            margin-bottom: 0.5rem;
            display: block;
        }

        /* Review Section */
        .review-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
        }

        .review-card {
            background: #fff;
            padding: 2rem;
            border-radius: var(--radius-medium);
            border: 1px solid rgba(0,0,0,0.05);
            font-style: italic;
            position: relative;
        }

        .review-card::before {
            content: '“';
            font-size: 5rem;
            color: var(--primary-light);
            position: absolute;
            top: -1rem;
            left: 1rem;
            font-family: serif;
        }

        .review-author {
            display: flex;
            align-items: center;
            gap: 1rem;
            margin-top: 1.5rem;
            font-style: normal;
        }

        .avatar-small {
            width: 40px;
            height: 40px;
            border-radius: 50%;
            object-fit: cover;
        }

        /* FAQ Section */
        .faq-item {
            background: #fff;
            margin-bottom: 1rem;
            border-radius: var(--radius-medium);
            box-shadow: var(--shadow-soft);
            overflow: hidden;
        }

        .faq-question {
            padding: 1.5rem 2rem;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            font-weight: 600;
            font-size: 1.1rem;
            background: var(--surface-color);
        }

        .faq-question::after {
            content: '+';
            font-size: 1.5rem;
            color: var(--primary-color);
            transition: transform 0.3s;
        }

        .faq-item.active .faq-question::after {
            transform: rotate(45deg);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease-out;
            padding: 0 2rem;
            color: var(--text-muted);
        }

        .faq-item.active .faq-answer {
            padding: 0 2rem 1.5rem 2rem;
            max-height: 500px; /* Arbitrary large height */
        }

        /* Team Section */
        .team-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 3rem;
        }

        .team-member {
            background: #fff;
            padding: 2rem;
            border-radius: var(--radius-large);
            text-align: center;
            box-shadow: var(--shadow-soft);
            position: relative;
        }

        .team-member img {
            width: 120px;
            height: 120px;
            border-radius: 50%;
            object-fit: cover;
            margin-bottom: 1rem;
            border: 4px solid var(--primary-light);
        }

        .member-role {
            color: var(--primary-color);
            font-weight: 600;
            margin-bottom: 0.5rem;
        }

        .tag-reviewer {
            display: inline-block;
            background: var(--text-main);
            color: #fff;
            font-size: 0.75rem;
            padding: 2px 8px;
            border-radius: 4px;
            margin-top: 0.5rem;
        }

        /* Footer */
        footer {
            background: #3F3B36;
            color: #DAD7CD;
            padding: 4rem 0 2rem;
            margin-top: 4rem;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 3rem;
            margin-bottom: 3rem;
        }

        .footer-col h4 {
            color: #fff;
            margin-bottom: 1.5rem;
            font-size: 1.2rem;
        }

        .footer-col ul li {
            margin-bottom: 0.8rem;
        }

        .footer-col a:hover {
            color: var(--primary-color);
        }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.1);
            padding-top: 2rem;
            text-align: center;
            font-size: 0.9rem;
        }

        .footer-links {
            display: flex;
            justify-content: center;
            gap: 2rem;
            margin-bottom: 1rem;
        }

        /* Responsive */
        @media (max-width: 992px) {
            .hero {
                grid-template-columns: 1fr;
                text-align: center;
                padding-top: 2rem;
            }
            .hero-content p {
                margin: 0 auto 2rem auto;
            }
            .hero-actions {
                justify-content: center;
            }
            nav { display: none; } /* Simplified for mobile */
        }

        @media (max-width: 768px) {
            h1 { font-size: 2.5rem; }
            .pricing-section { padding: 2rem; }
            section { padding: 3rem 0; }
            .footer-links { flex-direction: column; gap: 1rem; }
        }

/* Preserve the reference design; repair phone controls and narrow layouts. */
.hero-image img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
html{scroll-behavior:smooth;scroll-padding-top:110px}body{padding-bottom:100px}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation}img{max-width:100%}.nav-container{gap:20px}.logo{white-space:nowrap;flex-shrink:0;font-size:1.5rem}.logo img{height:40px;width:40px}header nav ul{gap:1.2rem}header nav a{white-space:nowrap;font-size:.9rem}.header-cta{flex-shrink:0}.phone-display a{white-space:nowrap;font-size:.95rem}.header-cta .btn{font-size:.85rem;padding:.75rem 1.1rem}.mobile-menu{display:none}.example-note{font-size:.8rem;color:var(--text-muted)}.team-member img{display:block;margin-left:auto;margin-right:auto}.policy-note{color:#b5ada3;text-align:center;font-size:.75rem;margin:15px auto 0;padding:0 20px}.faq-question{font-family:var(--font-sans);text-align:left;width:100%;border:0;color:var(--text-main);gap:20px}.faq-question:after{flex-shrink:0}.faq-answer a{color:var(--primary-color);text-decoration:underline}.bbbt{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:10000;display:grid;grid-template-columns:1fr 1fr;text-align:center;box-shadow:0 -3px 15px #0002}.bbbt .bleft,.bbbt .bright{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0;padding:9px 10px calc(9px + env(safe-area-inset-bottom));border:0;border-radius:0;color:#fff;text-decoration:none;line-height:1.5;min-width:0;font-family:var(--font-sans)}.bbbt .bleft{background:#234e70}.bbbt .bright{background:#64ad04}.bbbt .bleft:hover{background:#183a55}.bbbt .bright:hover{background:#579805}.bbbt span,.bbbt small{font-size:12px;font-weight:400}.bbbt .haoma{font-size:23px;letter-spacing:1px;white-space:nowrap;display:block;font-family:Arial,sans-serif}.copy-toast{position:fixed;bottom:112px;left:50%;transform:translateX(-50%);background:#3f3b36;color:#fff;padding:12px 20px;border-radius:9px;z-index:11000;text-align:center;font-size:14px;max-width:calc(100% - 28px);width:max-content}.copy-toast[hidden]{display:none}.skip-link{position:fixed;top:-60px;left:15px;z-index:20000;background:#fff;padding:10px 20px}.skip-link:focus{top:15px}:focus-visible{outline:3px solid #376a91;outline-offset:4px}.article-hero{padding-top:60px;padding-bottom:40px}.article-hero .breadcrumbs{font-size:.9rem;color:var(--text-muted);margin-bottom:20px}.article-hero .eyebrow,.article-aside .eyebrow{color:var(--primary-color);font-size:.75rem;letter-spacing:2px;display:block;margin-bottom:12px}.article-hero h1{font-size:clamp(1.8rem,4vw,3rem);max-width:950px}.article-hero p{color:var(--text-muted);max-width:850px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding-top:25px;padding-bottom:50px}.article-content{background:#fff;border-radius:24px;padding:35px;box-shadow:var(--shadow-soft)}.article-content h2{font-size:1.5rem;margin:24px 0 18px}.article-content h2:first-child{margin-top:0}.article-content p,.article-content li{font-size:1rem;line-height:2;color:#686057}.article-content ul{list-style:disc;padding-left:24px;margin-bottom:20px}.article-content a{color:var(--primary-color)}.article-aside>div{position:sticky;top:120px;padding:25px;background:#fff;border-radius:20px;box-shadow:var(--shadow-soft)}.article-aside h2{font-size:1.3rem}.article-aside p{font-size:.9rem;color:var(--text-muted)}.article-aside .phone{font-size:1.3rem;font-weight:700;color:var(--primary-color);display:block;margin-bottom:20px}.article-aside .btn{padding:12px 15px;font-size:.95rem;gap:10px}.article-note{border-left:3px solid var(--primary-color);padding:20px;background:var(--bg-color);font-size:.9rem;margin:25px 0}.related-links{border-top:1px solid #e8e2d9;margin-top:25px;padding-top:20px}.related-links a{display:block;font-size:.9rem;margin-top:12px}.article-content .faq-phone{display:block;font-size:1.5rem}.article-content button{border:0}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.error-page{padding-top:80px;padding-bottom:80px;min-height:60vh}
@media(max-width:1200px){header nav ul{gap:.8rem}header nav a{font-size:.8rem}.header-cta{gap:.7rem}.phone-display{display:none}}
@media(max-width:992px){header .nav-container{position:relative}header nav{display:none;position:absolute;top:calc(100% + 16px);left:-24px;right:-24px;background:#f9f6f1;padding:18px 24px;box-shadow:0 12px 20px #3f3b3614}header nav.open{display:block}header nav ul{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 23px}header nav a{font-size:.9rem}.mobile-menu{display:flex;flex-direction:column;justify-content:center;gap:5px;background:transparent;border:0;width:35px;height:40px;margin-left:auto;padding:5px}.mobile-menu span{display:block;height:2px;background:var(--text-main);width:24px}.header-cta .btn{font-size:.85rem}.header-cta{order:2}.mobile-menu{order:3}.hero-image{max-width:650px;margin:auto;width:100%}.hero{min-height:auto}.article-layout{grid-template-columns:1fr}.article-aside>div{position:static}}
@media(max-width:768px){.container{width:94%;padding-left:18px;padding-right:18px}.nav-container{gap:10px}.logo{font-size:1.2rem;gap:7px}.logo img{height:32px!important;width:32px!important}.header-cta .btn{padding:9px 13px;font-size:.75rem}.mobile-menu{width:29px}.hero{padding:2.3rem 18px 3rem;gap:2rem}.hero h1{font-size:clamp(1.8rem,5.7vw,2.5rem);line-height:1.4}.hero-content p{font-size:1.05rem;margin-bottom:1.7rem}.hero-actions{gap:1rem}.hero-actions .btn{padding:.85rem 1.2rem;font-size:.95rem}.hero-image img{box-shadow:10px 10px 25px #234e7026}.pricing-section{padding:1.4rem;margin:2rem auto}.table-responsive{max-width:100%;-webkit-overflow-scrolling:touch}th,td{padding:.9rem;font-size:.9rem}th{font-size:1rem}#about>div:nth-child(2){padding:1.7rem!important}.article-grid{grid-template-columns:1fr;gap:1.5rem}.review-grid,.team-grid{grid-template-columns:1fr}.article-card,.team-member{padding:1.5rem}.article-card img{height:auto;aspect-ratio:3/2;object-fit:cover}.faq-question{padding:1.2rem 1.3rem;font-size:1rem}.faq-answer{padding:0 1.3rem}.faq-item.active .faq-answer{padding:0 1.3rem 1.2rem;max-height:1000px}.footer-grid{gap:2rem}.footer-links{gap:1rem}.footer-col h4{margin-bottom:1rem}.bbbt .haoma{font-size:21px;letter-spacing:.3px}.bbbt span,.bbbt small{font-size:11px}.article-hero{padding-top:35px;padding-bottom:20px}.article-content{padding:24px}.article-layout{gap:25px}.article-content p,.article-content li{font-size:.95rem}.article-content h2{font-size:1.3rem}.article-hero h1{font-size:1.8rem}.article-content .btn{font-size:1rem;padding:12px 18px}}
@media(max-width:380px){.container{width:96%;padding-left:14px;padding-right:14px}header .logo{font-size:1.03rem}.header-cta .btn{padding:8px 10px;font-size:.7rem}.mobile-menu{width:26px;padding:3px}.mobile-menu span{width:20px}.hero{padding-left:14px;padding-right:14px}.hero h1{font-size:1.65rem}.hero-content p{font-size:.95rem}.hero-actions{gap:.7rem}.hero-actions .btn{font-size:.85rem;padding:.8rem 1rem}.bbbt .haoma{font-size:18px}.bbbt span,.bbbt small{font-size:10px}h2{font-size:1.7rem}.article-hero h1{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
