/*
 * Teksan teması — açık, sıcak tonlu kurumsal kariyer görünümü.
 *
 * Bu dosya iki iş yapar:
 *  1) ft-* sınıfları ile temanın kendi sayfa gövdesini biçimlendirir,
 *  2) paylaşılan header/footer'ı (site.css) açık görünüme uyarlar.
 */

:root {
    --ft-text: var(--theme-text, #3d3428);
    --ft-muted: var(--theme-muted, #7a7268);
    --ft-heading: var(--theme-heading, #1c1917);
    --ft-accent: var(--theme-primary, #c45c26);
    --ft-bg: var(--theme-bg-alt, #f7f4ef);
    --ft-bg-alt: var(--theme-bg-alt, #fffdf9);
    --ft-surface: color-mix(in srgb, var(--ft-heading) 4%, transparent);
    --ft-border: color-mix(in srgb, var(--ft-heading) 10%, transparent);
    --ft-hero-bg: var(--theme-primary, #c45c26);
    --ft-hero-fg: #ffffff;
    --ft-job-hero-bg: var(--theme-bg, var(--theme-primary, #c45c26));
    --ft-radius: 16px;
    --ft-font-display: var(--theme-font-family, "Segoe UI", "Helvetica Neue", sans-serif);
    --ft-font-body: var(--theme-font-family, "Segoe UI", "Helvetica Neue", sans-serif);
}

/* ---------- Temel ---------- */

.ft-body {
    background: var(--ft-bg);
    color: var(--ft-text);
    font-family: var(--ft-font-body);
}

.ft-body .main-content {
    padding-top: 0; /* hero tam ekran; ust bosluk hero'nun kendi padding'inde */
    min-height: auto;
}

.ft-body h1,
.ft-body h2,
.ft-body h3 {
    font-family: var(--ft-font-display);
    letter-spacing: -0.02em;
    color: var(--ft-heading);
}

/* ---------- Paylaşılan header/footer override ---------- */

.ft-body .navbar-custom {
    background-color: color-mix(in srgb, var(--ft-bg-alt) 88%, transparent);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: none;
    border-bottom: 1px solid var(--ft-border);
}

.ft-body .nav-link {
    color: var(--ft-muted);
}

.ft-body .nav-link:hover,
.ft-body .nav-link.active {
    color: var(--ft-text);
}

.ft-body .navbar-toggler {
    border-color: var(--ft-border);
}

.ft-body .navbar-toggler-icon {
    filter: none;
}

.ft-body .user-profile-trigger,
.ft-body #userFullNameTrigger {
    color: var(--ft-text);
}

.ft-body footer {
    background-color: var(--ft-bg-alt);
    border-top: 1px solid var(--ft-border);
    color: var(--ft-muted);
    margin-top: 0;
}

.ft-body footer p,
.ft-body .footer-social-label {
    color: var(--ft-muted);
}

.ft-body .mobile-bottom-nav {
    background: color-mix(in srgb, var(--ft-bg-alt) 96%, transparent);
    border-top: 1px solid var(--ft-border);
}

.ft-body .mobile-nav-item,
.ft-body .mobile-nav-item i {
    color: var(--ft-muted);
}

.ft-body .mobile-nav-item.active,
.ft-body .mobile-nav-item.active i {
    color: var(--ft-accent);
}

/* ---------- Ortak parçalar ---------- */

.ft-eyebrow {
    display: inline-block;
    font-family: var(--ft-font-display);
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: var(--ft-accent);
    margin-bottom: .75rem;
}

.ft-section {
    padding: 6rem 0;
}

.ft-section-alt {
    background: var(--ft-bg-alt);
}

.ft-life {
    scroll-margin-top: 5.5rem;
}

.ft-section-head {
    margin-bottom: 2.5rem;
}

.ft-section-title {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    font-weight: 700;
    color: var(--ft-heading);
    margin: 0;
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.ft-count-badge {
    font-family: var(--ft-font-body);
    font-size: 1rem;
    font-weight: 600;
    padding: .2rem .7rem;
    border-radius: 999px;
    background: var(--ft-surface);
    border: 1px solid var(--ft-border);
    color: var(--ft-accent);
}

.ft-panel {
    background: var(--ft-surface);
    border: 1px solid var(--ft-border);
    border-radius: var(--ft-radius);
    padding: 1.75rem;
}

/* ---------- Hero ---------- */

.ft-hero {
    position: relative;
    box-sizing: border-box;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: safe center;
    overflow: hidden;
    /* Firma tasarım gradyanı değil; temayı kullanan her firmada aynı zemin. */
    background: var(--ft-hero-bg);
    /* Üst boşluk yalnızca sabit menüyü geçer; blok ekranın görünür ortasına oturur. */
    padding: 5.5rem 0 2.5rem;
}

.ft-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .1;
    background-image: linear-gradient(rgba(255, 255, 255, .7) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255, 255, 255, .7) 1px, transparent 1px);
    background-size: 64px 64px;
}

.ft-hero-glow {
    display: none;
}

.ft-hero-rings {
    position: absolute;
    right: -8%;
    top: 12%;
    width: 520px;
    height: 520px;
    pointer-events: none;
}

.ft-hero-rings::before,
.ft-hero-rings::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .16);
}

.ft-hero-rings::after {
    inset: 12%;
    border-color: rgba(255, 255, 255, .16);
}

.ft-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    width: 100%;
    gap: 3.5rem;
}

.ft-hero-content {
    flex: 1 1 54%;
    color: #fff;
    animation: ftHeroIn .7s ease both;
}

.ft-body .ft-hero .ft-eyebrow,
.ft-body .ft-hero h1,
.ft-body .ft-hero h2,
.ft-body .ft-hero h3,
.ft-body .ft-hero p,
.ft-hero-title {
    color: #fff;
}

.ft-hero-title {
    font-size: clamp(2.5rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 1.05;
    margin: 0 0 1.25rem;
}

.ft-hero .ft-hero-title {
    margin-bottom: .4rem;
}

.ft-body .ft-hero .ft-eyebrow.ft-hero-kicker {
    color: #dd8d25;
    font-size: clamp(1rem, 1.7vw, 1.25rem);
    letter-spacing: .14em;
    margin: 0 0 1.5rem;
}

.ft-hero-lead {
    font-size: clamp(1rem, 1.6vw, 1.25rem);
    line-height: 1.7;
    max-width: 48ch;
    margin: 0 0 1.35rem;
    color: #fff;
    opacity: .9;
}

.ft-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 0 0 2rem;
}

.ft-hero-chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .4rem .75rem;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 600;
    color: var(--ft-heading);
    background: color-mix(in srgb, var(--ft-bg-alt) 94%, transparent);
    border: 1px solid rgba(255, 255, 255, .7);
    box-shadow: 0 6px 16px rgba(0, 0, 0, .12);
}

.ft-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.ft-hero-snapshot {
    flex: 0 1 380px;
    display: flex;
    flex-direction: column;
    padding: 1.5rem 1.4rem 1.25rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .26);
    box-shadow: 0 24px 60px rgba(0, 0, 0, .18);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    color: #fff;
    animation: ftHeroIn .7s ease .1s both;
}

.ft-snap-main {
    margin-bottom: 1.15rem;
}

.ft-snap-value {
    display: block;
    font-family: var(--ft-font-display);
    font-size: clamp(3rem, 5vw, 4.25rem);
    font-weight: 700;
    line-height: .95;
    letter-spacing: -.04em;
}

.ft-snap-kicker {
    display: block;
    margin-top: .35rem;
    font-size: .82rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    opacity: .78;
}

.ft-snap-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
    margin-bottom: 1.2rem;
}

.ft-snap-metric {
    padding: .7rem .55rem;
    border-radius: 12px;
    background: rgba(255, 255, 255, .1);
    text-align: center;
}

.ft-snap-metric strong {
    display: block;
    font-size: 1.2rem;
    line-height: 1.1;
}

.ft-snap-metric span {
    display: block;
    margin-top: .2rem;
    font-size: .68rem;
    letter-spacing: .02em;
    opacity: .78;
}

.ft-snap-list-label {
    margin: 0 0 .55rem;
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    opacity: .7;
}

.ft-snap-jobs {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ft-snap-jobs li + li {
    margin-top: .4rem;
}

.ft-snap-jobs a {
    display: block;
    padding: .65rem .7rem;
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .12);
    transition: background-color .2s ease, transform .2s ease;
}

.ft-snap-jobs a:hover {
    background: rgba(255, 255, 255, .16);
    transform: translateX(2px);
}

.ft-snap-job-title {
    display: block;
    font-size: .92rem;
    font-weight: 600;
    line-height: 1.3;
}

.ft-snap-job-meta {
    display: block;
    margin-top: .15rem;
    font-size: .75rem;
    opacity: .72;
}

.ft-snap-empty {
    margin: 0 0 .75rem;
    font-size: .88rem;
    line-height: 1.5;
    opacity: .8;
}

.ft-snap-link {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-top: auto;
    padding-top: 1rem;
    font-size: .88rem;
    font-weight: 600;
    color: inherit;
    text-decoration: none;
}

.ft-snap-link:hover {
    color: inherit;
    opacity: .85;
}

@keyframes ftHeroIn {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: none; }
}

.ft-scroll-hint {
    position: absolute;
    left: 50%;
    bottom: 2rem;
    transform: translateX(-50%);
    width: 26px;
    height: 42px;
    border: 2px solid color-mix(in srgb, var(--ft-heading) 35%, transparent);
    border-radius: 14px;
    z-index: 1;
}

.ft-scroll-hint span {
    position: absolute;
    left: 50%;
    top: 8px;
    width: 4px;
    height: 8px;
    margin-left: -2px;
    border-radius: 2px;
    background: rgba(255, 255, 255, .8);
    animation: ftScrollHint 1.8s ease-in-out infinite;
}

@keyframes ftScrollHint {
    0% { transform: translateY(0); opacity: 1; }
    70% { transform: translateY(16px); opacity: 0; }
    100% { transform: translateY(0); opacity: 0; }
}

/* ---------- Butonlar ---------- */

.ft-btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .85rem 1.6rem;
    border-radius: 999px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.ft-btn:hover {
    transform: translateY(-2px);
}

.ft-btn-primary {
    background: var(--ft-accent);
    color: #fff;
    box-shadow: 0 12px 30px color-mix(in srgb, var(--ft-accent) 28%, transparent);
}

.ft-btn-primary:hover {
    color: #fff;
    box-shadow: 0 18px 40px color-mix(in srgb, var(--ft-accent) 38%, transparent);
}

/* Hero her firmada bakır zemin; birincil buton aynı renkte kaybolmasın. */
.ft-hero .ft-btn-primary {
    background: var(--ft-hero-fg);
    color: var(--ft-hero-bg);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}

.ft-hero .ft-btn-primary:hover {
    color: var(--ft-hero-bg);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
}

.ft-hero .ft-btn-count {
    background: var(--ft-hero-bg);
    color: var(--ft-hero-fg);
}

.ft-btn-ghost {
    background: var(--ft-bg-alt);
    border-color: var(--ft-border);
    color: var(--ft-heading);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--ft-heading) 14%, transparent);
}

.ft-btn-ghost:hover {
    background: #ffffff;
    color: var(--ft-heading);
    box-shadow: 0 14px 28px color-mix(in srgb, var(--ft-heading) 18%, transparent);
}

.ft-btn-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 .4rem;
    border-radius: 999px;
    background: #fff;
    color: var(--ft-accent);
    font-size: .8rem;
}

/* ---------- Hakkımızda ---------- */

.ft-story-section {
    position: relative;
}

.ft-story-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
    gap: 3.25rem;
    align-items: start;
}

.ft-story-copy {
    position: relative;
    padding-left: 1.35rem;
}

.ft-story-copy::before {
    content: "";
    position: absolute;
    left: 0;
    top: .4rem;
    bottom: .4rem;
    width: 3px;
    border-radius: 99px;
    background: linear-gradient(180deg, var(--ft-accent) 0%, color-mix(in srgb, var(--ft-accent) 8%, transparent) 100%);
}

.ft-story-copy .ft-section-head {
    margin-bottom: 1.5rem;
}

.ft-story-body {
    color: var(--ft-text);
    font-size: 1.05rem;
    line-height: 1.85;
    max-height: none;
    overflow: visible;
}

.ft-story-body p {
    margin-bottom: 1.15rem;
    color: var(--ft-muted);
}

.ft-story-body p:first-child {
    font-size: 1.12rem;
    color: var(--ft-text);
}

.ft-story-body strong,
.ft-story-body h1,
.ft-story-body h2,
.ft-story-body h3 {
    color: var(--ft-heading);
    font-weight: 700;
}

.ft-story-aside {
    position: sticky;
    top: 6.5rem;
}

.ft-media {
    position: relative;
    z-index: 1;
    border: 0;
    margin-bottom: 0;
    overflow: visible;
}

.ft-media::before {
    content: "";
    position: absolute;
    inset: 1.15rem -0.9rem -0.9rem 1.15rem;
    border-radius: 22px;
    background: var(--ft-accent);
    opacity: .18;
    z-index: 0;
}

.ft-media img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
    border-radius: 22px;
    box-shadow: 0 28px 60px color-mix(in srgb, var(--ft-heading) 14%, transparent);
}

.ft-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    position: relative;
    z-index: 2;
    margin: -1.75rem 1rem 0;
    background: var(--ft-bg-alt);
    border: 1px solid var(--ft-border);
    border-radius: 18px;
    box-shadow: 0 18px 40px color-mix(in srgb, var(--ft-heading) 10%, transparent);
    overflow: hidden;
}

.ft-stat {
    position: relative;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 1.15rem .7rem 1.2rem;
    text-align: center;
}

.ft-stat + .ft-stat::before {
    content: "";
    position: absolute;
    left: 0;
    top: 22%;
    bottom: 22%;
    width: 1px;
    background: var(--ft-border);
}

.ft-stat-icon {
    display: block;
    margin: 0 auto .45rem;
    font-size: .85rem;
    color: var(--ft-accent);
}

.ft-stat-value {
    display: block;
    font-family: var(--ft-font-display);
    font-size: 1.85rem;
    font-weight: 700;
    color: var(--ft-accent);
    line-height: 1.05;
    letter-spacing: -.03em;
}

.ft-stat-label {
    display: block;
    margin-top: .3rem;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ft-muted);
}

/* ---------- Filtreler ---------- */

.ft-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
}

.ft-field {
    position: relative;
    flex: 1 1 200px;
}

.ft-field-search {
    flex: 2 1 280px;
}

.ft-field i {
    position: absolute;
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: var(--ft-muted);
    pointer-events: none;
}

.ft-field input,
.ft-field select {
    width: 100%;
    padding: .85rem 1.1rem;
    border-radius: 999px;
    background: var(--ft-surface);
    border: 1px solid var(--ft-border);
    color: var(--ft-text);
    outline: none;
    transition: border-color .2s ease;
    appearance: none;
}

.ft-field-search input {
    padding-left: 2.75rem;
}

.ft-field input:focus,
.ft-field select:focus {
    border-color: var(--ft-accent);
}

.ft-field input::placeholder {
    color: var(--ft-muted);
}

/* Koyu zeminde acilir liste secenekleri okunur kalsin */
.ft-field select option {
    background: var(--ft-bg-alt);
    color: var(--ft-text);
}

.ft-sort {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .28rem;
    border-radius: 999px;
    background: var(--ft-surface);
    border: 1px solid var(--ft-border);
}

.ft-sort-btn {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--ft-muted);
    font-weight: 600;
    font-size: .9rem;
    line-height: 1;
    padding: .7rem 1.15rem;
    border-radius: 999px;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.ft-sort-btn:hover {
    color: var(--ft-text);
}

.ft-sort-btn.is-active {
    background: var(--ft-accent);
    color: #fff;
    box-shadow: 0 8px 18px color-mix(in srgb, var(--ft-accent) 28%, transparent);
}

/* ---------- Pozisyon listesi ---------- */

.ft-job-list {
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

.ft-job {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.5rem 1.75rem;
    border-radius: var(--ft-radius);
    background: var(--ft-surface);
    border: 1px solid var(--ft-border);
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease, background-color .2s ease;
}

.ft-job:hover {
    border-color: var(--ft-accent);
    background: color-mix(in srgb, var(--ft-accent) 8%, var(--ft-bg-alt));
    transform: translateX(4px);
}

.ft-job-title {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--ft-heading);
    margin: 0 0 .65rem;
}

.ft-job-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}

.ft-tag {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .25rem .7rem;
    border-radius: 999px;
    background: var(--ft-surface);
    border: 1px solid var(--ft-border);
    font-size: .8rem;
    color: var(--ft-muted);
}

.ft-job-side {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-shrink: 0;
}

.ft-job-age {
    font-size: .8rem;
    color: var(--ft-muted);
    white-space: nowrap;
}

.ft-job-cta {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-weight: 600;
    color: var(--ft-accent);
    white-space: nowrap;
}

.ft-job:hover .ft-job-cta i {
    transform: translateX(3px);
}

.ft-job-cta i {
    transition: transform .2s ease;
}

.ft-empty {
    text-align: center;
    padding: 4rem 1rem;
    border: 1px dashed var(--ft-border);
    border-radius: var(--ft-radius);
    color: var(--ft-muted);
}

.ft-empty i {
    font-size: 2.5rem;
    margin-bottom: 1rem;
    opacity: .5;
}

.ft-empty p {
    margin: 0;
}

/* ---------- İletişim ---------- */

.ft-contact-row {
    display: flex;
    gap: 1rem;
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--ft-border);
}

.ft-contact-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.ft-contact-row:first-child {
    padding-top: 0;
}

.ft-contact-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(56, 189, 248, .12);
    color: var(--ft-accent);
}

.ft-contact-label {
    display: block;
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ft-muted);
    margin-bottom: .25rem;
}

.ft-contact-value {
    display: block;
    color: var(--ft-text);
    text-decoration: none;
    margin: 0;
}

a.ft-contact-value:hover {
    color: var(--ft-accent);
}

.ft-contact-meta {
    font-size: .85rem;
    color: var(--ft-muted);
}

.ft-map {
    padding: 0;
    overflow: hidden;
    height: 100%;
}

.ft-map-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--ft-border);
    color: var(--ft-muted);
    font-size: .9rem;
}

.ft-map-bar a {
    color: var(--ft-accent);
    text-decoration: none;
    white-space: nowrap;
}

.ft-map-frame {
    min-height: 340px;
}

/* Firma kendi harita kodunu sabit olculerle girse de alani doldursun */
.ft-map-frame iframe {
    display: block;
    width: 100% !important;
    height: 340px !important;
    border: 0;
}

/* ---------- İlan detay ---------- */

.ft-job-hero {
    position: relative;
    overflow: hidden;
    background: var(--ft-job-hero-bg);
    padding: 8.5rem 0 4.5rem;
    color: #fff;
}

.ft-job-hero-grid {
    position: absolute;
    inset: 0;
    opacity: .12;
    background-image: linear-gradient(rgba(255, 255, 255, .7) 1px, transparent 1px),
                      linear-gradient(90deg, rgba(255, 255, 255, .7) 1px, transparent 1px);
    background-size: 56px 56px;
    pointer-events: none;
}

.ft-job-hero-orb {
    position: absolute;
    right: -8%;
    top: -20%;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(circle, color-mix(in srgb, var(--ft-accent) 55%, transparent) 0%, transparent 70%);
    pointer-events: none;
}

.ft-job-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .75fr);
    gap: 3rem;
    align-items: end;
    color: #fff;
}

.ft-back-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: #fff;
    opacity: .85;
    text-decoration: none;
    margin-bottom: 1.5rem;
    font-size: .9rem;
}

.ft-back-link:hover {
    opacity: 1;
    color: #fff;
}

.ft-job-kicker {
    margin: 0 0 .65rem;
    font-size: .78rem;
    font-weight: 600;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #dd8d25;
}

.ft-body .ft-job-hero h1,
.ft-job-hero-title {
    font-size: clamp(2.1rem, 4.6vw, 3.4rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.03em;
    margin: 0 0 .75rem;
    color: #fff;
    max-width: 18ch;
}

.ft-job-ref {
    margin: 0 0 1.75rem;
    font-size: .88rem;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .72);
}

.ft-job-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.ft-job-hero .ft-btn-ghost {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .28);
    color: #fff;
    box-shadow: none;
}

.ft-job-hero .ft-btn-ghost:hover {
    background: rgba(255, 255, 255, .2);
    color: #fff;
}

.ft-job-hero .ft-btn-primary {
    background: var(--ft-accent);
    color: #fff;
    box-shadow: 0 14px 32px color-mix(in srgb, var(--ft-accent) 38%, transparent);
}

.ft-job-hero .ft-btn-primary:hover {
    color: #fff;
}

.ft-job-facts {
    display: flex;
    flex-direction: column;
    gap: .85rem;
    padding: 1.35rem 1.3rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 255, 255, .22);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 24px 50px rgba(0, 0, 0, .18);
}

.ft-job-fact {
    display: flex;
    align-items: center;
    gap: .9rem;
}

.ft-job-fact-icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: grid;
    place-items: center;
    background: var(--ft-accent);
    color: #fff;
    font-size: .9rem;
}

.ft-job-fact-label {
    display: block;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .7);
}

.ft-job-fact-value {
    display: block;
    margin-top: .15rem;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
}

.ft-job-body {
    padding: 4.25rem 0 6rem;
    background: var(--ft-bg);
}

.ft-job-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(260px, .7fr);
    gap: 2rem;
    align-items: start;
}

.ft-job-article {
    background: var(--ft-bg-alt);
    border: 1px solid var(--ft-border);
    border-radius: 24px;
    padding: 2.25rem 2.35rem 2.5rem;
    box-shadow: 0 18px 40px color-mix(in srgb, var(--ft-job-hero-bg) 8%, transparent);
}

.ft-job-article-head {
    position: relative;
    padding-left: 1.15rem;
    margin-bottom: 1.75rem;
}

.ft-job-article-head::before {
    content: "";
    position: absolute;
    left: 0;
    top: .35rem;
    bottom: .2rem;
    width: 3px;
    border-radius: 99px;
    background: var(--ft-accent);
}

.ft-prose {
    color: var(--ft-text);
    line-height: 1.85;
}

.ft-prose p {
    color: var(--ft-muted);
    margin-bottom: 1rem;
}

.ft-prose h1,
.ft-prose h2,
.ft-prose h3,
.ft-prose strong {
    color: var(--ft-heading);
}

.ft-prose ul,
.ft-prose ol {
    padding-left: 1.25rem;
    color: var(--ft-muted);
}

.ft-company-card {
    position: sticky;
    top: 110px;
    overflow: hidden;
    background: var(--ft-bg-alt);
    border: 1px solid var(--ft-border);
    border-radius: 24px;
    padding: 1.75rem 1.6rem 1.6rem;
    box-shadow: 0 18px 40px color-mix(in srgb, var(--ft-job-hero-bg) 8%, transparent);
}

.ft-company-card-bar {
    height: 6px;
    margin: -1.75rem -1.6rem 1.35rem;
    background: var(--ft-accent);
}

.ft-company-logo {
    width: 72px;
    height: 72px;
    border-radius: 16px;
    background: #fff;
    border: 1px solid var(--ft-border);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .6rem;
    margin-bottom: 1rem;
}

.ft-company-logo img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.ft-company-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--ft-heading);
    margin: 0 0 .5rem;
}

.ft-company-desc {
    color: var(--ft-muted);
    font-size: .92rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.ft-company-actions {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.ft-company-actions .ft-btn {
    justify-content: center;
    width: 100%;
    cursor: pointer;
    font-family: inherit;
    font-size: 1rem;
}

.ft-btn-accent {
    background: var(--ft-accent);
    color: #fff;
}

.ft-btn-accent:hover {
    color: #fff;
    box-shadow: 0 14px 34px color-mix(in srgb, var(--ft-accent) 32%, transparent);
}

.ft-btn-outline {
    background: transparent;
    border-color: var(--ft-border);
    color: var(--ft-text);
}

.ft-btn-outline:hover {
    border-color: var(--ft-accent);
    color: var(--ft-accent);
}

.ft-mobile-actions {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 68px;
    z-index: 1020;
    display: none;
    gap: .75rem;
    padding: .75rem 1rem;
    background: var(--ft-job-hero-bg);
    border-top: 1px solid color-mix(in srgb, #fff 18%, transparent);
}

.ft-mobile-actions .ft-btn {
    flex: 1;
    justify-content: center;
}

.ft-mobile-actions .ft-btn-outline {
    border-color: rgba(255, 255, 255, .35);
    color: #fff;
}

/* ---------- Duyarlılık ---------- */

@media (max-width: 991.98px) {
    .ft-hero-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 2rem;
    }

    .ft-hero-rings {
        right: -18%;
        top: auto;
        bottom: -12%;
        width: 340px;
        height: 340px;
        opacity: .7;
    }

    .ft-hero-snapshot {
        flex: 1 1 auto;
        width: 100%;
    }

    .ft-company-card {
        position: static;
        margin-top: 0;
    }

    .ft-job-hero-inner,
    .ft-job-layout {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }

    .ft-job-hero-title {
        max-width: none;
    }

    .ft-story-layout {
        grid-template-columns: 1fr;
        gap: 2.25rem;
    }

    .ft-story-aside {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .ft-section {
        padding: 4rem 0;
    }

    .ft-hero {
        min-height: auto;
        padding: 7rem 0 4rem;
    }

    .ft-hero-meta {
        justify-content: flex-start;
    }

    .ft-snap-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .ft-job {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }

    .ft-job-side {
        width: 100%;
        justify-content: space-between;
    }

    .ft-story-copy {
        padding-left: 1rem;
    }

    .ft-stats {
        margin: -1.25rem .75rem 0;
    }

    .ft-stat {
        padding: .9rem .4rem 1rem;
    }

    .ft-stat-value {
        font-size: 1.45rem;
    }

    .ft-mobile-actions {
        display: flex;
    }

    .ft-job-hero-actions {
        display: none; /* mobilde sabit cubuk kullanilir */
    }

    .ft-job-hero {
        padding: 7rem 0 2.5rem;
    }

    .ft-job-article {
        padding: 1.5rem 1.25rem 1.75rem;
    }

    .ft-job-body {
        padding-bottom: 10rem; /* sabit cubugun altinda icerik kalmasin */
    }
}

@media (prefers-reduced-motion: reduce) {
    .ft-hero-content,
    .ft-hero-snapshot {
        animation: none;
    }
}
