:root {
    /* HEALTH Theme Colors */
    --tj-bg: #f2fcf5;
    --tj-surface: #ffffff;
    --tj-text-main: #1f2937;
    --tj-accent-color: #059669; /* Emerald */
    --tj-accent-hover: #047857;
    --tj-border-color: #d1fae5;
    
    /* Configured Visual Parameters */
    --font-display: 'Archivo Black', sans-serif;
    --font-body: 'Mulish', sans-serif;
    --tj-radius: 16px; /* soft */
    --tj-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15), 0 0 20px rgba(5, 150, 105, 0.05); /* deep shadow with spread */
}

/* Base resets & typography */
html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.tj-headline-txt {
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Preset A specific styles */
.tj-top-banner {
    background-color: var(--tj-surface);
    border-bottom: 4px solid var(--tj-accent-color);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.tj-action-btn {
    border-radius: 9999px; /* pill shape */
    box-shadow: 0 10px 15px -3px rgba(5, 150, 105, 0.3);
}

.tj-action-btn:hover {
    background-color: var(--tj-accent-hover) !important;
    box-shadow: var(--tj-shadow);
}

/* CSS-only Gallery Logic */
.tj-slide {
    z-index: 1;
}

.tj-main-viewport {
    padding-bottom: 100%;
}

.tj-trigger-1:checked ~ .tj-main-viewport .tj-slide-1,
.tj-trigger-2:checked ~ .tj-main-viewport .tj-slide-2,
.tj-trigger-3:checked ~ .tj-main-viewport .tj-slide-3,
.tj-trigger-4:checked ~ .tj-main-viewport .tj-slide-4 {
    opacity: 1;
    z-index: 10;
}

/* Thumbnail highlighting logic */
.tj-trigger-1:checked ~ .tj-thumb-track label[for="tj_pic_1"],
.tj-trigger-2:checked ~ .tj-thumb-track label[for="tj_pic_2"],
.tj-trigger-3:checked ~ .tj-thumb-track label[for="tj_pic_3"],
.tj-trigger-4:checked ~ .tj-thumb-track label[for="tj_pic_4"] {
    border-color: var(--tj-accent-color);
    opacity: 1;
}

.tj-thumb-lbl {
    opacity: 0.6;
}

.tj-thumb-lbl:hover {
    opacity: 1;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .tj-main-viewport {
        height: 300px; /* fixed height for mobile robustness */
    }
}