.cpm-content{
            --primary: #2c3e50;
            --secondary: #3498db;
            --accent: #e74c3c;
            --light: #ecf0f1;
            --dark: #2c3e50;
            --gray: #95a5a6;
            --light-gray: #f8f9fa;
            --font-main: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
            --font-heading: "Georgia", serif;
        }
.cpm-content{
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
.cpm-content{
            font-family: var(--font-main);
            line-height: 1.6;
            color: #333;
            background-color: #f9f9f9;
            overflow-x: hidden;
        }
.cpm-content .container{
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }
.cpm-content header{
            background: linear-gradient(135deg, var(--primary), var(--secondary));
            color: white;
            padding: 60px 0 40px;
            text-align: center;
            position: relative;
            overflow: hidden;
        }
.cpm-content header::before{
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"none\"><path d=\"M0,0 L100,0 L100,100 Q50,80 0,100 Z\" fill=\"rgba(255,255,255,0.1)\"/></svg>");
            background-size: 100% 100%;
            opacity: 0.2;
        }
.cpm-content h1{
            font-family: var(--font-heading);
            font-size: 2.8rem;
            margin-bottom: 20px;
            position: relative;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
        }
.cpm-content h2{
            font-family: var(--font-heading);
            color: var(--primary);
            font-size: 2.2rem;
            margin: 40px 0 20px;
            padding-bottom: 10px;
            border-bottom: 2px solid var(--secondary);
        }
.cpm-content h3{
            font-family: var(--font-heading);
            color: var(--secondary);
            font-size: 1.8rem;
            margin: 35px 0 15px;
        }
.cpm-content h4{
            font-family: var(--font-heading);
            color: var(--dark);
            font-size: 1.4rem;
            margin: 30px 0 15px;
        }
.cpm-content p{
            margin-bottom: 20px;
            font-size: 1.1rem;
        }
.cpm-content a{
            color: var(--secondary);
            text-decoration: none;
            transition: color 0.3s;
        }
.cpm-content a:hover{
            color: var(--accent);
        }
.cpm-content .content-section{
            background-color: white;
            padding: 40px;
            margin: 30px 0;
            border-radius: 8px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            position: relative;
        }
.cpm-content .content-section::after{
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: linear-gradient(90deg, var(--secondary), var(--accent));
            border-radius: 0 0 8px 8px;
        }
.cpm-content table{
            width: 100%;
            border-collapse: collapse;
            margin: 25px 0;
            font-size: 0.9em;
            box-shadow: 0 0 20px rgba(0,0,0,0.1);
            border-radius: 8px;
            overflow: hidden;
        }
.cpm-content table thead tr{
            background-color: var(--primary);
            color: white;
            text-align: left;
            font-weight: bold;
        }
.cpm-content table th, .cpm-content table td{
            padding: 12px 15px;
            border: 1px solid #ddd;
        }
.cpm-content table tbody tr{
            border-bottom: 1px solid #dddddd;
        }
.cpm-content table tbody tr:nth-of-type(even){
            background-color: var(--light-gray);
        }
.cpm-content table tbody tr:last-of-type{
            border-bottom: 2px solid var(--primary);
        }
.cpm-content table tbody tr:hover{
            background-color: rgba(52, 152, 219, 0.1);
        }
.cpm-content .note{
            font-size: 0.9em;
            color: var(--gray);
            font-style: italic;
            margin-top: -15px;
            margin-bottom: 20px;
        }
.cpm-content ul, .cpm-content ol{
            margin-bottom: 20px;
            padding-left: 30px;
        }
.cpm-content li{
            margin-bottom: 10px;
        }
.cpm-content strong{
            color: var(--dark);
        }
.cpm-content .timeline-container{
            position: relative;
            max-width: 1200px;
            margin: 40px auto;
        }
.cpm-content .timeline{
            position: relative;
            margin: 0 auto;
        }
.cpm-content .timeline::after{
            content: "";
            position: absolute;
            width: 6px;
            background-color: var(--secondary);
            top: 0;
            bottom: 0;
            left: 50%;
            margin-left: -3px;
            border-radius: 3px;
        }
.cpm-content .timeline-item{
            padding: 10px 40px;
            position: relative;
            width: 50%;
            box-sizing: border-box;
        }
.cpm-content .timeline-item::after{
            content: "";
            position: absolute;
            width: 25px;
            height: 25px;
            background-color: white;
            border: 4px solid var(--accent);
            border-radius: 50%;
            top: 15px;
            z-index: 1;
        }
.cpm-content .left{
            left: 0;
        }
.cpm-content .right{
            left: 50%;
        }
.cpm-content .left::after{
            right: -12px;
        }
.cpm-content .right::after{
            left: -12px;
        }
.cpm-content .timeline-content{
            padding: 20px;
            background-color: white;
            border-radius: 8px;
            box-shadow: 0 5px 15px rgba(0,0,0,0.1);
            border-left: 4px solid var(--secondary);
        }
.cpm-content .right .timeline-content{
            border-left: none;
            border-right: 4px solid var(--secondary);
        }
.cpm-content .timeline-date{
            font-weight: bold;
            color: var(--accent);
            margin-bottom: 10px;
        }
.cpm-content .timeline-title{
            font-weight: bold;
            margin-bottom: 10px;
            color: var(--primary);
        }
.cpm-content .quote{
            font-style: italic;
            padding: 20px;
            background-color: var(--light-gray);
            border-left: 4px solid var(--secondary);
            margin: 20px 0;
            position: relative;
        }
.cpm-content .quote::before{
            content: "\"";
            font-size: 60px;
            color: var(--secondary);
            opacity: 0.3;
            position: absolute;
            top: -20px;
            left: 10px;
        }
.cpm-content .visualization{
            background-color: var(--light-gray);
            padding: 30px;
            border-radius: 8px;
            margin: 30px 0;
            text-align: center;
        }
.cpm-content .chart-container{
            height: 400px;
            margin: 20px 0;
            position: relative;
        }
.cpm-content .key-takeaways{
            background-color: var(--light);
            padding: 25px;
            border-radius: 8px;
            margin: 30px 0;
            border-left: 5px solid var(--secondary);
        }
.cpm-content .key-takeaways h4{
            color: var(--primary);
            margin-top: 0;
        }
.cpm-content footer{
            background-color: var(--primary);
            color: white;
            text-align: center;
            padding: 30px 0;
            margin-top: 50px;
        }
.cpm-content .footer-content{
            max-width: 800px;
            margin: 0 auto;
        }
.cpm-content .back-to-top{
            position: fixed;
            bottom: 30px;
            right: 30px;
            background-color: var(--accent);
            color: white;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
            box-shadow: 0 2px 10px rgba(0,0,0,0.2);
            opacity: 0;
            transition: opacity 0.3s;
            z-index: 99;
        }
.cpm-content .back-to-top.visible{
            opacity: 1;
        }
.cpm-content .back-to-top:hover{
            background-color: #c0392b;
        }
@media  screen and (max-width: 768px) {.cpm-content h1{
                font-size: 2rem;
            }
.cpm-content h2{
                font-size: 1.8rem;
            }
.cpm-content h3{
                font-size: 1.5rem;
            }
.cpm-content .content-section{
                padding: 25px;
            }
.cpm-content table{
                font-size: 0.8em;
            }
.cpm-content table th, .cpm-content table td{
                padding: 8px 10px;
            }
.cpm-content .timeline::after{
                left: 31px;
            }
.cpm-content .timeline-item{
                width: 100%;
                padding-left: 70px;
                padding-right: 25px;
            }
.cpm-content .timeline-item::after{
                left: 18px;
            }
.cpm-content .left::after, .cpm-content .right::after{
                left: 18px;
            }
.cpm-content .right{
                left: 0;
            }}
.cpm-content .fade-in{
            animation: fadeIn 1s ease-in;
        }
@keyframes  fadeIn {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }
.cpm-content .highlight{
            background-color: rgba(255, 255, 0, 0.3);
            padding: 0 3px;
            transition: background-color 0.3s;
        }
.cpm-content .highlight:hover{
            background-color: rgba(255, 255, 0, 0.6);
        }
.cpm-content .tooltip{
            position: relative;
            display: inline-block;
            border-bottom: 1px dotted var(--secondary);
            cursor: help;
        }
.cpm-content .tooltip .tooltiptext{
            visibility: hidden;
            width: 200px;
            background-color: var(--primary);
            color: #fff;
            text-align: center;
            border-radius: 6px;
            padding: 10px;
            position: absolute;
            z-index: 1;
            bottom: 125%;
            left: 50%;
            margin-left: -100px;
            opacity: 0;
            transition: opacity 0.3s;
            font-size: 0.9rem;
        }
.cpm-content .tooltip .tooltiptext::after{
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -5px;
            border-width: 5px;
            border-style: solid;
            border-color: var(--primary) transparent transparent transparent;
        }
.cpm-content .tooltip:hover .tooltiptext{
            visibility: visible;
            opacity: 1;
        }
.cpm-content img{
            max-width: 100%;
            height: auto;
            display: block;
            margin: 20px auto;
            border-radius: 4px;
        }
.cpm-content dl{
            margin: 20px 0;
        }
.cpm-content dt{
            font-weight: bold;
            color: var(--primary);
            margin-top: 10px;
        }
.cpm-content dd{
            margin-left: 20px;
            margin-bottom: 10px;
        }
.cpm-content blockquote{
            border-left: 4px solid var(--secondary);
            padding-left: 20px;
            margin: 20px 0;
            color: var(--dark);
            font-style: italic;
        }
.cpm-content pre{
            background-color: var(--light-gray);
            padding: 15px;
            border-radius: 4px;
            overflow-x: auto;
            margin: 20px 0;
        }
.cpm-content code{
            font-family: "Courier New", monospace;
            color: var(--accent);
        }
.cpm-content figure{
            margin: 20px 0;
            text-align: center;
        }
.cpm-content figcaption{
            font-size: 0.9em;
            color: var(--gray);
            margin-top: 10px;
        }
.cpm-content .section-divider{
            border: 0;
            height: 1px;
            background-image: linear-gradient(to right, rgba(0,0,0,0), var(--secondary), rgba(0,0,0,0));
            margin: 40px 0;
        }
.cpm-content .callout{
            padding: 20px;
            margin: 20px 0;
            border-radius: 4px;
            border-left: 4px solid;
        }
.cpm-content .callout-primary{
            background-color: rgba(52, 152, 219, 0.1);
            border-left-color: var(--secondary);
        }
.cpm-content .callout-warning{
            background-color: rgba(231, 76, 60, 0.1);
            border-left-color: var(--accent);
        }
.cpm-content .callout-success{
            background-color: rgba(46, 204, 113, 0.1);
            border-left-color: #2ecc71;
        }
.cpm-content .stat-box{
            background-color: white;
            border-radius: 8px;
            padding: 20px;
            margin: 15px 0;
            box-shadow: 0 5px 15px rgba(0,0,0,0.05);
            text-align: center;
            border-top: 4px solid var(--secondary);
        }
.cpm-content .stat-number{
            font-size: 2.5rem;
            font-weight: bold;
            color: var(--primary);
            margin: 10px 0;
        }
.cpm-content .stat-label{
            font-size: 1rem;
            color: var(--gray);
        }
.cpm-content .flex-grid{
            display: flex;
            flex-wrap: wrap;
            margin: 0 -15px;
        }
.cpm-content .flex-item{
            flex: 1 0 300px;
            margin: 15px;
        }
.cpm-content .tabs{
            display: flex;
            flex-wrap: wrap;
            margin: 20px 0;
        }
.cpm-content .tab{
            padding: 10px 20px;
            cursor: pointer;
            background-color: var(--light-gray);
            border: 1px solid #ddd;
            margin-right: 5px;
            border-radius: 4px 4px 0 0;
        }
.cpm-content .tab.active{
            background-color: white;
            border-bottom: 1px solid white;
            font-weight: bold;
            color: var(--secondary);
        }
.cpm-content .tab-content{
            display: none;
            width: 100%;
            padding: 20px;
            background-color: white;
            border: 1px solid #ddd;
            border-top: none;
            border-radius: 0 0 4px 4px;
        }
.cpm-content .tab-content.active{
            display: block;
        }
.cpm-content .accordion{
            margin: 20px 0;
        }
.cpm-content .accordion-item{
            margin-bottom: 10px;
            border: 1px solid #ddd;
            border-radius: 4px;
            overflow: hidden;
        }
.cpm-content .accordion-header{
            padding: 15px 20px;
            background-color: var(--light-gray);
            cursor: pointer;
            font-weight: bold;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
.cpm-content .accordion-header:hover{
            background-color: #e0e0e0;
        }
.cpm-content .accordion-content{
            padding: 0 20px;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.3s ease-out;
        }
.cpm-content .accordion-item.active .accordion-content{
            padding: 20px;
            max-height: 1000px;
        }
.cpm-content .accordion-icon{
            transition: transform 0.3s;
        }
.cpm-content .accordion-item.active .accordion-icon{
            transform: rotate(180deg);
        }