/* ====================================================================
   Lunovia Groups — Typography System
   Discipline • Hierarchy • Letter-spacing • Fluid Scale
   Syne (Display/Headings) • Inter (General UI/Base) • DM Sans (Body/Copy)
   ==================================================================== */

/* Syne - latin-ext (Turkish: Ğ, ğ, İ, ı, Ş, ş, etc.) */
@font-face {
    font-family: 'Syne';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/syne-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Syne - latin */
@font-face {
    font-family: 'Syne';
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url('../fonts/syne-latin.woff2') format('woff2'), url('../fonts/syne-normal-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Inter - latin-ext */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/inter-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Inter - latin */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/inter-latin.woff2') format('woff2'), url('../fonts/inter-normal-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* DM Sans - latin-ext */
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/dm-sans-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* DM Sans - latin */
@font-face {
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/dm-sans-latin.woff2') format('woff2'), url('../fonts/dm-sans-normal-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

body {
    font-family: var(--font-sans);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--text-primary);
    background-color: var(--bg-base);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

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

/* Headings & Display Typography -> Syne */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-display);
    color: var(--text-accent);
}

/* Fluid Typographic Scale */
.text-display-hero {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 6.5vw, 6.25rem);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.035em;
    color: var(--text-accent);
}

.text-display-large {
    font-family: var(--font-display);
    font-size: clamp(2rem, 4.5vw, 4.25rem);
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.03em;
    color: var(--text-accent);
}

.text-heading-1 {
    font-family: var(--font-display);
    font-size: clamp(1.75rem, 3.2vw, 3rem);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.025em;
    color: var(--text-accent);
}

.text-heading-2 {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.2vw, 2.25rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--text-accent);
}

.text-heading-3 {
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 1.6vw, 1.5rem);
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -0.015em;
    color: var(--text-accent);
}

/* Body Copy, Editorial Lead & Descriptions -> DM Sans */
p, .text-editorial-lead, .text-body, .entity-desc, .news-excerpt, .project-meta-desc, .team-bio {
    font-family: var(--font-body);
}

.text-editorial-lead {
    font-family: var(--font-body);
    font-size: clamp(1.15rem, 1.8vw, 1.6rem);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.01em;
    color: var(--text-secondary);
}

.text-body {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text-secondary);
}

.text-muted {
    color: var(--text-muted);
}

.text-mono {
    font-family: var(--font-mono);
    font-size: 0.825rem;
    letter-spacing: -0.01em;
}

/* Microcopy & Editorial Badges -> Inter */
.badge-editorial {
    font-family: var(--font-sans);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-secondary);
    border: 1px solid var(--border-medium);
    border-radius: var(--radius-pill);
    padding: 0.35rem 0.85rem;
    background: var(--bg-surface);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.badge-editorial::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--brand-gold);
}

.label-meta {
    font-family: var(--font-sans);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-muted);
}
