/* ============================================
   MST Singapore — Base v3
   ============================================ */

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-padding-top: var(--header-height);
}

body {
    font-family: var(--font-sans);
    font-size: var(--text-base);
    line-height: var(--leading-normal);
    color: var(--color-text);
    background: var(--color-bg);
    overflow-x: hidden;
    min-height: 100vh;
}

/* Subtle warm tone overlay */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
}

.container {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 clamp(1.25rem, 5vw, 2.5rem);
    width: 100%;
}
.container--wide { max-width: var(--container-wide); }
.container--narrow { max-width: var(--container-narrow); }

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: var(--leading-tight);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text);
}

h1 { font-size: var(--text-hero); font-weight: 800; letter-spacing: var(--tracking-tighter); }
h2 { font-size: clamp(var(--text-3xl), 4.5vw, var(--text-5xl)); font-weight: 700; }
h3 { font-size: clamp(var(--text-xl), 2.5vw, var(--text-2xl)); font-weight: 600; }
h4 { font-size: var(--text-lg); font-weight: 600; }

p {
    color: var(--color-text-secondary);
    max-width: 60ch;
}

a { color: inherit; text-decoration: none; transition: color var(--transition-fast); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }

::selection {
    background: var(--color-primary);
    color: var(--color-bg);
}

:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 3px;
    border-radius: var(--radius-sm);
}

/* Section Spacing */
.section {
    padding: var(--space-10) 0;
    position: relative;
}
@media (max-width: 768px) {
    .section { padding: var(--space-6) 0; }
}

/* Section Header */
.section-header {
    text-align: center;
    margin-bottom: var(--space-6);
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

.section-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: var(--tracking-widest);
    text-transform: uppercase;
    color: var(--color-primary);
    background: rgba(0, 212, 255, 0.06);
    border: 1px solid rgba(0, 212, 255, 0.12);
    padding: 6px 18px;
    border-radius: var(--radius-full);
    margin-bottom: var(--space-3);
}

.section-title {
    margin-bottom: var(--space-2);
    color: var(--color-text);
}

.section-subtitle {
    font-size: var(--text-lg);
    color: var(--color-text-tertiary);
    max-width: 540px;
    margin: 0 auto;
    line-height: var(--leading-relaxed);
}

.section-cta {
    text-align: center;
    margin-top: var(--space-4);
}

/* Site structure */
.site {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.site-content { flex: 1; }

.sr-only {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border-width: 0;
}
