:root {
    /* LIGHT Theme */
    --h-water-bg: #FFFFFF;
    --h-water-surface: #F9FAFB;
    --h-water-tone: #FF5A5F; /* Watermelon pinkish red accent */
    --h-water-tone-hover: #E0484D;
    --h-water-ink: #111827;
    --h-water-ink-light: #4B5563;
    
    /* Typography */
    --font-display: 'Oswald', sans-serif;
    --font-body: 'Open Sans', sans-serif;
    
    /* Shapes & Shadows */
    --h-water-radius: 16px; /* soft */
    --h-water-pill: 999px; /* pill for CTA */
    --h-water-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); /* raised */
}

html {
    scroll-behavior: smooth;
}

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

/* Gallery Logic (No JS) */
.h-hidden-trigger {
    display: none;
}

.h-frame {
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    z-index: 0;
}

.h-water-main-stage { padding-bottom: 100% }

#h-snap-1:checked ~ .h-water-main-stage .h-frame-1,
#h-snap-2:checked ~ .h-water-main-stage .h-frame-2,
#h-snap-3:checked ~ .h-water-main-stage .h-frame-3,
#h-snap-4:checked ~ .h-water-main-stage .h-frame-4 {
    opacity: 1;
    z-index: 10;
}

/* Active Thumbnail Styling */
#h-snap-1:checked ~ .h-water-thumb-strip label[for="h-snap-1"],
#h-snap-2:checked ~ .h-water-thumb-strip label[for="h-snap-2"],
#h-snap-3:checked ~ .h-water-thumb-strip label[for="h-snap-3"],
#h-snap-4:checked ~ .h-water-thumb-strip label[for="h-snap-4"] {
    border-color: var(--h-water-tone);
    opacity: 1;
}

.h-thumb-node {
    opacity: 0.7;
    transition: all 0.2s ease;
}

.h-thumb-node:hover {
    opacity: 1;
}

/* CTA Button Interaction */
.h-water-action-trigger {
    box-shadow: 0 10px 15px -3px rgba(255, 90, 95, 0.3), 0 4px 6px -2px rgba(255, 90, 95, 0.15);
}

.h-water-action-trigger:hover {
    background-color: var(--h-water-tone-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 20px 25px -5px rgba(255, 90, 95, 0.4), 0 10px 10px -5px rgba(255, 90, 95, 0.2);
}

/* Base resets & adjustments */
p {
    margin-bottom: 0.75em;
}