/* 
   IN-NO-V8 Typography System 
   Integrated for ART Theme - Logo Scaling Fix (v2.2)
*/

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Playfair+Display:ital,wght@1,300&family=Montserrat:wght@900&display=swap');

:root {
    --bg-navy: #0E182A;
    --main-letters: #002f4c;
    --accent-highlight: #8FAADC;
    --white: #ffffff;
}

/* GLOBAL HEADER BASE */
h1, h2, .bm-title {
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: -0.04em !important;
    line-height: 0.9 !important;
    margin-bottom: 1.5rem !important;
    
    background: linear-gradient(180deg, #1e3a8a 0%, var(--main-letters) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    
    position: relative;
    display: inline-block;
    max-width: 100%;
    padding: 0 0.05em;
    text-align: inherit;
    isolation: isolate;
}

h1.stacked, h2.stacked {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0 !important;
}

.serif-accent {
    font-family: 'Playfair Display', serif !important;
    font-weight: 300 !important;
    font-style: italic !important;
    text-transform: none !important;
    color: var(--accent-highlight) !important;
    letter-spacing: -0.02em !important;
    position: relative;
    z-index: 10;
    display: inline-block !important;
    transform: translateY(0);
    
    mix-blend-mode: multiply !important; 
    opacity: 1 !important;
    
    -webkit-text-fill-color: var(--accent-highlight) !important;
    background-clip: initial !important;
    background: none !important;
}

.stacked .serif-accent {
    margin-bottom: -0.15em !important; 
    transform: translateY(0.12em) !important; 
    z-index: 10;
}

.headline-part {
    position: relative;
    z-index: 5;
    display: block;
    background: linear-gradient(180deg, #1e3a8a 0%, var(--main-letters) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
}

h1:not(.stacked) .serif-accent, h2:not(.stacked) .serif-accent {
    margin-right: -0.05em;
    mix-blend-mode: normal !important;
}

/* INLINE LOGO REPLACEMENT - PRECISION SCALING (v2.2) */
.innov8-inline-logo {
    display: inline-block !important;
    height: 1.75em !important; /* Heavily increased to compensate for internal graphic padding */
    width: auto !important;
    max-height: 1.75em !important; 
    max-width: none !important;
    vertical-align: middle !important;
    margin: 0 0.12em !important;
    position: relative !important;
    top: -0.06em !important; /* Visual baseline correction */
    transition: transform 0.2s ease;
    border: none !important;
    background: transparent !important;
}

.innov8-logo-wrapper {
    display: inline !important;
    vertical-align: baseline !important;
}

/* Hover effect for clickable logos */
a .innov8-inline-logo:hover {
    transform: scale(1.05);
}

/* Header specific overrides */
h1 .innov8-inline-logo, h2 .innov8-inline-logo, .bm-title .innov8-inline-logo {
    height: 1.6em !important;
    max-height: 1.6em !important;
    top: -0.03em !important;
}
