

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    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;
    src: url('../assets/fonts/montserrat/montserrat-latin-300-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
    src: url('../assets/fonts/montserrat/montserrat-latin-ext-300-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    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;
    src: url('../assets/fonts/montserrat/montserrat-latin-300-italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: italic;
    font-weight: 300;
    font-display: swap;
    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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
    src: url('../assets/fonts/montserrat/montserrat-latin-ext-300-italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    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;
    src: url('../assets/fonts/montserrat/montserrat-latin-400-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
    src: url('../assets/fonts/montserrat/montserrat-latin-ext-400-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    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;
    src: url('../assets/fonts/montserrat/montserrat-latin-400-italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
    src: url('../assets/fonts/montserrat/montserrat-latin-ext-400-italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    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;
    src: url('../assets/fonts/montserrat/montserrat-latin-500-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
    src: url('../assets/fonts/montserrat/montserrat-latin-ext-500-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    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;
    src: url('../assets/fonts/montserrat/montserrat-latin-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
    src: url('../assets/fonts/montserrat/montserrat-latin-ext-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    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;
    src: url('../assets/fonts/montserrat/montserrat-latin-700-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
    src: url('../assets/fonts/montserrat/montserrat-latin-ext-700-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Cairo';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDCF,U+FDF0-FE7F,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EC70-1ECBF,U+1ED00-1ED4F,U+1EE00-1EE7F;
    src: url('../assets/fonts/cairo/cairo-arabic-300-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Cairo';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDCF,U+FDF0-FE7F,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EC70-1ECBF,U+1ED00-1ED4F,U+1EE00-1EE7F;
    src: url('../assets/fonts/cairo/cairo-arabic-400-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Cairo';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDCF,U+FDF0-FE7F,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EC70-1ECBF,U+1ED00-1ED4F,U+1EE00-1EE7F;
    src: url('../assets/fonts/cairo/cairo-arabic-500-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Cairo';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDCF,U+FDF0-FE7F,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EC70-1ECBF,U+1ED00-1ED4F,U+1EE00-1EE7F;
    src: url('../assets/fonts/cairo/cairo-arabic-600-normal.woff2') format('woff2');
}
@font-face {
    font-family: 'Cairo';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    unicode-range: U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+FB50-FDCF,U+FDF0-FE7F,U+102E0-102FB,U+10E60-10E7E,U+10EFD-10EFF,U+1EC70-1ECBF,U+1ED00-1ED4F,U+1EE00-1EE7F;
    src: url('../assets/fonts/cairo/cairo-arabic-700-normal.woff2') format('woff2');
}

:root {

    --bg-color: #0b0910;
    --bg-header: rgba(11, 9, 16, 0.8);
    --text-color: #f6f5fa;
    --text-muted: rgba(246, 245, 250, 0.65);
    --text-faint: rgba(246, 245, 250, 0.3);
    --border-light: rgba(246, 245, 250, 0.12);
    --border-faint: rgba(246, 245, 250, 0.06);
    --card-bg: rgba(246, 245, 250, 0.03);
    --input-bg: rgba(0, 0, 0, 0.5);

    --brand-main: #a855f7;

    --brand-glow: rgba(168, 85, 247, 0.13);
}

html.light-theme {

    --bg-color: #e3d9f3; 
    --bg-header: rgba(227, 217, 243, 0.85);
    --text-color: #1a1625; 
    --text-muted: rgba(26, 22, 37, 0.75);
    --text-faint: rgba(26, 22, 37, 0.35);
    
    --border-light: rgba(255, 255, 255, 0.6);
    --border-faint: rgba(255, 255, 255, 0.3);
    --card-bg: rgba(255, 255, 255, 0.55); 
    --input-bg: rgba(255, 255, 255, 0.8);

    --brand-main: #7c3aed; 
    --brand-glow: rgba(124, 58, 237, 0.18); 
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    overflow: hidden; 
    user-select: none; 
    opacity: 1;
    transition: background-color 0.5s ease, color 0.5s ease, opacity 0.2s ease;
}

html.fonts-loading body {
    opacity: 0;
}

.font-serif {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
}

:lang(ar), [dir="rtl"] body, html[dir="rtl"] body {
    font-family: 'Cairo', sans-serif;
}

[dir="rtl"] .font-serif {
    font-family: 'Cairo', sans-serif;
}

[dir="rtl"] .italic {
    font-style: normal;
}

.lang-btn[aria-pressed="true"] {
    color: var(--brand-main);
}
.lang-btn[aria-pressed="false"] {
    color: var(--text-muted);
}
.lang-btn:hover {
    color: var(--brand-main);
}

.ltr-isolate {
    direction: ltr;
    unicode-bidi: isolate;
}

.logo-for-light {
    display: none;
}
html.light-theme .logo-for-light {
    display: block;
}
html.light-theme .logo-for-dark {
    display: none;
}

::-webkit-scrollbar { 
    display: none; 
}

.ambient-glow {
    position: fixed; 
    width: 45vw;
    height: 45vw;
    background: radial-gradient(circle, var(--brand-glow) 0%, rgba(11,9,16,0) 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    pointer-events: none; 
    z-index: 0;
    transition: left 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), top 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

@keyframes cardFadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* MOBİL DÜZELTMELERİ */

/* Mobil tarayıcılarda adres çubuğu açılıp kapanınca 100vh zıplıyor;
   100dvh (dynamic viewport height) bunu önlüyor. Eski tarayıcılar
   dvh'yi tanımadığı için 100vh satırı olduğu gibi yedek kalıyor. */
.h-screen {
    height: 100vh;
    height: 100dvh;
}

/* Masaüstündeki "sabit ekran, bölüm bölüm kayan" mantığı farklı
   mobil ekran boylarında farklı miktarda içerikle asla tam
   oturmuyordu. Mobilde bunun yerine sayfa DOĞAL olarak kayar;
   header ve footer sabit kalır, bölümler alt alta normal akışta
   dizilir. Masaüstünde (768px ve üzeri) hiçbir şey değişmiyor. */
@media (max-width: 767px) {
    .ambient-glow {
        display: none;
    }
    body {
        display: block !important;
        height: auto !important;
        min-height: 100dvh;
        overflow-y: auto !important;
        overflow-x: hidden;
    }
    header {
        position: fixed !important;
        top: 0;
        left: 0;
        right: 0;
    }
    footer {
        position: fixed !important;
        bottom: 0;
        left: 0;
        right: 0;
    }
    main {
        display: block !important;
        position: static !important;
        height: auto !important;
        overflow: visible !important;
        padding-top: 5.5rem;
        padding-bottom: 5.5rem;
    }
    .page-section {
        position: static !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        pointer-events: auto !important;
        height: auto !important;
        min-height: auto;
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
        border-bottom: 1px solid var(--border-faint);
        scroll-margin-top: 5.5rem;
    }
    .page-section:last-of-type {
        border-bottom: none;
    }
    #sec-0 {
        min-height: calc(100dvh - 11rem);
    }
}