       :root {
           --primary-color: #00b894;
           /* Modern Green */
           --primary-dark: #008f72;
           --secondary-color: #2d3436;
           /* Dark Slate */
           --accent-color: #0984e3;
           /* Bright Blue */
           --bg-light: #f5f6fa;
           --text-main: #2d3436;
           --text-light: #636e72;
           --white: #ffffff;
           --shadow-sm: 0 4px 6px rgba(0, 0, 0, 0.05);
           --shadow-md: 0 10px 20px rgba(0, 0, 0, 0.08);
           --radius: 12px;
       }

       body {
           font-family: 'Inter', sans-serif;
           line-height: 1.6;
           color: var(--text-main);
           background-color: var(--white);
           overflow-x: hidden;
       }

       /* Advertorial Banner */
       .advertorial-banner {
           background: #f1f2f6;
           color: #636e72;
           text-align: center;
           font-size: 0.7rem;
           padding: 5px 0;
           text-transform: uppercase;
           letter-spacing: 1px;
           border-bottom: 1px solid #e0e0e0;
       }

       /* --- Header --- */
       header {
           background: var(--white);
           box-shadow: var(--shadow-sm);
           position: sticky;
           top: 0;
           z-index: 1000;
           padding: 15px 0;
       }

       .nav-container {
           max-width: 1200px;
           margin: 0 auto;
           padding: 0 20px;
           display: flex;
           justify-content: space-between;
           align-items: center;
       }

       .logo {
           font-weight: 800;
           font-size: 1.25rem;
           color: var(--secondary-color);
           display: flex;
           align-items: center;
           gap: 10px;
           text-transform: uppercase;
           letter-spacing: 0.5px;
       }

       .logo i {
           color: var(--primary-color);
       }

       .date-badge {
           background: var(--bg-light);
           padding: 5px 12px;
           border-radius: 20px;
           font-size: 0.85rem;
           color: var(--text-light);
           font-weight: 500;
       }

       /* --- Hero Section --- */
       .hero {
           padding: 80px 20px 60px;
           /* High quality solar panel image */
           background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.7)), url('https://images.unsplash.com/photo-1509391366360-2e959784a276?auto=format&fit=crop&w=1920&q=80');
           background-size: cover;
           background-position: center;
           color: var(--white);
           text-align: center;
           position: relative;
       }

       .hero-content {
           max-width: 900px;
           margin: 0 auto;
       }

       .tag {
           display: inline-block;
           background: var(--primary-color);
           color: var(--white);
           padding: 6px 12px;
           border-radius: 6px;
           font-size: 0.8rem;
           font-weight: 700;
           text-transform: uppercase;
           letter-spacing: 1px;
           margin-bottom: 20px;
       }

       .hero h1 {
           font-size: 2.5rem;
           font-weight: 800;
           margin-bottom: 20px;
           line-height: 1.2;
       }

       .hero p {
           font-size: 1.25rem;
           opacity: 0.9;
           margin-bottom: 30px;
           font-weight: 300;
       }

       @media (min-width: 768px) {
           .hero h1 {
               font-size: 3.5rem;
           }
       }

       /* --- Main Layout --- */
       .container {
           max-width: 1100px;
           margin: 0 auto;
           padding: 60px 20px;
       }

       /* --- Intro & Story --- */
       .lead-section {
           border-left: 4px solid var(--primary-color);
           padding-left: 20px;
           font-size: 1.15rem;
           color: var(--secondary-color);
           margin-bottom: 50px;
       }

       .story-grid {
           display: grid;
           grid-template-columns: 1fr;
           gap: 40px;
           margin-bottom: 60px;
           align-items: center;
       }

       @media (min-width: 800px) {
           .story-grid {
               grid-template-columns: 1fr 1fr;
           }
       }

       .story-img img {
           width: 100%;
           border-radius: var(--radius);
           box-shadow: var(--shadow-md);
           height: 350px;
           object-fit: cover;
       }

       .story-content h2 {
           font-size: 2rem;
           margin-bottom: 20px;
           color: var(--secondary-color);
       }

       .quote-box {
           background: #e3fcf7;
           padding: 25px;
           border-radius: var(--radius);
           margin-top: 20px;
           position: relative;
       }

       .quote-box::before {
           content: '"';
           position: absolute;
           top: -10px;
           left: 20px;
           font-size: 4rem;
           color: var(--primary-color);
           opacity: 0.3;
           font-family: serif;
       }

       /* --- Tech Dark Section --- */
       .tech-section {
           background: var(--secondary-color);
           color: var(--white);
           padding: 80px 20px;
           border-radius: 0;
           position: relative;
           overflow: hidden;
       }

       .tech-section::before {
           content: '';
           position: absolute;
           top: 0;
           right: 0;
           width: 300px;
           height: 300px;
           background: radial-gradient(circle, rgba(9, 132, 227, 0.2) 0%, rgba(0, 0, 0, 0) 70%);
       }

       .tech-container {
           max-width: 1100px;
           margin: 0 auto;
           position: relative;
           z-index: 2;
       }

       .tech-header {
           text-align: center;
           margin-bottom: 50px;
       }

       .tech-header h2 {
           font-size: 2.2rem;
           margin-bottom: 10px;
       }

       .tech-header span {
           color: var(--primary-color);
           font-weight: 700;
       }

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

       .feature-card {
           background: rgba(255, 255, 255, 0.05);
           backdrop-filter: blur(10px);
           padding: 30px;
           border-radius: var(--radius);
           border: 1px solid rgba(255, 255, 255, 0.1);
           transition: transform 0.3s ease;
       }

       .feature-card:hover {
           transform: translateY(-5px);
           background: rgba(255, 255, 255, 0.08);
       }

       .feature-icon {
           font-size: 1.5rem;
           color: var(--primary-color);
           margin-bottom: 15px;
       }

       .feature-card h3 {
           font-size: 1.2rem;
           margin-bottom: 10px;
       }

       .feature-card p {
           font-size: 0.9rem;
           opacity: 0.8;
       }

       /* --- ROI Section --- */
       .roi-section {
           padding: 80px 20px;
           background: var(--bg-light);
       }

       .roi-container {
           max-width: 1000px;
           margin: 0 auto;
       }

       .section-title {
           text-align: center;
           margin-bottom: 50px;
           font-size: 2rem;
           color: var(--secondary-color);
       }

       .calculator-card {
           background: var(--white);
           border-radius: var(--radius);
           box-shadow: var(--shadow-md);
           overflow: hidden;
           margin-bottom: 30px;
       }

       .calc-header {
           background: var(--accent-color);
           color: var(--white);
           padding: 20px;
           text-align: center;
           font-weight: 600;
       }

       .stats-row {
           display: grid;
           grid-template-columns: repeat(2, 1fr);
           border-bottom: 1px solid #eee;
       }

       @media (min-width: 600px) {
           .stats-row {
               grid-template-columns: repeat(4, 1fr);
           }
       }

       .stat-item {
           padding: 25px 15px;
           text-align: center;
           border-right: 1px solid #eee;
       }

       .stat-item:last-child {
           border-right: none;
       }

       .stat-value {
           display: block;
           font-size: 1.5rem;
           font-weight: 800;
           color: var(--secondary-color);
           margin-bottom: 5px;
       }

       .stat-value.highlight {
           color: var(--primary-color);
       }

       .stat-label {
           font-size: 0.85rem;
           color: var(--text-light);
           text-transform: uppercase;
           letter-spacing: 0.5px;
       }

       /* --- Subsidy Section --- */
       .subsidy-box {
           background: linear-gradient(135deg, #e3fcf7, #ffffff);
           border: 2px solid var(--primary-color);
           border-radius: var(--radius);
           padding: 40px;
           margin: 60px 0;
           text-align: center;
       }

       .subsidy-box h2 {
           color: var(--primary-dark);
           margin-bottom: 20px;
       }

       .checklist {
           list-style: none;
           display: inline-block;
           text-align: left;
           margin-top: 20px;
       }

       .checklist li {
           margin-bottom: 12px;
           font-size: 1.1rem;
       }

       .checklist li i {
           color: var(--primary-color);
           margin-right: 10px;
       }

       /* --- Specs Table --- */
       .specs-section {
           padding: 60px 20px;
       }

       .specs-grid {
           display: grid;
           grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
           gap: 20px;
           margin-top: 30px;
       }

       .spec-card {
           background: var(--white);
           border: 1px solid #eee;
           border-radius: 8px;
           padding: 20px;
           transition: box-shadow 0.2s;
       }

       .spec-card:hover {
           box-shadow: var(--shadow-sm);
           border-color: var(--accent-color);
       }

       .spec-title {
           font-size: 0.8rem;
           text-transform: uppercase;
           color: var(--text-light);
           margin-bottom: 5px;
       }

       .spec-data {
           font-size: 1.1rem;
           font-weight: 700;
           color: var(--secondary-color);
       }

       /* --- CTA --- */
       .cta-footer {
           background: var(--secondary-color);
           color: var(--white);
           text-align: center;
           padding: 80px 20px;
       }

       .btn {
           display: inline-block;
           padding: 15px 35px;
           font-size: 1.1rem;
           font-weight: 600;
           border-radius: 50px;
           text-decoration: none;
           transition: all 0.3s ease;
           margin: 10px;
           border: none;
           cursor: pointer;
       }

       .btn-primary {
           background: var(--primary-color);
           color: var(--white);
           box-shadow: 0 4px 15px rgba(0, 184, 148, 0.4);
       }

       .btn-primary:hover {
           background: var(--primary-dark);
           transform: translateY(-2px);
       }

       .btn-outline {
           background: transparent;
           border: 2px solid var(--white);
           color: var(--white);
       }

       .btn-outline:hover {
           background: var(--white);
           color: var(--secondary-color);
       }

       /* --- FAQ & Disclaimer --- */
       .faq-section {
           max-width: 800px;
           margin: 60px auto;
       }

       .faq-item {
           margin-bottom: 25px;
           border-bottom: 1px solid #eee;
           padding-bottom: 20px;
       }

       .faq-item h3 {
           font-size: 1.1rem;
           margin-bottom: 10px;
           color: var(--secondary-color);
       }

       .disclaimer {
           font-size: 0.8rem;
           color: var(--text-light);
           background: #fff8e1;
           padding: 15px;
           border-radius: 8px;
           margin-top: 40px;
           line-height: 1.5;
       }

       /* --- Footer --- */
       footer {
           background: #1e272e;
           color: #b2bec3;
           padding: 40px 20px;
           font-size: 0.9rem;
           text-align: center;
       }

       /* Footer Legal Visible */
       .footer-legal-visible {
           margin-bottom: 30px;
           padding-bottom: 20px;
           border-bottom: 1px solid rgba(255, 255, 255, 0.1);
           color: #b2bec3;
           font-size: 0.9rem;
           line-height: 1.6;
       }

       .footer-legal-visible strong {
           color: #fff;
       }

       .footer-links {
           margin-top: 20px;
           display: flex;
           justify-content: center;
           flex-wrap: wrap;
           gap: 20px;
       }

       .footer-links a {
           color: #dfe6e9;
           text-decoration: none;
           transition: color 0.2s;
           cursor: pointer;
       }

       .footer-links a:hover {
           color: var(--primary-color);
       }

       /* --- Cookie Banner --- */
       .cookie-banner {
           position: fixed;
           bottom: 20px;
           right: 20px;
           left: 20px;
           max-width: 500px;
           background: var(--white);
           padding: 20px;
           border-radius: var(--radius);
           box-shadow: var(--shadow-md);
           z-index: 2000;
           border: 1px solid #eee;
           display: flex;
           flex-direction: column;
           gap: 15px;
           margin: 0 auto;
           animation: slideUp 0.5s ease-out;
       }

       @media (min-width: 600px) {
           .cookie-banner {
               margin: 0 0 0 auto;
           }
       }

       @keyframes slideUp {
           from {
               transform: translateY(100px);
               opacity: 0;
           }

           to {
               transform: translateY(0);
               opacity: 1;
           }
       }

       .cookie-actions {
           display: flex;
           gap: 10px;
       }

       .cookie-btn-sm {
           padding: 8px 16px;
           border-radius: 6px;
           font-size: 0.9rem;
           cursor: pointer;
           border: none;
           font-weight: 600;
       }

       .accept-cookie {
           background: var(--secondary-color);
           color: white;
       }

       .settings-cookie {
           background: #eee;
           color: var(--text-main);
       }

       /* --- Modal Styles --- */
       .modal-overlay {
           display: none;
           position: fixed;
           top: 0;
           left: 0;
           width: 100%;
           height: 100%;
           background: rgba(0, 0, 0, 0.7);
           z-index: 3000;
           justify-content: center;
           align-items: center;
           padding: 20px;
           opacity: 0;
           transition: opacity 0.3s ease;
       }

       .modal-overlay.active {
           display: flex;
           opacity: 1;
       }

       .modal-content {
           background: var(--white);
           width: 100%;
           max-width: 800px;
           max-height: 90vh;
           border-radius: var(--radius);
           box-shadow: var(--shadow-md);
           position: relative;
           display: flex;
           flex-direction: column;
           transform: translateY(20px);
           transition: transform 0.3s ease;
       }

       .modal-overlay.active .modal-content {
           transform: translateY(0);
       }

       .modal-header {
           padding: 20px;
           border-bottom: 1px solid #eee;
           display: flex;
           justify-content: space-between;
           align-items: center;
           background: var(--bg-light);
           border-top-left-radius: var(--radius);
           border-top-right-radius: var(--radius);
       }

       .modal-header h2 {
           font-size: 1.3rem;
           color: var(--secondary-color);
           margin: 0;
           font-weight: 700;
       }

       .close-modal {
           background: none;
           border: none;
           font-size: 1.5rem;
           cursor: pointer;
           color: var(--text-light);
           transition: color 0.2s;
           padding: 0;
           line-height: 1;
       }

       .close-modal:hover {
           color: var(--primary-color);
       }

       .modal-body {
           padding: 30px;
           overflow-y: auto;
           font-size: 0.95rem;
           color: var(--text-main);
           text-align: left;
       }

       .modal-body h3 {
           margin-top: 20px;
           margin-bottom: 10px;
           color: var(--secondary-color);
           font-size: 1.1rem;
       }

       .modal-body p {
           margin-bottom: 15px;
       }

       .modal-body ul {
           margin-left: 20px;
           margin-bottom: 15px;
       }