/* The PR Princess — global styles: brand variables, reset, base */

:root {
    /* Brand palette — editorial rose / gold / plum on warm blush */
    --color-primary: #C14D72;        /* rose */
    --color-primary-dark: #A23A5B;
    --color-primary-soft: #F4D6DF;
    --color-accent: #C49A54;         /* gold */
    --color-accent-dark: #A9823F;
    --color-plum: #2A1B24;           /* deep contrast / dark sections */
    --color-plum-soft: #402A36;

    --color-bg: #FBF5F2;             /* warm blush cream */
    --color-bg-alt: #FFFFFF;
    --color-bg-tint: #F6E9E6;
    --color-text: #3A2C32;
    --color-text-muted: #8A7880;
    --color-line: #ECDCD6;

    /* Legacy aliases (kept so template CSS never renders unstyled) */
    --color-primary-light: var(--color-primary-soft);
    --color-bg-dark: var(--color-bg);
    --color-bg-medium: var(--color-bg-alt);
    --color-bg-darker: var(--color-plum);
    --color-text-light: var(--color-text);
    --color-text-medium: #6C5B62;
    --color-text-muted-2: var(--color-text-muted);
    --color-text-dark: var(--color-text-muted);

    /* Spacing */
    --spacing-xs: 0.5rem;
    --spacing-sm: 1rem;
    --spacing-md: 2rem;
    --spacing-lg: 3rem;
    --spacing-xl: 4rem;

    /* Typography */
    --font-primary: 'Nunito Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --font-heading: 'Playfair Display', Georgia, 'Times New Roman', serif;

    /* Border radius */
    --radius-sm: 8px;
    --radius-md: 14px;
    --radius-lg: 22px;
    --radius-full: 50px;

    /* Shadows */
    --shadow-sm: 0 8px 24px rgba(42, 27, 36, 0.08);
    --shadow-md: 0 16px 40px rgba(42, 27, 36, 0.10);
    --shadow-lg: 0 28px 60px rgba(42, 27, 36, 0.14);

    /* Transitions */
    --transition-fast: 0.2s ease;
    --transition-normal: 0.3s ease;
    --transition-slow: 0.6s ease;

    --section-padding-y: 84px;
    --section-padding-x: 2rem;
}

@media (max-width: 768px) {
    :root {
        --section-padding-y: 56px;
        --section-padding-x: 1.25rem;
    }
}

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

html { scroll-behavior: smooth; overflow-x: hidden; }

body {
    font-family: var(--font-primary);
    font-size: 17px;
    font-weight: 400;
    background: var(--color-bg);
    color: var(--color-text);
    line-height: 1.65;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
}

section { padding: var(--section-padding-y) var(--section-padding-x); overflow: visible; }

a { color: var(--color-primary); }

img { max-width: 100%; display: block; }

.container { max-width: 1140px; margin: 0 auto; }
.container-narrow { max-width: 780px; margin: 0 auto; }

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
