/* ==========================================================================
   BASE & TYPOGRAPHY CORE - TIỆM MAY ĐỎ
   ========================================================================== */
:root {
    --primary: #8a181a;
    --primary-light: #a32225;
    --bg-cream: #fcfbfa;
    --bg-sand: #f4f1ea;
    --text-dark: #1c1a17;
    --text-muted: #6e6a62;
    --border-color: #e5e0d8;
    --font-serif: 'Playfair Display', serif;
    --font-sans: 'Inter', sans-serif;
    --transition: all 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-sans);
    color: var(--text-dark);
    background-color: var(--bg-cream);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

h1, h2, h3, h4, .logo {
    font-family: var(--font-serif);
    font-weight: 400;
    letter-spacing: -0.02em;
}

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

img {
    max-width: 100%;
    display: block;
}

.container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
}

.section {
    padding: 120px 0;
}

.bg-light {
    background: var(--bg-sand);
}

.section-title {
    text-align: center;
    font-size: 2.8rem;
    margin-bottom: 70px;
    font-weight: 400;
    color: var(--text-dark);
    position: relative;
}

.section-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 1px;
    background: var(--primary);
    margin: 20px auto 0;
}

.subsection-title {
    text-align: center;
    font-size: 2.2rem;
    margin-bottom: 50px;
}

/* Base Responsive */
@media (max-width: 1024px) {
    .container { padding: 0 30px; }
}

@media (max-width: 768px) {
    .container { padding: 0 20px; }
    .section { padding: 70px 0; }
    .section-title { font-size: 1.8rem; margin-bottom: 40px; }
    .section-title::after { margin-top: 15px; }
    .subsection-title { font-size: 1.5rem; margin-bottom: 30px; }
}