
/* --- CSS Variables and Base Styles --- */
        :root {
            --bg-black: #0A0A0A;
            --accent-green: #00FF99;
            --text-white: #F5F5F5;
            --surface-grey: #2a2a2a;
            --border-grey: #444444;
            --font-serif: 'Georgia', 'Times New Roman', serif;
            --font-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;
        }

        *, *::before, *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            background-color: var(--bg-black);
            color: var(--text-white);
            font-family: var(--font-sans);
            font-size: 16px;
            line-height: 1.7;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
        }

        /* --- Typography --- */
        h1, h2, h3, h4, h5, h6 {
            color: var(--text-white);
            line-height: 1.2;
            font-weight: 700;
        }

        h1 {
            font-family: var(--font-serif);
            font-size: clamp(3rem, 7vw, 5.5rem);
            font-weight: 700;
            font-style: italic;
            text-shadow: 0 0 10px rgba(0, 255, 153, 0.3);
        }

        h2 {
            font-size: clamp(2rem, 5vw, 2.8rem);
            margin-bottom: 1.5rem;
            padding-bottom: 0.5rem;
            border-bottom: 1px solid var(--border-grey);
        }
        
        .article-content-wrapper h2 {
            margin-top: 2.5rem;
            margin-bottom: 1.5rem;
        }

        h3 {
            font-size: clamp(1.5rem, 4vw, 2rem);
            margin-bottom: 1rem;
            color: var(--accent-green);
        }
        
        p {
            margin-bottom: 1.5rem;
            padding: 0 0.5rem; /* Horizontal padding for paragraphs */
        }

        a {
            color: var(--accent-green);
            text-decoration: none;
            transition: color 0.3s ease, text-shadow 0.3s ease;
        }

        a:hover, a:focus {
            color: var(--text-white);
            text-shadow: 0 0 8px var(--accent-green);
        }

        strong, b {
            color: var(--accent-green);
            font-weight: 600;
        }

        ul, ol {
            padding-left: 2rem;
            margin-bottom: 1.5rem;
        }

        li {
            margin-bottom: 0.75rem;
        }

        /* --- Layout & Containers --- */
        .page-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }
        
        section {
            padding: 6rem 0;
            position: relative;
        }

        /* --- Animations --- */
        .animate-on-scroll {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s ease-out, transform 0.8s ease-out;
        }

        .animate-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }
        
        /* --- Header --- */
        .site-header {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            z-index: 100;
            padding: 1.5rem 0;
        }
        
        .header-container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--text-white);
            text-decoration: none;
        }
        .logo span {
            color: var(--accent-green);
        }

        .main-nav {
            display: flex;
            align-items: center;
            gap: 2rem;
        }

        .nav-group {
            display: flex;
            gap: 1.5rem;
        }
        
        .nav-group.article-links {
            border-left: 1px solid var(--border-grey);
            padding-left: 1.5rem;
        }

        .main-nav a {
            font-size: 0.9rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        
        .mobile-nav-toggle {
            display: none; /* For mobile view */
            background: none;
            border: none;
            cursor: pointer;
        }

        /* --- Hero Section --- */
        .hero-fortress {
            min-height: 100vh;
            display: flex;
            align-items: center;
            padding-top: 8rem;
            padding-bottom: 4rem;
            background: radial-gradient(circle at bottom, var(--surface-grey) 0%, var(--bg-black) 60%);
        }

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

        .hero-subheadline {
            font-size: 1.25rem;
            color: #ccc;
            margin: 2rem auto;
            max-width: 700px;
        }

        .cta-button {
            display: inline-block;
            background-color: var(--accent-green);
            color: var(--bg-black);
            padding: 1rem 3rem;
            font-size: 1.1rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 1px;
            border: 2px solid var(--accent-green);
            border-radius: 50px;
            transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
        }

        .cta-button:hover, .cta-button:focus {
            background-color: transparent;
            color: var(--accent-green);
            transform: translateY(-3px);
            box-shadow: 0 5px 20px rgba(0, 255, 153, 0.4);
            text-shadow: none;
        }

        .hero-hook {
            margin-top: 3rem;
            font-style: italic;
            color: #aaa;
        }
        
        /* --- Benefits Section --- */
        .grid-container {
            display: grid;
            gap: 2rem;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        }
        
        .benefit-card {
            padding: 2.5rem 2rem;
            border: 1px solid var(--border-grey);
            transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.4s ease;
        }
        
        .benefit-card:hover {
            transform: translateY(-10px);
            border-color: var(--accent-green);
            box-shadow: 0 10px 30px -15px rgba(0, 255, 153, 0.5);
        }

        .benefit-card svg {
            width: 48px;
            height: 48px;
            margin-bottom: 1.5rem;
            color: var(--accent-green);
        }
        
        /* --- Main Article Section --- */
        .section-title-display {
            text-align: center;
            font-size: 1rem;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: #888;
            margin-bottom: 1rem;
        }
        
        .section-subtitle-display {
            text-align: center;
            font-size: clamp(2rem, 5vw, 3rem);
            margin-bottom: 4rem;
            font-weight: 600;
        }

        .article-content-wrapper {
            background-color: var(--surface-grey);
            padding: 4rem;
            border: 1px solid var(--border-grey);
            margin: 0 -2rem; /* Extend to fill padding */
        }
        
        .article-content-wrapper img {
            width: 100%;
            height: auto;
            border-radius: 8px;
            margin: 2rem 0;
            border: 1px solid var(--border-grey);
        }
        
        .article-content-wrapper table {
            width: 100%;
            border-collapse: collapse;
            margin: 2rem 0;
        }
        
        .article-content-wrapper th, .article-content-wrapper td {
            border: 1px solid var(--border-grey);
            padding: 1rem;
            text-align: left;
        }
        
        .article-content-wrapper th {
            background-color: #333;
            color: var(--accent-green);
            font-weight: 600;
        }
        
        /* --- Testimonials Section --- */
        .testimonial-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
            gap: 2rem;
        }
        
        .testimonial-card {
            background-color: var(--surface-grey);
            padding: 2rem;
            border-left: 4px solid var(--accent-green);
            position: relative;
            transition: transform 0.3s ease;
        }

        .testimonial-card:hover {
            transform: scale(1.03);
        }
        
        .testimonial-header {
            display: flex;
            align-items: center;
            margin-bottom: 1.5rem;
        }
        
        .testimonial-avatar {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            border: 2px solid var(--accent-green);
            margin-right: 1rem;
            object-fit: cover;
        }
        
        .testimonial-author h4 {
            margin: 0;
            color: var(--text-white);
        }
        .testimonial-author span {
            font-size: 0.9rem;
            color: #aaa;
        }
        
        .testimonial-quote {
            font-style: italic;
            color: #ccc;
        }

        /* --- FAQ Section --- */
        .faq-container {
            max-width: 800px;
            margin: 0 auto;
        }

        .faq-item {
            border-bottom: 1px solid var(--border-grey);
            padding: 1.5rem 0;
        }

        .faq-question {
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-size: 1.2rem;
            font-weight: 600;
        }

        .faq-question::after {
            content: '+';
            font-size: 2rem;
            color: var(--accent-green);
            transition: transform 0.3s ease;
        }
        
        .faq-item.active .faq-question::after {
            transform: rotate(45deg);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), padding-top 0.5s ease;
        }

        .faq-answer p {
            padding: 0;
            margin-bottom: 0;
            color: #ccc;
        }
        
        .faq-item.active .faq-answer {
            padding-top: 1.5rem;
        }
        
        /* --- "What's Included" Section --- */
        .package-contents {
            background-color: var(--surface-grey);
            padding: 4rem;
            border-radius: 8px;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3rem;
            align-items: center;
        }

        .package-list {
            list-style: none;
            padding: 0;
        }

        .package-list li {
            display: flex;
            align-items: center;
            font-size: 1.1rem;
            margin-bottom: 1.25rem;
        }

        .package-list svg {
            width: 24px;
            height: 24px;
            color: var(--accent-green);
            margin-right: 1rem;
            flex-shrink: 0;
        }
        
        .package-visual {
            display: flex;
            justify-content: center;
            align-items: center;
        }
        
        .package-visual .box-icon {
            width: 150px;
            height: 150px;
            color: var(--accent-green);
            filter: drop-shadow(0 0 15px rgba(0, 255, 153, 0.3));
        }

        /* --- Step-by-Step Section --- */
        .steps-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2.5rem;
        }
        
        .step-card {
            padding: 2rem;
            border: 1px solid var(--border-grey);
            position: relative;
            counter-increment: step-counter;
        }

        .step-card::before {
            content: '0' counter(step-counter);
            position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            font-size: 3rem;
            font-weight: 700;
            color: var(--surface-grey);
            z-index: -1;
            transition: color 0.3s ease;
        }

        .step-card:hover::before {
            color: rgba(0, 255, 153, 0.2);
        }

        .step-card h4 {
            font-size: 1.3rem;
            color: var(--accent-green);
            margin-bottom: 1rem;
        }
        
        /* --- Footer --- */
        .site-footer {
            background-color: #111;
            padding: 4rem 0 2rem 0;
            border-top: 1px solid var(--border-grey);
            font-size: 0.9rem;
        }
        
        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 4rem;
            margin-bottom: 3rem;
        }
        
        .footer-about .logo {
            margin-bottom: 1rem;
            display: inline-block;
        }
        
        .footer-about p {
            color: #aaa;
            padding: 0;
            max-width: 350px;
        }
        
        .footer-nav h4 {
            color: var(--text-white);
            font-size: 1rem;
            margin-bottom: 1.5rem;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
        
        .footer-nav ul {
            list-style: none;
            padding: 0;
        }
        
        .footer-nav li {
            margin-bottom: 0.75rem;
        }
        
        .footer-nav a {
            color: #aaa;
        }
        .footer-nav a:hover {
            color: var(--accent-green);
            text-shadow: none;
        }
        
        .footer-bottom {
            text-align: center;
            padding-top: 2rem;
            border-top: 1px solid var(--border-grey);
            color: #777;
        }

        /* --- Responsive Design --- */
        @media (max-width: 992px) {
            .main-nav {
                display: none; /* Hide for mobile */
            }
            .mobile-nav-toggle {
                display: block;
            }
            .footer-grid {
                grid-template-columns: 1fr;
            }
            .package-contents {
                grid-template-columns: 1fr;
            }
        }
        
        @media (max-width: 768px) {
            section {
                padding: 4rem 0;
            }
            .page-container {
                padding: 0 1rem;
            }
            .article-content-wrapper {
                padding: 2rem 1.5rem;
                margin: 0 -0.5rem;
            }
            h1 {
                font-size: 2.5rem;
            }
            h2 {
                font-size: 1.8rem;
            }
        }


/* --- CSS Variables and Base Styles --- */         :root {             --bg-black: #0A0A0A;             --accent-green: #00FF99;             --text-white: #F5F5F5;             --surface-grey: #2a2a2a;             --border-grey: #444444;             --font-serif: 'Georgia', 'Times New Roman', serif;             --font-sans: 'Helvetica Neue', Helvetica, Arial, sans-serif;         }          *, *::before, *::after {             box-sizing: border-box;             margin: 0;             padding: 0;         }          html {             scroll-behavior: smooth;         }          body {             background-color: var(--bg-black);             color: var(--text-white);             font-family: var(--font-sans);             font-size: 16px;             line-height: 1.7;             -webkit-font-smoothing: antialiased;             -moz-osx-font-smoothing: grayscale;             overflow-x: hidden;         }          /* --- Typography --- */         h1, h2, h3, h4, h5, h6 {             color: var(--text-white);             line-height: 1.2;             font-weight: 700;         }          h1 {             font-family: var(--font-serif);             font-size: clamp(3rem, 7vw, 5.5rem);             font-weight: 700;             font-style: italic;             text-shadow: 0 0 10px rgba(0, 255, 153, 0.3);         }          h2 {             font-size: clamp(2rem, 5vw, 2.8rem);             margin-bottom: 1.5rem;             padding-bottom: 0.5rem;             border-bottom: 1px solid var(--border-grey);         }                 .article-content-wrapper h2 {             margin-top: 2.5rem;             margin-bottom: 1.5rem;         }          h3 {             font-size: clamp(1.5rem, 4vw, 2rem);             margin-bottom: 1rem;             color: var(--accent-green);         }                  p {             margin-bottom: 1.5rem;             padding: 0 0.5rem; /* Horizontal padding for paragraphs */         }          a {             color: var(--accent-green);             text-decoration: none;             transition: color 0.3s ease, text-shadow 0.3s ease;         }          a:hover, a:focus {             color: var(--text-white);             text-shadow: 0 0 8px var(--accent-green);         }          strong, b {             color: var(--accent-green);             font-weight: 600;         }          ul, ol {             padding-left: 2rem;             margin-bottom: 1.5rem;         }          li {             margin-bottom: 0.75rem;         }          /* --- Layout & Containers --- */        .page-container {             max-width: 1200px;             margin: 0 auto;             padding: 0 2rem;         }                  section {             padding: 6rem 0;             position: relative;         }          /* --- Animations --- */        .animate-on-scroll {             opacity: 0;             transform: translateY(30px);             transition: opacity 0.8s ease-out, transform 0.8s ease-out;         }         .animate-on-scroll.is-visible {             opacity: 1;             transform: translateY(0);         }                  /* --- Header --- */        .site-header {             position: absolute;             top: 0;             left: 0;             width: 100%;             z-index: 100;             padding: 1.5rem 0;         }                 .header-container {             display: flex;             justify-content: space-between;             align-items: center;         }         .logo {             font-size: 1.5rem;             font-weight: 700;             color: var(--text-white);             text-decoration: none;         }        .logo span {             color: var(--accent-green);         }         .main-nav {             display: flex;             align-items: center;             gap: 2rem;         }         .nav-group {             display: flex;             gap: 1.5rem;         }                 .nav-group.article-links {             border-left: 1px solid var(--border-grey);             padding-left: 1.5rem;         }         .main-nav a {             font-size: 0.9rem;             font-weight: 500;             text-transform: uppercase;             letter-spacing: 1px;         }                 .mobile-nav-toggle {             display: none; /* For mobile view */             background: none;             border: none;             cursor: pointer;         }          /* --- Hero Section --- */        .hero-fortress {             min-height: 100vh;             display: flex;             align-items: center;             padding-top: 8rem;             padding-bottom: 4rem;             background: radial-gradient(circle at bottom, var(--surface-grey) 0%, var(--bg-black) 60%);         }         .hero-content {             text-align: center;             max-width: 900px;             margin: 0 auto;         }         .hero-subheadline {             font-size: 1.25rem;             color: #ccc;             margin: 2rem auto;             max-width: 700px;         }         .cta-button {             display: inline-block;             background-color: var(--accent-green);             color: var(--bg-black);             padding: 1rem 3rem;             font-size: 1.1rem;             font-weight: 700;             text-transform: uppercase;             letter-spacing: 1px;             border: 2px solid var(--accent-green);             border-radius: 50px;             transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;         }         .cta-button:hover,.cta-button:focus {             background-color: transparent;             color: var(--accent-green);             transform: translateY(-3px);             box-shadow: 0 5px 20px rgba(0, 255, 153, 0.4);             text-shadow: none;         }         .hero-hook {             margin-top: 3rem;             font-style: italic;             color: #aaa;         }                  /* --- Benefits Section --- */        .grid-container {             display: grid;             gap: 2rem;             grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));         }                 .benefit-card {             padding: 2.5rem 2rem;             border: 1px solid var(--border-grey);             transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), border-color 0.4s ease;         }                 .benefit-card:hover {             transform: translateY(-10px);             border-color: var(--accent-green);             box-shadow: 0 10px 30px -15px rgba(0, 255, 153, 0.5);         }         .benefit-card svg {             width: 48px;             height: 48px;             margin-bottom: 1.5rem;             color: var(--accent-green);         }                  /* --- Main Article Section --- */        .section-title-display {             text-align: center;             font-size: 1rem;             text-transform: uppercase;             letter-spacing: 3px;             color: #888;             margin-bottom: 1rem;         }                 .section-subtitle-display {             text-align: center;             font-size: clamp(2rem, 5vw, 3rem);             margin-bottom: 4rem;             font-weight: 600;         }         .article-content-wrapper {             background-color: var(--surface-grey);             padding: 4rem;             border: 1px solid var(--border-grey);             margin: 0 -2rem; /* Extend to fill padding */         }                 .article-content-wrapper img {             width: 100%;             height: auto;             border-radius: 8px;             margin: 2rem 0;             border: 1px solid var(--border-grey);         }                 .article-content-wrapper table {             width: 100%;             border-collapse: collapse;             margin: 2rem 0;         }                 .article-content-wrapper th,.article-content-wrapper td {             border: 1px solid var(--border-grey);             padding: 1rem;             text-align: left;         }                 .article-content-wrapper th {             background-color: #333;             color: var(--accent-green);             font-weight: 600;         }                  /* --- Testimonials Section --- */        .testimonial-grid {             display: grid;             grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));             gap: 2rem;         }                 .testimonial-card {             background-color: var(--surface-grey);             padding: 2rem;             border-left: 4px solid var(--accent-green);             position: relative;             transition: transform 0.3s ease;         }         .testimonial-card:hover {             transform: scale(1.03);         }                 .testimonial-header {             display: flex;             align-items: center;             margin-bottom: 1.5rem;         }                 .testimonial-avatar {             width: 60px;             height: 60px;             border-radius: 50%;             border: 2px solid var(--accent-green);             margin-right: 1rem;             object-fit: cover;         }                 .testimonial-author h4 {             margin: 0;             color: var(--text-white);         }        .testimonial-author span {             font-size: 0.9rem;             color: #aaa;         }                 .testimonial-quote {             font-style: italic;             color: #ccc;         }          /* --- FAQ Section --- */        .faq-container {             max-width: 800px;             margin: 0 auto;         }         .faq-item {             border-bottom: 1px solid var(--border-grey);             padding: 1.5rem 0;         }         .faq-question {             display: flex;             justify-content: space-between;             align-items: center;             cursor: pointer;             font-size: 1.2rem;             font-weight: 600;         }         .faq-question::after {             content: '+';             font-size: 2rem;             color: var(--accent-green);             transition: transform 0.3s ease;         }                 .faq-item.active.faq-question::after {             transform: rotate(45deg);         }         .faq-answer {             max-height: 0;             overflow: hidden;             transition: max-height 0.5s cubic-bezier(0.25, 0.8, 0.25, 1), padding-top 0.5s ease;         }         .faq-answer p {             padding: 0;             margin-bottom: 0;             color: #ccc;         }                 .faq-item.active.faq-answer {             padding-top: 1.5rem;         }                  /* --- "What's Included" Section --- */        .package-contents {             background-color: var(--surface-grey);             padding: 4rem;             border-radius: 8px;             display: grid;             grid-template-columns: 1fr 1fr;             gap: 3rem;             align-items: center;         }         .package-list {             list-style: none;             padding: 0;         }         .package-list li {             display: flex;             align-items: center;             font-size: 1.1rem;             margin-bottom: 1.25rem;         }         .package-list svg {             width: 24px;             height: 24px;             color: var(--accent-green);             margin-right: 1rem;             flex-shrink: 0;         }                 .package-visual {             display: flex;             justify-content: center;             align-items: center;         }                 .package-visual.box-icon {             width: 150px;             height: 150px;             color: var(--accent-green);             filter: drop-shadow(0 0 15px rgba(0, 255, 153, 0.3));         }          /* --- Step-by-Step Section --- */        .steps-grid {             display: grid;             grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));             gap: 2.5rem;         }                 .step-card {             padding: 2rem;             border: 1px solid var(--border-grey);             position: relative;             counter-increment: step-counter;         }         .step-card::before {             content: '0' counter(step-counter);             position: absolute;             top: 1.5rem;             right: 1.5rem;             font-size: 3rem;             font-weight: 700;             color: var(--surface-grey);             z-index: -1;             transition: color 0.3s ease;         }         .step-card:hover::before {             color: rgba(0, 255, 153, 0.2);         }         .step-card h4 {             font-size: 1.3rem;             color: var(--accent-green);             margin-bottom: 1rem;         }                  /* --- Footer --- */        .site-footer {             background-color: #111;             padding: 4rem 0 2rem 0;             border-top: 1px solid var(--border-grey);             font-size: 0.9rem;         }                 .footer-grid {             display: grid;             grid-template-columns: 2fr 1fr 1fr;             gap: 4rem;             margin-bottom: 3rem;         }                 .footer-about.logo {             margin-bottom: 1rem;             display: inline-block;         }                 .footer-about p {             color: #aaa;             padding: 0;             max-width: 350px;         }                 .footer-nav h4 {             color: var(--text-white);             font-size: 1rem;             margin-bottom: 1.5rem;             text-transform: uppercase;             letter-spacing: 1px;         }                 .footer-nav ul {             list-style: none;             padding: 0;         }                 .footer-nav li {             margin-bottom: 0.75rem;         }                 .footer-nav a {             color: #aaa;         }        .footer-nav a:hover {             color: var(--accent-green);             text-shadow: none;         }                 .footer-bottom {             text-align: center;             padding-top: 2rem;             border-top: 1px solid var(--border-grey);             color: #777;         }          /* --- Additional Styles for Privacy Page --- */         .page-header-section {             padding-top: 10rem;             padding-bottom: 4rem;             text-align: center;             background: radial-gradient(circle at 50% 0%, var(--surface-grey) -50%, var(--bg-black) 40%);         }         .page-header-section h1 {             font-size: clamp(2.8rem, 6vw, 4.5rem);             margin-bottom: 1rem;         }         .page-header-section .page-subheadline {             font-size: 1.25rem;             color: #ccc;             max-width: 600px;             margin: 0 auto 2rem auto;             padding: 0 0.5rem;         }         .page-header-section .last-updated {             color: #888;             font-size: 0.9rem;             margin: 0;             padding: 0;         }         .privacy-content-section {             padding-top: 0;         }         .article-content-wrapper .h2 {             margin-top: 0; /* No margin on first h2 */         }                  /* --- Responsive Design --- */         @media (max-width: 992px) {            .main-nav {                 display: none; /* Hide for mobile */             }            .mobile-nav-toggle {                 display: block;             }            .footer-grid {                 grid-template-columns: 1fr;             }            .package-contents {                 grid-template-columns: 1fr;             }         }                  @media (max-width: 768px) {             section {                 padding: 4rem 0;             }            .page-container {                 padding: 0 1rem;             }            .article-content-wrapper {                 padding: 2rem 1.5rem;                 margin: 0 -0.5rem;             }             h1 {                 font-size: 2.5rem;             }             h2 {                 font-size: 1.8rem;             }              .page-header-section {                 padding-top: 8rem;                 padding-bottom: 3rem;             }             .page-header-section h1 {                 font-size: 2.5rem;             }         }

.page-hero {
            padding: 10rem 0 6rem 0;
            text-align: center;
            background: radial-gradient(circle at 50% 100%, var(--surface-grey) -20%, var(--bg-black) 50%);
        }
        .page-hero h1 {
            font-size: clamp(2.5rem, 6vw, 4.5rem);
            font-style: normal;
        }
        .page-hero p {
            font-size: 1.15rem;
            color: #ccc;
            margin: 1.5rem auto 0 auto;
            max-width: 750px;
        }
        .faq-section {
            padding-top: 0;
        }
        .faq-category-heading {
            text-align: left;
            font-size: clamp(1.8rem, 4vw, 2.2rem);
            margin-top: 4rem;
            margin-bottom: 2rem;
            padding-bottom: 0.75rem;
            border-bottom: 1px solid var(--border-grey);
        }
        .faq-category-heading:first-of-type {
            margin-top: 0;
        }
        .faq-item.active .faq-question::after {
            transform: rotate(45deg);
        }
        .faq-item.active .faq-answer {
            padding-top: 1.5rem;
        }
        .faq-answer p {
             margin-bottom: 1rem;
        }
        .faq-answer p:last-child {
             margin-bottom: 0;
        }

.article-image-section {

            padding: 6rem 0 0 0;

        }

        .article-hero-image {

            width: 100%;

            height: auto;

            border-radius: 8px;

            border: 1px solid var(--border-grey);

            display: block;

        }

        .article-section.with-hero-image {

            padding-top: 4rem;

        }


.page-hero {
    padding: 10rem 0 6rem 0;
    text-align: center;
    background: radial-gradient(circle at 50% 100%, var(--surface-grey) -20%, var(--bg-black) 50%);
}

.page-hero h1 {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-style: normal;
}

.page-hero p {
    font-size: 1.15rem;
    color: #ccc;
    margin: 1.5rem auto 0 auto;
    max-width: 750px;
}

.blog-list-section {
    padding-top: 0;
    padding-bottom: 6rem;
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2.5rem;
}

.blog-card {
    background-color: var(--surface-grey);
    border: 1px solid var(--border-grey);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.blog-card:hover {
    transform: translateY(-8px);
    border-color: var(--accent-green);
    box-shadow: 0 8px 25px rgba(0, 255, 153, 0.15);
}

.blog-card-image-link {
    display: block;
    overflow: hidden;
}

.blog-card-image {
    width: 100%;
    height: 220px;
    object-fit: cover;
    border-bottom: 1px solid var(--border-grey);
    transition: transform 0.4s ease;
}

.blog-card:hover .blog-card-image {
    transform: scale(1.05);
}

.blog-card-content {
    padding: 1.5rem 1.75rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.blog-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 1rem 0;
    color: var(--text-white);
    padding: 0;
    border-bottom: none;
}

.blog-card-title a {
    color: inherit;
    text-decoration: none;
}

.blog-card-title a:hover {
    color: var(--accent-green);
    text-shadow: none;
}

.blog-card-description {
    font-size: 0.95rem;
    color: #ccc;
    flex-grow: 1;
    padding: 0;
    margin-bottom: 1.5rem;
}

.blog-card-readmore {
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    align-self: flex-start;
    color: var(--accent-green);
}

.blog-card-readmore:hover {
    text-shadow: 0 0 5px var(--accent-green);
    color: var(--text-white);
}

@media (max-width: 768px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
    .page-hero {
        padding: 8rem 0 4rem 0;
    }
}
