:root {
    /* Brand Colors - Premium Travel Aesthetic */
    --dst-primary: #06b6d4;
    /* Cyan-500 */
    --dst-primary-dark: #0891b2;
    /* Cyan-600 */
    --dst-accent: #f59e0b;
    /* Amber-500 for subtle highlights */

    /* Header Specifics */
    --dst-header-bg-solid: rgba(255, 255, 255, 0.98);
    --dst-header-text: #334155;
    /* Slate-700 */
    --dst-header-text-hover: #06b6d4;
    /* Cyan-500 */

    /* Footer Specifics */
    --dst-footer-bg: #0f172a;
    /* Slate-900 */
    --dst-footer-text: #94a3b8;
    /* Slate-400 */
    --dst-footer-heading: #f8fafc;
    /* Slate-50 */
    --dst-footer-border: #1e293b;
    /* Slate-800 */

    /* Fonts */
    --dst-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

    /* Padding */
    --dst-container-padding: 1.5rem;
    --dst-section-padding: 5rem;
}

/* Typography System */
.dst-container {
    width: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--dst-container-padding);
    padding-right: var(--dst-container-padding);
}

.dst-section {
    padding-top: var(--dst-section-padding);
    padding-bottom: var(--dst-section-padding);
}

.dst-title-lg {
    font-size: 2.5rem;
    line-height: 1.2;
    font-weight: 800;
    color: var(--dst-header-text);
    margin-bottom: 1.5rem;
}

.dst-title-md {
    font-size: 2rem;
    line-height: 1.3;
    font-weight: 700;
    color: var(--dst-header-text);
    margin-bottom: 1rem;
}

.dst-text-lg {
    font-size: 1.125rem;
    line-height: 1.75;
    color: #475569;
    /* Slate-600 */
}

.dst-text {
    font-size: 1rem;
    line-height: 1.6;
    color: #64748b;
    /* Slate-500 */
}

@media (min-width: 768px) {
    .dst-title-lg {
        font-size: 3.5rem;
    }

    .dst-title-md {
        font-size: 2.5rem;
    }
}

/* Utilities */
.text-gradient {
    background: linear-gradient(135deg, var(--dst-primary) 0%, var(--dst-primary-dark) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}