        /* ----- SCULPTURE CAST PAGE SPECIFIC STYLES ----- */
        .cast-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 20px 0 40px 0;
            width: 100%;
            max-width: 962px;
            margin: 0 auto;
        }

        .cast-title {
            font-family: Garamond, 'Times New Roman', serif;
            font-size: 36px;
            color: #cc3300;
            text-align: center;
            margin-bottom: 30px;
            font-weight: normal;
            letter-spacing: 1px;
        }

        /* ----- STEP ROW (image on left, text on right) ----- */
        .step-row {
            display: flex;
            align-items: flex-start;
            gap: 24px;
            width: 100%;
            margin-bottom: 25px;
            padding: 0 15px;
        }

        /* the container defining the box */
        .step-image-small {
            flex: 0 0 30%;      /these two control the size of the pictures */
            max-width: 30%; 
            position: relative;
        }
        
        /* how the image behaves inside the container */
        .step-image-small img {
            display: block;
            width: 100%;
            height: auto;
            border: 1px solid #333333;
            border-radius: 2px;
        }

        /* the container defining the box */
        .step-image-large {
            flex: 0 0 65%;      /these two control the size of the pictures */
            max-width: 65%; 
            position: relative;
        }
        
        /* how the image behaves inside the container */
        .step-image-large img {
            display: block;
            width: 100%;
            height: auto;
            border: 1px solid #333333;
            border-radius: 2px;
        }


        /* ----- BADGE ON IMAGE ----- */
        .has-badge .badge {
            position: absolute;
            bottom: 8px;
            background-color: #888888;
            color: #ffffff;
            font-family: 'Lato', sans-serif;
            font-size: 13px;
            font-weight: bold;
            padding: 3px 12px;
            border-radius: 3px;
            letter-spacing: 0.5px;
            text-transform: uppercase;
            box-shadow: 0 2px 6px rgba(0,0,0,0.4);
        }
        .has-badge .badge.left {
            left: 8px;
        }
        .has-badge .badge.right {
            right: 8px;
        }
        .has-badge .badge.center {
            left: 50%;
            transform: translateX(-50%);
        }


        /* Two images side by side (same width as single images) */
        .step-image-pair {
            flex: 0 0 60%;  /* these two parameters determine the size of the picture */
            max-width: 60%; 
            display: flex;
            gap: 10px;
            position: relative; 
        }
        .step-image-pair img {
            display: block;
            width: 50%;
            height: auto;
            border: 1px solid #333333;
            border-radius: 2px;
        }

        .step-text {
            flex: 1;
            color: #ffffff;
            font-family: Garamond, "Times New Roman", Times, serif;
            font-size: 20px;
            line-height: 1.1;
            padding-top: 12px; /* top margin of the text */
        }
        .step-text a {
            color: #66b3ff;
            text-decoration: none;
        }
        .step-text a:hover {
            text-decoration: underline;
        }

        .page-container {
            display: flex;
            flex-direction: column;
            align-items: center;
        }
