        /* --- RESET & BASE STYLES --- */
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        .text-body {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1.0rem;
            font-weight: 320;
            line-height: 1.5;
            color: #333;
        }

        .text-b {
            font-weight: 400;
        }

        .text-paragraph {
            line-height: 1.5;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .text-blockquote {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1.0rem;
            font-weight: 320;
            color: #666666;
            margin: 1em 2.5em;
            border-left: 2px solid #ff78b2;
            padding-left: 15px;
        }
        
        .text-caption {
            font-size: 0.7rem;
            letter-spacing: 0.25px;
            text-align: center;
            line-height: 1.25;
            color: #999999;
            margin-top: 5px;
            margin-bottom: 10px;
        }

        .text-review {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1.0rem;
            font-weight: 350;
            color: #666666;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .text-review-source {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1.0rem;
            font-weight: 350;
            color: #999999;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }
        
        .body-links {
            color: #ff78b2;
            transition: color 0.5s;
        }
        
        .body-links:hover { color: #ffc4de; }

        /* --- TYPOGRAPHY CLASSES --- */
        .heading-xl {
            font-family: 'Playfair Display', serif;
            font-size: 3.5rem;
            font-weight: 700;
            color: #ff78b2;
            line-height: 1.0;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .heading-lg {
            font-family: 'Playfair Display', serif;
            font-size: 2.0rem;
            font-weight: 300;
            color: #666666;
            line-height: 1.0;
            margin-top: 10px;
            margin-bottom: 10px;
        }
        
        .heading-m {
            font-family: 'Readex Pro', sans-serif;
            font-size: 2.0rem;
            font-weight: 500;
            color: #ff78b2;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }
        
        .heading-s {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1.5rem;
            font-weight: 350;
            color: #666666;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .heading-xs {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1rem;
            font-weight: 400;
            color: #ff78b2;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .heading-xxs {
            font-family: 'Readex Pro', sans-serif;
            font-size: 0.9rem;
            font-weight: 300;
            color: #434343;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .heading-services {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1.5rem;
            font-weight: 500;
            color: #ff78b2;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .heading-services-subtitle {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1.5rem;
            font-weight: 400;
            font-style: italic;
            color: #666666;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .heading-label {
            font-family: 'Readex Pro', sans-serif;
            font-size: 0.9rem;
            font-weight: 400;
            color: #ff78b2;
            display: inline-block; /* Fixed: was inline */
            background-color: #fde7f0;
            border-radius: 5px;
            margin-top: 10px;
            margin-bottom: 10px;
            padding: 2px 10px;
        }

        .heading-label-WIP {
            font-family: 'Readex Pro', sans-serif;
            font-size: 0.9rem;
            font-weight: 400;
            color: #da954b;
            display: inline-block;
            /* Fixed: was inline */
            background-color: #f8e6d0;
            border-radius: 5px;
            margin-top: 10px;
            margin-bottom: 10px;
            padding: 2px 10px;
        }

        .heading-label-new {
            font-family: 'Readex Pro', sans-serif;
            font-size: 0.9rem;
            font-weight: 400;
            color: green;
            display: inline-block;
            /* Fixed: was inline */
            background-color: #dce9d5;
            border-radius: 5px;
            margin-top: 10px;
            margin-bottom: 10px;
            padding: 2px 10px;
        }

        .heading-subtitle {
            font-family: 'Readex Pro', sans-serif;
            font-size: 1.0rem;
            font-weight: 400;
            color: #999999;
            line-height: 1.25;
            margin-top: 10px;
            margin-bottom: 10px;
        }

        .heading-links {
            text-decoration:none
        }

        /* --- ACCORDION STYLES --- */
        .accordion-container {
            margin: 20px 0;
            border-radius: 5px;
            overflow: hidden;
            background-color: #fff9fb;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
        }

        .accordion-item {
            background-color: #fff9fb;
            border-bottom: 0px solid #fde7f0;

        }

        .accordion-item:last-child {
            border-bottom: none;
        }

        .accordion-header {
            width: 100%;
            padding: 1rem;
            background-color: #ffeff6;
            border: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            text-align: left;
            font-family: 'Readex Pro', sans-serif;
            font-size: 1rem;
            font-weight: 400;
            color: #ff78b2;
            transition: background-color 0.5s ease, color 0.5s ease;
        }

        .accordion-header:hover {
            background-color: #ffeff6;
            color: #ff78b2;
        }

        /* The plus icon */
        .accordion-icon {
            color: #ff78b2;
            font-size: 1.5rem;
            font-weight: 400;
            transition: transform 0.5s ease;
            line-height: 1;
        }

        /* Rotate icon when active */
        .accordion-item.active .accordion-icon {
            transform: rotate(45deg);
        }

        .accordion-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease-out;
            background-color: #fffefe;
        }

        .accordion-inner {
            padding: 20px 1.25rem 1.5rem 1.25rem;
            /* slightly more bottom padding */
            color: #333;
            font-weight: 300;
            line-height: 1.5;
            font-size: 1rem;
            
        }

        /* --- CASE STUDY SPOILER STYLES --- */
        .spoiler-container {
            margin: 15px 0;
            border-radius: 5px;
            background-color: #ffeff6;
            overflow: hidden;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
}

        .spoiler-header {
            width: 100%;
            padding: 12px 20px;
            background: none;
            border: none;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            font-family: 'Readex Pro', sans-serif;
            font-weight: 400;
            color: #ff78b2;
            font-size: 1rem;
            transition: background-color 0.5s ease, color 0.5s ease;
        }

        .spoiler-header:hover {
            background-color: #ffeff6;
        }

        .spoiler-content {
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.5s ease-out;
            background-color: #fffefe;
        }

        .spoiler-inner {
            padding: 20px;
        }

        .spoiler-container.active .spoiler-content {
            max-height: 1000px;
            /* Adjust as needed for image height */
        }

        .spoiler-container.active .spoiler-icon {
            transform: rotate(180deg);
        }

        .spoiler-icon {
            transition: transform 0.5s ease;
        }

        /* --- BUTTONS --- */
        .btn-container {
            margin: 20px 0;
            display: flex;
            gap: 15px;
            flex-wrap: wrap;
        }

        .btn {
            display: inline-block;
            padding: 12px 24px;
            font-family: 'Readex Pro', sans-serif;
            font-weight: 400;
            text-decoration: none;
            border-radius: 12px;
            transition: all 0.5s ease;
            cursor: pointer;
            font-size: 1.0rem;
            border: 0px solid transparent;
        }

        .btn-primary {
            background-color: #ff78b2;
            color: white;
        }

        .btn-primary:hover {
            background-color: #ffc4de;
            transform: translateY(-2px);
        }

        .btn-secondary {
            background-color: #fde7f0;
            border-color: #ff78b2;
            color: #ff78b2;
        }

        .btn-secondary:hover {
            background-color: #fde7f0;
            transform: translateY(-2px);
        }

        /* --- 4. CUSTOM LIST STYLES --- */
        .list-unordered, .list-ordered {
            margin: 15px 2.5em; 
            padding-left: 17px; 
        }

        .list-unordered li, .list-ordered li {
            margin-bottom: 10px;
            position: relative;
        }

        .list-unordered { list-style: none; }
        .list-unordered li::before {
            content: "•"; 
            display: inline-block;
            width: 1.2em;
            margin-left: -1.2em;
            font-weight: 800;
        }

        .list-ordered { 
            list-style: none; 
            counter-reset: section;
            /* Resetting this to 17px to match the text alignment exactly */
            padding-left: 17px; 
        }
        .list-ordered li::before {
            counter-increment: section;
            content: counter(section) ".";
            position: absolute;
            /* This moves the numbers further left so the text can stay aligned */
            left: -32px; 
            width: 25px;
            text-align: right;
        }

        /* --- NAVIGATION STYLES --- */
        .navbar {
            background-color: #ff78b2;
            color: white;
            display: flex;
            flex-direction: column;
            padding: 1rem;
            z-index: 1000;
            justify-content: space-between;
        }

        .logo {
            font-family: 'Playfair Display', serif;
            font-size: 2.5rem;
            font-weight: 600;
            text-decoration: none;
            color: white;
            margin-bottom: 1rem;
        }

        .nav-links {
            list-style: none;
            width: 100%;
        }

        .nav-item-link {
            text-decoration: none;
            color: #ffffff;
            display: block;
            padding: 0.75rem 0;
            border-bottom: 1px solid rgba(255,255,255,0.5);
            transition: color 0.5s;
            font-family: 'Readex Pro', sans-serif;
            letter-spacing: 0.25px;
        }

        .nav-item-link:hover { color: #fde7f0; }

        .nav-footer {
            font-size: 0.85rem;
            color: #fde7f0;
            padding-top: 20px;
            border-top: 1px solid rgba(255,255,255,0.5);
            margin-top: 20px;
        }

        .hamburger {
            display: none;
            cursor: pointer;
            font-size: 2.0rem;
            position: absolute;
            top: 15px;
            right: 20px;
        }


        /* --- LAYOUT UTILITIES --- */
        .main-content {
            padding: 1.5rem;
            background-color: #fde7f0;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
        }

        .content-wrap { flex: 1; }

        .row { display: flex; flex-wrap: wrap; margin: 0 -10px; }
        .col-1 { width: 100%; padding: 0 10px; margin-bottom: 20px; } /* Fixed padding from 20px to 10px */
        .col-2 { width: 50%; padding: 0 10px; margin-bottom: 20px; }
        .col-4 { width: 25%; padding: 0 10px; margin-bottom: 20px; text-align: center; }
        .col-review { width: 25%; padding: 0 10px; margin-bottom: 20px; text-align: center; }

        .card {
            background-color: #fffefe;
            padding: 1.25rem;
            border-radius: 5px;
            box-shadow: 0 2px 10px rgba(0,0,0,0.01);
            height: 100%;
        }

        img { max-width: 100%; height: auto; display: block; }

        .body-footer {
            text-align: center;
            padding: 40px 0 20px 0;
            font-size: 0.85rem;
            color: #434343;
            border-top: 1px dashed #f9cadf;
            margin-top: 40px;
        }

        /* --- RESPONSIVE CONFIGURATION --- */
        @media (max-width: 768px) {
            .navbar {
                position: fixed;
                top: 0; left: 0; width: 100%; height: 70px;
                flex-direction: row; align-items: center; justify-content: space-between;
            }
            .main-content { padding-top: 90px; }
            .logo { margin-bottom: 0; font-size: 2.0rem; }
            .hamburger { display: block; }
            .nav-links {
                position: absolute; top: 70px; left: 0; width: 100%;
                background-color: #ff78b2; display: none; padding: 1rem;
                text-align: center;
            }
            .nav-links.active { display: block; }
            .nav-footer { display: none; }
            .col-2 { width: 100%; }
            .col-4 { width: 50%; }
            .col-review { width: 100%; }
            .list-unordered, .list-ordered { margin: 15px 1em; }
        }

        @media (min-width: 769px) {
            body { display: flex; }
            .navbar { width: 350px; height: 100vh; position: fixed; }
            .main-content { margin-left: 350px; width: calc(100% - 350px); }
            .nav-links { display: block !important; }
        }
