/* TreCloud vivid layer for tc service pages (loaded after tc-page.css) */
.tc-wrap, .tc-teklif {
    --tc-grad: linear-gradient(135deg, #3357a1 0%, #4c85dc 100%);
    --tc-grad-teal: linear-gradient(135deg, #0f9f8a 0%, #34d1b6 100%);
    --tc-grad-indigo: linear-gradient(135deg, #4f46e5 0%, #8b93ff 100%);
    --tc-grad-green: linear-gradient(135deg, #2f9e24 0%, #6fd85f 100%);
    --tc-grad-amber: linear-gradient(135deg, #d97706 0%, #fbbf24 100%);
    --tc-grad-slate: linear-gradient(135deg, #334155 0%, #64748b 100%);
    --tc-brand-line: linear-gradient(90deg, #3357a1, #4c85dc 55%, #4fc53d);
}

/* ---------- Hero ---------- */
.tc-hero { isolation: isolate; }
.tc-hero > .tc-container { position: relative; z-index: 2; }
.tc-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: radial-gradient(rgba(51, 87, 161, .16) 1px, transparent 1px);
    background-size: 22px 22px;
    -webkit-mask-image: radial-gradient(70% 90% at 75% 30%, #000, transparent 75%);
    mask-image: radial-gradient(70% 90% at 75% 30%, #000, transparent 75%);
    pointer-events: none;
}
.tc-hero::after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 520px;
    height: 520px;
    right: -120px;
    top: -180px;
    border-radius: 50%;
    background: radial-gradient(circle at 30% 30%, rgba(76, 133, 220, .45), rgba(79, 197, 61, .12) 55%, transparent 70%);
    filter: blur(10px);
    animation: tc-float 14s ease-in-out infinite alternate;
    pointer-events: none;
}
.tc-hero--dark::before { background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px); }
.tc-hero--dark::after { background: radial-gradient(circle at 30% 30%, rgba(76, 133, 220, .55), rgba(79, 197, 61, .18) 50%, transparent 70%); }
@keyframes tc-float {
    0% { transform: translate3d(0, 0, 0) scale(1); }
    100% { transform: translate3d(-60px, 50px, 0) scale(1.08); }
}
.tc-hero .tc-eyebrow { box-shadow: 0 0 0 1px rgba(51, 87, 161, .12); }
.tc-teklif h2, .tc-teklif .tc-h2 { color: var(--tc-navy); }
.tc-hero .tc-eyebrow::before,
.tc-teklif .tc-eyebrow::before,
.tc-section-head .tc-eyebrow::before {
    content: "";
    width: 7px;
    height: 7px;
    margin-inline-end: 8px;
    border-radius: 50%;
    background: #4fc53d;
    box-shadow: 0 0 0 3px rgba(79, 197, 61, .22);
    animation: tc-pulse 2.4s ease-in-out infinite;
}
@keyframes tc-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(79, 197, 61, .22); }
    50% { box-shadow: 0 0 0 6px rgba(79, 197, 61, .08); }
}
.tc-hero .tc-h1 { text-wrap: balance; }
.tc-hero--dark .tc-h1 {
    background: linear-gradient(180deg, #fff 30%, #c9dcff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}
.tc-hero .tc-pill { transition: transform .2s, background .2s; }
.tc-hero .tc-pill:hover { transform: translateY(-2px); }
.tc-hero--dark .tc-pill { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }

.tc-hero__panel { position: relative; }
.tc-hero__panel::before {
    content: "";
    position: absolute;
    inset: -1px;
    z-index: -1;
    border-radius: 21px;
    background: var(--tc-brand-line);
    opacity: .55;
    filter: blur(18px);
}
.tc-hero--dark .tc-hero__panel::before { opacity: .35; }
.tc-hero__stat { transition: background .2s; }
.tc-hero__stat:hover { background: rgba(51, 87, 161, .05); }
.tc-hero--dark .tc-hero__stat:hover { background: rgba(255, 255, 255, .05); }
.tc-hero__stat-icon { background: var(--tc-grad); color: #fff; box-shadow: 0 10px 20px -10px rgba(51, 87, 161, .8); }
.tc-hero__stat:nth-child(2) .tc-hero__stat-icon { background: var(--tc-grad-teal); box-shadow: 0 10px 20px -10px rgba(15, 159, 138, .8); }
.tc-hero__stat:nth-child(3) .tc-hero__stat-icon { background: var(--tc-grad-green); box-shadow: 0 10px 20px -10px rgba(47, 158, 36, .8); }
.tc-hero--dark .tc-hero__stat-icon { color: #fff; }

/* ---------- Buttons ---------- */
.tc-btn { border-radius: 999px; padding: 12px 24px; }
.tc-btn--primary {
    background: linear-gradient(135deg, #14254d, #3357a1);
    box-shadow: 0 12px 24px -12px rgba(20, 37, 77, .7);
}
.tc-btn--primary:hover { background: linear-gradient(135deg, #1c3266, #4c85dc); box-shadow: 0 16px 30px -14px rgba(51, 87, 161, .8); }
.tc-hero--dark .tc-btn--primary, .tc-teklif__card .tc-btn--primary, .tc-cta .tc-btn--primary {
    background: #fff;
    box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .5);
}

/* ---------- Section heads ---------- */
.tc-section { position: relative; }
.tc-section-head .tc-h2::after {
    content: "";
    display: block;
    width: 56px;
    height: 4px;
    margin-top: 14px;
    border-radius: 4px;
    background: var(--tc-brand-line);
}
.tc-section--soft {
    background:
        radial-gradient(40rem 20rem at 0% 0%, rgba(76, 133, 220, .08), transparent 70%),
        radial-gradient(36rem 18rem at 100% 100%, rgba(79, 197, 61, .06), transparent 70%),
        var(--tc-soft);
}

/* ---------- Feature cards ---------- */
.tc-feature { position: relative; overflow: hidden; }
.tc-feature::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--tc-brand-line);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s ease;
}
.tc-feature::after {
    content: "";
    position: absolute;
    right: -60px;
    bottom: -60px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(76, 133, 220, .14), transparent 70%);
    opacity: 0;
    transition: opacity .3s;
}
.tc-feature:hover::before { transform: scaleX(1); }
.tc-feature:hover::after { opacity: 1; }
.tc-feature:hover { box-shadow: 0 24px 44px -28px rgba(51, 87, 161, .55); }
.tc-feature__icon {
    background: var(--tc-grad);
    color: #fff;
    box-shadow: 0 12px 22px -12px rgba(51, 87, 161, .85);
    transition: transform .3s;
}
.tc-feature:nth-child(6n+2) .tc-feature__icon { background: var(--tc-grad-teal); box-shadow: 0 12px 22px -12px rgba(15, 159, 138, .85); }
.tc-feature:nth-child(6n+3) .tc-feature__icon { background: var(--tc-grad-indigo); box-shadow: 0 12px 22px -12px rgba(79, 70, 229, .8); }
.tc-feature:nth-child(6n+4) .tc-feature__icon { background: var(--tc-grad-green); box-shadow: 0 12px 22px -12px rgba(47, 158, 36, .8); }
.tc-feature:nth-child(6n+5) .tc-feature__icon { background: var(--tc-grad-amber); box-shadow: 0 12px 22px -12px rgba(217, 119, 6, .8); }
.tc-feature:nth-child(6n) .tc-feature__icon { background: var(--tc-grad-slate); box-shadow: 0 12px 22px -12px rgba(51, 65, 85, .8); }
.tc-feature .tc-feature__icon--teal { background: var(--tc-grad-teal); }
.tc-feature .tc-feature__icon--indigo { background: var(--tc-grad-indigo); }
.tc-feature .tc-feature__icon--slate { background: var(--tc-grad-slate); }
.tc-feature:hover .tc-feature__icon { transform: translateY(-2px) rotate(-6deg); }

/* ---------- Steps ---------- */
.tc-step { overflow: hidden; transition: transform .25s, box-shadow .25s, border-color .25s; }
.tc-step:hover { transform: translateY(-3px); border-color: #c9d8f3; box-shadow: 0 20px 40px -28px rgba(51, 87, 161, .55); }
.tc-step__num {
    background: var(--tc-grad);
    box-shadow: 0 10px 20px -10px rgba(51, 87, 161, .9);
}
.tc-step__num::after {
    content: "";
    position: absolute;
    left: 66px;
    right: 0;
    top: 41px;
    height: 2px;
    background: linear-gradient(90deg, rgba(76, 133, 220, .45), transparent);
}
.tc-step:last-child .tc-step__num::after { display: none; }

/* ---------- Compare ---------- */
.tc-compare__card { transition: transform .25s, box-shadow .25s; }
.tc-compare__card:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -28px rgba(20, 37, 77, .5); }
.tc-compare__card.is-highlight {
    border-color: transparent;
    background:
        linear-gradient(180deg, #f6f9ff, #fff) padding-box,
        var(--tc-brand-line) border-box;
    border: 1.5px solid transparent;
}
.tc-compare__card.is-highlight::before { background: var(--tc-grad-green); color: #fff; }

/* ---------- Facts list ---------- */
#tc-facts .tc-offer__list li { transition: transform .2s, border-color .2s, box-shadow .2s; }
#tc-facts .tc-offer__list li:hover { transform: translateY(-2px); border-color: #c9d8f3; box-shadow: 0 16px 30px -24px rgba(51, 87, 161, .55); }
.tc-offer__list li::before {
    background: #3aa52b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3E%3Cpath d='M6.5 11.2 3.3 8l1-1 2.2 2.2 5.2-5.2 1 1z'/%3E%3C/svg%3E") center / 14px no-repeat;
    box-shadow: 0 6px 12px -6px rgba(58, 165, 43, .8);
}

/* ---------- FAQ (centered) ---------- */
.tc-section:has(> .tc-container > .tc-faq) .tc-section-head {
    max-width: 760px;
    margin-inline: auto;
    text-align: center;
}
.tc-section:has(> .tc-container > .tc-faq) .tc-section-head .tc-h2::after { margin-inline: auto; }
.tc-faq { max-width: 860px; margin-inline: auto; counter-reset: tcfaq; gap: 12px; }
.tc-faq details {
    counter-increment: tcfaq;
    position: relative;
    overflow: hidden;
    transition: border-color .2s, box-shadow .25s, transform .2s;
}
.tc-faq details:hover { border-color: #c9d8f3; transform: translateY(-1px); }
.tc-faq details::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--tc-brand-line);
    background-size: 100% 100%;
    opacity: 0;
    transition: opacity .2s;
}
.tc-faq details[open]::before { opacity: 1; background: linear-gradient(180deg, #3357a1, #4c85dc 55%, #4fc53d); }
.tc-faq summary { padding: 20px 60px 20px 70px; font-size: 1rem; }
.tc-faq summary::before {
    content: counter(tcfaq, decimal-leading-zero);
    position: absolute;
    left: 20px;
    top: 50%;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-top: -17px;
    border-radius: 11px;
    background: #eef3fb;
    color: var(--tc-blue);
    font-size: .78rem;
    font-weight: 800;
    transition: background .2s, color .2s;
}
.tc-faq details[open] summary::before { background: var(--tc-grad); color: #fff; box-shadow: 0 10px 18px -10px rgba(51, 87, 161, .9); }
.tc-faq summary::after { transition: transform .25s, background .2s, color .2s; }
.tc-faq details[open] summary::after { background: var(--tc-grad); transform: rotate(180deg); }
.tc-faq details p { padding: 0 24px 22px 70px; }
.tc-faq details[open] { box-shadow: 0 22px 44px -30px rgba(51, 87, 161, .6); }

/* ---------- CTA / offer / teklif ---------- */
.tc-cta, .tc-offer__side, .tc-teklif__card { position: relative; overflow: hidden; isolation: isolate; }
.tc-cta::before, .tc-offer__side::before, .tc-teklif__card::before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 340px;
    height: 340px;
    right: -120px;
    top: -140px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(76, 133, 220, .55), rgba(79, 197, 61, .15) 55%, transparent 70%);
}
.tc-cta::after, .tc-teklif__card::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background-image: radial-gradient(rgba(255, 255, 255, .12) 1px, transparent 1px);
    background-size: 20px 20px;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000);
    mask-image: linear-gradient(90deg, transparent, #000);
}
.tc-cta { padding: 40px; }
.tc-teklif__row > i { background: rgba(255, 255, 255, .14); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14); }
.tc-related__list a { border-radius: 999px; transition: border-color .2s, background .2s, transform .2s; }
.tc-related__list a:hover { background: #f3f7ff; transform: translateY(-1px); }

/* ---------- Legal pages ---------- */
.tc-legal-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; }
.tc-legal-toc {
    position: sticky;
    top: 96px;
    padding: 18px;
    border: 1px solid var(--tc-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 18px 40px -32px rgba(20, 37, 77, .5);
}
.tc-legal-toc strong { display: block; margin-bottom: 10px; color: var(--tc-navy); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.tc-legal-toc ol { margin: 0; padding: 0; list-style: none; counter-reset: lt; display: grid; gap: 2px; }
.tc-legal-toc li { counter-increment: lt; }
.tc-legal-toc a { display: flex; gap: 8px; padding: 7px 10px; border-radius: 10px; color: var(--tc-ink); font-size: .86rem; font-weight: 600; text-decoration: none; transition: background .2s, color .2s; }
.tc-legal-toc a::before { content: counter(lt, decimal-leading-zero); color: var(--tc-blue); font-weight: 800; font-size: .74rem; padding-top: 2px; }
.tc-legal-toc a:hover { background: #eef3fb; color: var(--tc-navy); }
.tc-legal { max-width: none; padding: 34px 38px; border: 1px solid var(--tc-line); border-radius: 22px; background: #fff; }
.tc-legal h3 { scroll-margin-top: 100px; display: flex; align-items: center; gap: 10px; }
.tc-legal h3:first-child { margin-top: 0; }
.tc-legal h3::before { content: ""; width: 6px; height: 22px; border-radius: 4px; background: var(--tc-brand-line); background: linear-gradient(180deg, #3357a1, #4c85dc); flex: none; }
.tc-legal ul { margin: 0 0 14px; padding-left: 1.2rem; color: var(--tc-muted); line-height: 1.75; }
.tc-legal .tc-legal-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.tc-legal-box { margin-top: 26px; padding: 18px 20px; border-radius: 16px; background: #f6f9ff; border: 1px solid #e3e9f4; color: var(--tc-ink); }
[data-bs-theme=dark] .tc-legal, [data-bs-theme=dark] .tc-legal-toc { background: var(--basic-surface-bg); }
[data-bs-theme=dark] .tc-legal-box { background: rgba(76, 133, 220, .08); }
@media (max-width: 991.98px) {
    .tc-legal-grid { grid-template-columns: 1fr; gap: 20px; }
    .tc-legal-toc { position: static; }
    .tc-legal { padding: 24px 20px; }
}

/* ---------- Scroll reveal ---------- */
.tc-rv {
    opacity: 0;
    translate: 0 18px;
    transition: opacity .6s ease var(--tc-d, 0ms), translate .6s ease var(--tc-d, 0ms), transform .25s, box-shadow .25s, border-color .25s, background .2s;
}
.tc-rv.is-in { opacity: 1; translate: 0 0; }
@media (prefers-reduced-motion: reduce) {
    .tc-hero::after, .tc-hero .tc-eyebrow::before, .tc-section-head .tc-eyebrow::before { animation: none; }
}

/* ---------- Dark mode ---------- */
[data-bs-theme=dark] .tc-faq summary::before { background: rgba(76, 133, 220, .16); color: #9fc0f2; }
[data-bs-theme=dark] .tc-compare__card.is-highlight { background: linear-gradient(180deg, rgba(76, 133, 220, .08), transparent) padding-box, var(--tc-brand-line) border-box; }
[data-bs-theme=dark] .tc-related__list a:hover { background: rgba(76, 133, 220, .1); }

@media (max-width: 767.98px) {
    .tc-hero::after { width: 320px; height: 320px; right: -140px; }
    .tc-faq summary { padding-left: 60px; }
    .tc-faq summary::before { left: 14px; }
    .tc-faq details p { padding-left: 20px; }
    .tc-step__num::after { display: none; }
    .tc-cta { padding: 26px; }
}
