/* ==========================================================================
   Tramvix Widgets — single stylesheet
   - Design tokens (light + dark surfaces)
   - Theme-proof base reset + button system
   - All widget styles
   ========================================================================== */

:root {
    --tvx-bg:         #f5f5f5;
    --tvx-fg:         #1a1a1a;
    --tvx-card:       #ffffff;
    --tvx-muted:      #ebebeb;
    --tvx-muted-fg:   #737373;
    --tvx-border:     #e0e0e0;

    --tvx-dark-bg:    #141414;
    --tvx-dark-fg:    #ebebeb;

    --tvx-gold:       #d49b30;
    --tvx-sky:        #4baee8;
    --tvx-orange:     #f08531;

    --tvx-font:       'Alexandria', 'Tahoma', sans-serif;
    --tvx-radius:     1rem;
    --tvx-radius-sm:  0.5rem;
    --tvx-radius-lg:  1.5rem;
    --tvx-transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Apply font globally where the plugin runs */
.elementor-page,
.elementor-page p,
.elementor-page h1,
.elementor-page h2,
.elementor-page h3,
.elementor-page h4,
.elementor-page span,
.elementor-page a,
.elementor-page button,
.tvx-navbar,
[class*="tvx-"] {
    font-family: var(--tvx-font) !important;
}

/* Mobile overflow protection */
html, body { overflow-x: hidden; max-width: 100%; }

/* RTL default for any direct tvx wrapper */
[class*="tvx-"] { box-sizing: border-box; }
.tvx-section, .tvx-page-hero, .tvx-hero, .tvx-dark-section, .tvx-light-section {
    direction: rtl;
    text-align: right;
}

/* ==========================================================================
   Buttons
   ========================================================================== */
.tvx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 2rem;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none !important;
    border: 1px solid transparent;
    cursor: pointer;
    transition: var(--tvx-transition);
    white-space: nowrap;
}
.tvx-btn:hover { transform: scale(1.04); opacity: 0.9; }

.tvx-btn--primary {
    background: var(--tvx-fg);
    color: var(--tvx-bg) !important;
}
.tvx-btn--primary-dark {
    background: var(--tvx-dark-fg);
    color: var(--tvx-dark-bg) !important;
}
.tvx-btn--outline {
    background: transparent;
    color: var(--tvx-fg) !important;
    border-color: var(--tvx-fg);
}
.tvx-btn--outline:hover {
    background: var(--tvx-fg);
    color: var(--tvx-bg) !important;
}
.tvx-btn--outline-dark {
    background: transparent;
    color: var(--tvx-dark-fg) !important;
    border-color: rgba(235,235,235,0.4);
}
.tvx-btn--outline-dark:hover {
    background: var(--tvx-dark-fg);
    color: var(--tvx-dark-bg) !important;
}

/* ==========================================================================
   Surfaces
   ========================================================================== */
.tvx-light-section {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 5rem 1.5rem;
}
.tvx-dark-section {
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    padding: 5rem 1.5rem;
}
@media (min-width: 768px) {
    .tvx-light-section { padding: 7rem 3rem; }
    .tvx-dark-section  { padding: 7rem 3rem; }
}

.tvx-container { max-width: 1280px; margin: 0 auto; }
.tvx-container--md { max-width: 960px; margin: 0 auto; }
.tvx-container--sm { max-width: 720px; margin: 0 auto; }

.tvx-eyebrow {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.5;
}
.tvx-dark-section .tvx-eyebrow { color: rgba(235,235,235,0.5); }
.tvx-light-section .tvx-eyebrow { color: var(--tvx-muted-fg); }

.tvx-h1 { font-size: clamp(2rem, 6vw, 4.5rem); font-weight: 700; line-height: 1.2; margin: 0; }
.tvx-h2 { font-size: clamp(1.75rem, 4.5vw, 3.25rem); font-weight: 700; line-height: 1.25; margin: 0; }
.tvx-h3 { font-size: 1.125rem; font-weight: 700; margin: 0; }

/* ==========================================================================
   Reveal animations
   ========================================================================== */
.tvx-reveal { opacity: 0; transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.25,0.4,0.25,1); will-change: opacity, transform; }
.tvx-reveal--up    { transform: translateY(40px); }
.tvx-reveal--down  { transform: translateY(-40px); }
.tvx-reveal--right { transform: translateX(40px); }
.tvx-reveal--left  { transform: translateX(-40px); }
.tvx-reveal--scale { transform: scale(0.92); }
.tvx-reveal--visible { opacity: 1 !important; transform: none !important; }

@keyframes tvx-spin {
    from { transform: translate(-50%, -50%) rotate(0deg); }
    to   { transform: translate(-50%, -50%) rotate(360deg); }
}
@keyframes tvx-bounce {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(8px); }
}
@keyframes tvx-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50%      { transform: scale(1.3); opacity: 0.7; }
}
@keyframes tvx-kenburns {
    from { transform: scale(1.0)   translateX(0); }
    to   { transform: scale(1.15) translateX(-2%); }
}

/* ==========================================================================
   Navbar
   ========================================================================== */
.tvx-navbar {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 9999;
    transition: background 0.5s ease, box-shadow 0.5s ease, border-color 0.5s ease;
    direction: rtl;
    font-family: var(--tvx-font);
    border-bottom: 1px solid transparent;
}
.tvx-navbar--transparent { background: transparent; }
.tvx-navbar--scrolled {
    background: rgba(245, 245, 245, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 2px 20px rgba(0,0,0,0.08);
    border-bottom-color: rgba(224,224,224,0.6);
}
.tvx-navbar-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1.5rem;
    gap: 1rem;
}
@media (min-width: 768px) {
    .tvx-navbar-inner { padding: 0.75rem 3rem; }
}
.tvx-navbar-brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none !important;
    transition: opacity 0.3s;
}
.tvx-navbar-brand:hover { opacity: 0.85; }
.tvx-navbar-logo {
    height: 40px;
    width: 40px;
    object-fit: contain;
    border-radius: 4px;
}
.tvx-navbar-name {
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}
.tvx-navbar--transparent .tvx-navbar-name { color: var(--tvx-dark-fg); }
.tvx-navbar--scrolled    .tvx-navbar-name { color: var(--tvx-fg); }

.tvx-navbar-links {
    display: none;
    align-items: center;
    gap: 2rem;
    font-size: 12px;
}
@media (min-width: 768px) {
    .tvx-navbar-links { display: flex; }
}
.tvx-navbar-link {
    text-decoration: none !important;
    transition: color 0.3s;
    position: relative;
    padding-bottom: 4px;
}
.tvx-navbar-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    height: 1.5px;
    width: 0;
    transition: width 0.3s;
}
.tvx-navbar-link:hover::after { width: 100%; }
.tvx-navbar-link.tvx-active::after { width: 100%; }

.tvx-navbar--transparent .tvx-navbar-link { color: rgba(235,235,235,0.6); }
.tvx-navbar--transparent .tvx-navbar-link::after { background: var(--tvx-dark-fg); }
.tvx-navbar--transparent .tvx-navbar-link:hover,
.tvx-navbar--transparent .tvx-navbar-link.tvx-active { color: var(--tvx-dark-fg); font-weight: 700; }

.tvx-navbar--scrolled .tvx-navbar-link { color: var(--tvx-muted-fg); }
.tvx-navbar--scrolled .tvx-navbar-link::after { background: var(--tvx-fg); }
.tvx-navbar--scrolled .tvx-navbar-link:hover,
.tvx-navbar--scrolled .tvx-navbar-link.tvx-active { color: var(--tvx-fg); font-weight: 700; }

.tvx-navbar-actions { display: flex; align-items: center; gap: 0.75rem; }

.tvx-navbar-cta {
    display: none;
    padding: 0.5rem 1.25rem;
    border-radius: 999px;
    font-size: 12px;
    text-decoration: none !important;
    transition: var(--tvx-transition);
    white-space: nowrap;
}
@media (min-width: 768px) {
    .tvx-navbar-cta { display: inline-flex; }
}
.tvx-navbar-cta:hover { transform: scale(1.05); opacity: 0.85; }
.tvx-navbar--transparent .tvx-navbar-cta { background: var(--tvx-dark-fg); color: var(--tvx-dark-bg) !important; }
.tvx-navbar--scrolled    .tvx-navbar-cta { background: var(--tvx-fg);      color: var(--tvx-bg) !important; }

.tvx-navbar-toggle {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    border: none;
    background: transparent;
    cursor: pointer;
    gap: 4px;
    padding: 0;
}
@media (min-width: 768px) {
    .tvx-navbar-toggle { display: none; }
}
.tvx-navbar-toggle span {
    display: block;
    width: 18px;
    height: 2px;
    transition: all 0.3s ease;
}
.tvx-navbar--transparent .tvx-navbar-toggle span { background: var(--tvx-dark-fg); }
.tvx-navbar--scrolled    .tvx-navbar-toggle span { background: var(--tvx-fg); }

.tvx-navbar.tvx-mobile-open .tvx-navbar-toggle span:nth-child(1) { transform: rotate(45deg) translate(4px, 4px); }
.tvx-navbar.tvx-mobile-open .tvx-navbar-toggle span:nth-child(2) { opacity: 0; }
.tvx-navbar.tvx-mobile-open .tvx-navbar-toggle span:nth-child(3) { transform: rotate(-45deg) translate(4px, -4px); }

.tvx-mobile-menu {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.4s ease;
    background: rgba(245, 245, 245, 0.97);
    backdrop-filter: blur(20px);
    border-top: 1px solid var(--tvx-border);
}
.tvx-navbar.tvx-mobile-open .tvx-mobile-menu {
    max-height: 400px;
    opacity: 1;
}
.tvx-mobile-menu-inner {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem 1.5rem;
}
.tvx-mobile-link {
    text-decoration: none !important;
    color: var(--tvx-muted-fg);
    font-size: 14px;
    transition: color 0.3s;
}
.tvx-mobile-link:hover, .tvx-mobile-link.tvx-active { color: var(--tvx-fg); font-weight: 700; }

/* ==========================================================================
   Hero (homepage — video bg + spinning circles)
   ========================================================================== */
.tvx-hero {
    position: relative;
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 80px 1.5rem 6rem;
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    direction: rtl;
}
.tvx-hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.9;
    z-index: 0;
}
.tvx-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(20,20,20,0.55), rgba(20,20,20,0.55), rgba(20,20,20,0.92));
    z-index: 1;
}
.tvx-hero-circle {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(235,235,235,0.05);
    animation: tvx-spin 60s linear infinite;
    pointer-events: none;
    z-index: 1;
}
.tvx-hero-circle--lg { width: 600px; height: 600px; }
.tvx-hero-circle--sm { width: 400px; height: 400px; animation-duration: 45s; animation-direction: reverse; }
.tvx-hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    max-width: 900px;
    width: 100%;
    padding: 0 0.5rem;
}
.tvx-hero-eyebrow {
    display: inline-block;
    font-size: 10px;
    letter-spacing: 0.4em;
    text-transform: uppercase;
    color: rgba(235,235,235,0.5);
    border: 1px solid rgba(235,235,235,0.2);
    padding: 0.5rem 1rem;
    border-radius: 999px;
    margin-bottom: 2.5rem;
}
.tvx-hero-headline {
    font-size: clamp(2rem, 6vw, 5.5rem);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin: 0 0 2.5rem;
}
.tvx-hero-line1 { color: var(--tvx-dark-fg); }
.tvx-hero-line2 { color: rgba(235,235,235,0.4); }
.tvx-hero-desc {
    color: rgba(235,235,235,0.55);
    font-size: 0.9rem;
    line-height: 2.2;
    max-width: 42rem;
    margin: 0 auto 3rem;
}
.tvx-hero-btns {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}
.tvx-hero-bottom {
    position: absolute;
    bottom: 2rem;
    left: 1.5rem;
    right: 1.5rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}
@media (min-width: 768px) {
    .tvx-hero-bottom { justify-content: space-between; left: 3rem; right: 3rem; }
}
.tvx-hero-tags { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.tvx-hero-tag {
    background: var(--tvx-dark-fg);
    color: var(--tvx-dark-bg);
    font-size: 9px;
    padding: 0.35rem 0.75rem;
    border-radius: 3px;
}
.tvx-hero-socials { display: none; align-items: center; gap: 1.25rem; color: rgba(235,235,235,0.5); }
@media (min-width: 768px) { .tvx-hero-socials { display: flex; } }
.tvx-hero-socials a { color: inherit; transition: transform 0.3s, color 0.3s; }
.tvx-hero-socials a:hover { transform: translateY(-2px) scale(1.15); color: var(--tvx-dark-fg); }
.tvx-hero-scroll {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: 22px;
    height: 36px;
    border: 1px solid rgba(235,235,235,0.3);
    border-radius: 999px;
    display: none;
    align-items: flex-start;
    justify-content: center;
    padding: 4px;
    animation: tvx-bounce 2s ease-in-out infinite;
}
@media (min-width: 768px) { .tvx-hero-scroll { display: flex; } }
.tvx-hero-scroll-dot {
    width: 4px; height: 8px;
    background: rgba(235,235,235,0.5);
    border-radius: 999px;
}
@media (max-width: 767px) {
    .tvx-hero { background-attachment: scroll !important; }
    .tvx-hero-circle { display: none; }
}

/* ==========================================================================
   Page Hero (KenBurns inner pages)
   ========================================================================== */
.tvx-page-hero {
    position: relative;
    min-height: 60vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    padding: 8rem 1.5rem 5rem;
    direction: rtl;
}
@media (min-width: 768px) {
    .tvx-page-hero { padding: 11rem 3rem 8rem; }
}
.tvx-page-hero-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    animation: tvx-kenburns 25s ease-in-out infinite alternate;
    will-change: transform;
    opacity: 0.55;
}
.tvx-page-hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to bottom, rgba(20,20,20,0.4), rgba(20,20,20,0.6), rgba(20,20,20,0.85));
}
.tvx-page-hero-content {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}
.tvx-page-hero-eyebrow { display: block; font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(235,235,235,0.5); margin-bottom: 1.5rem; }
.tvx-page-hero-title { font-size: clamp(2.25rem, 6vw, 4.5rem); font-weight: 700; line-height: 1.2; margin: 0; }
.tvx-page-hero-desc { color: rgba(235,235,235,0.55); font-size: 0.9rem; line-height: 2; max-width: 36rem; margin: 2rem 0 0; }

/* ==========================================================================
   About widget
   ========================================================================== */
.tvx-about { background: var(--tvx-bg); color: var(--tvx-fg); padding: 5rem 1.5rem; direction: rtl; position: relative; overflow: hidden; }
@media (min-width: 768px) { .tvx-about { padding: 7rem 3rem; } }
.tvx-about-inner { max-width: 1100px; margin: 0 auto; }
.tvx-about-head { text-align: center; margin-bottom: 3.5rem; }
.tvx-about-logo {
    height: 64px; width: 64px;
    object-fit: contain;
    border-radius: 4px;
    margin: 0 auto 2rem;
    display: block;
    transition: transform 0.4s;
}
.tvx-about-logo:hover { transform: scale(1.1) rotate(5deg); }
.tvx-about-title { font-size: clamp(1.75rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 1.5rem 0 0; color: var(--tvx-fg); }
.tvx-about-title-soft { color: var(--tvx-muted-fg); }
.tvx-about-grid {
    display: grid;
    gap: 2.5rem;
    margin-bottom: 4rem;
}
@media (min-width: 768px) { .tvx-about-grid { grid-template-columns: 1fr 1fr; } }
.tvx-about-text { font-size: 1rem; line-height: 2.2; color: var(--tvx-muted-fg); margin: 0; }
.tvx-about-quote {
    border-right: 2px solid var(--tvx-fg);
    padding: 0.5rem 1.5rem 0.5rem 0;
    margin: 0 auto 4rem;
    max-width: 64rem;
    color: rgba(26,26,26,0.85);
    font-size: 1rem;
    line-height: 2.2;
}
@media (min-width: 768px) { .tvx-about-quote { padding-right: 2.5rem; } }
.tvx-about-pillars {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 3rem;
}
@media (min-width: 768px) { .tvx-about-pillars { grid-template-columns: repeat(4, 1fr); gap: 1.5rem; } }
.tvx-pillar {
    border: 1px solid var(--tvx-border);
    background: var(--tvx-card);
    border-radius: 1rem;
    padding: 1.5rem;
    text-align: center;
    transition: var(--tvx-transition);
}
.tvx-pillar:hover { transform: translateY(-6px) scale(1.04); box-shadow: 0 10px 30px rgba(0,0,0,0.06); }
.tvx-pillar--gold:hover { border-color: rgba(212,155,48,0.4); background: rgba(212,155,48,0.05); }
.tvx-pillar--sky:hover  { border-color: rgba(75,174,232,0.4); background: rgba(75,174,232,0.05); }
.tvx-pillar-icon {
    width: 40px; height: 40px;
    border-radius: 999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 0.75rem;
    transition: transform 0.6s;
}
.tvx-pillar:hover .tvx-pillar-icon { transform: rotate(360deg); }
.tvx-pillar-icon i { font-size: 0.875rem; }
.tvx-pillar--gold .tvx-pillar-icon i { color: var(--tvx-gold); }
.tvx-pillar--sky  .tvx-pillar-icon i { color: var(--tvx-sky); }
.tvx-pillar-title { font-size: 0.875rem; font-weight: 700; margin: 0 0 0.25rem; color: var(--tvx-fg); }
.tvx-pillar-desc  { font-size: 10px; color: var(--tvx-muted-fg); margin: 0; line-height: 1.6; }
.tvx-about-link-wrap { text-align: center; }
.tvx-about-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 12px;
    color: var(--tvx-fg);
    border-bottom: 1px solid var(--tvx-fg);
    padding-bottom: 0.25rem;
    text-decoration: none;
    transition: opacity 0.3s, transform 0.3s;
}
.tvx-about-link:hover { opacity: 0.7; transform: translateX(-3px); }

/* ==========================================================================
   Work Scope
   ========================================================================== */
.tvx-scope {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 5rem 1.5rem;
    border-top: 1px solid var(--tvx-border);
    position: relative;
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-scope { padding: 8rem 3rem; } }
.tvx-scope-bg-pattern { position: absolute; inset: 0; opacity: 0.025; pointer-events: none; }
.tvx-scope-inner { max-width: 1280px; margin: 0 auto; position: relative; }
.tvx-scope-header {
    display: grid;
    gap: 2.5rem;
    margin-bottom: 4rem;
}
@media (min-width: 768px) { .tvx-scope-header { grid-template-columns: 5fr 7fr; } }
.tvx-scope-title { font-size: clamp(1.75rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 1.5rem 0 0; }
.tvx-scope-text { font-size: 1rem; color: var(--tvx-muted-fg); line-height: 2.2; margin: 0 0 1rem; }
.tvx-scope-pillars {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-bottom: 4rem;
}
@media (min-width: 640px) { .tvx-scope-pillars { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .tvx-scope-pillars { grid-template-columns: repeat(4, 1fr); } }
.tvx-scope-pillar {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    padding: 1.75rem;
    transition: var(--tvx-transition);
    height: 100%;
}
.tvx-scope-pillar:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 12px 30px rgba(0,0,0,0.06); }
.tvx-scope-pillar--gold:hover { border-color: rgba(212,155,48,0.4); background: rgba(212,155,48,0.05); }
.tvx-scope-pillar--sky:hover  { border-color: rgba(75,174,232,0.4);  background: rgba(75,174,232,0.05); }
.tvx-scope-pillar-icon {
    width: 48px; height: 48px;
    border: 1px solid var(--tvx-border);
    border-radius: 0.85rem;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.25rem;
    transition: transform 0.5s;
}
.tvx-scope-pillar:hover .tvx-scope-pillar-icon { transform: rotate(12deg); }
.tvx-scope-pillar-icon i { font-size: 1rem; }
.tvx-scope-pillar--gold .tvx-scope-pillar-icon i { color: var(--tvx-gold); }
.tvx-scope-pillar--sky  .tvx-scope-pillar-icon i { color: var(--tvx-sky); }
.tvx-scope-pillar-title { font-size: 1rem; font-weight: 700; margin: 0 0 0.5rem; }
.tvx-scope-pillar-desc  { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 1.9; margin: 0; }
.tvx-scope-closing { font-size: 1rem; color: var(--tvx-muted-fg); line-height: 2.2; max-width: 64rem; margin: 0 0 4rem; }
.tvx-scope-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}
@media (min-width: 768px) { .tvx-scope-stats { grid-template-columns: repeat(4, 1fr); } }
.tvx-stat-card {
    border: 1px solid var(--tvx-border);
    border-radius: 1rem;
    padding: 2rem 1rem;
    text-align: center;
    transition: var(--tvx-transition);
}
.tvx-stat-card:hover { transform: translateY(-8px) scale(1.02); box-shadow: 0 12px 30px rgba(0,0,0,0.06); }
.tvx-stat-card--gold:hover { border-color: rgba(212,155,48,0.5); background: rgba(212,155,48,0.04); }
.tvx-stat-card--sky:hover  { border-color: rgba(75,174,232,0.5);  background: rgba(75,174,232,0.04); }
.tvx-stat-icon {
    width: 40px; height: 40px;
    border-radius: 999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem;
    transition: transform 0.5s;
}
.tvx-stat-card:hover .tvx-stat-icon { transform: rotate(10deg); }
.tvx-stat-icon i { font-size: 1rem; }
.tvx-stat-card--gold .tvx-stat-icon i { color: var(--tvx-gold); }
.tvx-stat-card--sky  .tvx-stat-icon i { color: var(--tvx-sky); }
.tvx-stat-value { font-size: 2.25rem; font-weight: 700; line-height: 1; margin: 0 0 0.75rem; color: var(--tvx-fg); display: block; }
.tvx-stat-card--gold .tvx-stat-value { color: var(--tvx-gold); }
.tvx-stat-card--sky  .tvx-stat-value { color: var(--tvx-sky); }
.tvx-stat-label { font-size: 11px; color: var(--tvx-muted-fg); }

/* ==========================================================================
   Operating Layers (carousel)
   ========================================================================== */
.tvx-layers {
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    padding: 5rem 1.5rem;
    overflow: hidden;
    position: relative;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-layers { padding: 8rem 3rem; } }
.tvx-layers-bg-grid { position: absolute; inset: 0; opacity: 0.04; pointer-events: none; }
.tvx-layers-inner { max-width: 1280px; margin: 0 auto; position: relative; }
.tvx-layers-header { margin-bottom: 4rem; }
.tvx-layers-title { font-size: clamp(1.75rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 1.5rem 0 0; }
.tvx-layers-title-soft { color: rgba(235,235,235,0.4); }

.tvx-layers-carousel { position: relative; }
.tvx-layers-stage { position: relative; min-height: 320px; }
@media (min-width: 768px) { .tvx-layers-stage { min-height: 280px; } }
.tvx-layer-card {
    display: none;
    border-radius: 1.5rem;
    padding: 2rem 1.75rem;
    overflow: hidden;
    border: 1px solid rgba(235,235,235,0.1);
    background:
        linear-gradient(135deg, hsl(0 0% 10%), hsl(0 0% 14%)),
        radial-gradient(circle at 0% 0%, rgba(212,155,48,0.08), transparent 60%);
    box-shadow: 0 20px 60px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05);
}
@media (min-width: 768px) { .tvx-layer-card { padding: 3.5rem; } }
.tvx-layer-card[data-accent="gold"]    { background: linear-gradient(135deg, hsl(0 0% 10%), hsl(0 0% 14%)), radial-gradient(circle at 0% 0%, rgba(212,155,48,0.08), transparent 60%); border-color: rgba(212,155,48,0.18); }
.tvx-layer-card[data-accent="sky"]     { background: linear-gradient(135deg, hsl(0 0% 13%), hsl(0 0% 17%)), radial-gradient(circle at 0% 0%, rgba(75,174,232,0.08), transparent 60%); border-color: rgba(75,174,232,0.18); }
.tvx-layer-card[data-accent="neutral"] { background: linear-gradient(135deg, hsl(0 0% 16%), hsl(0 0% 20%)); border-color: rgba(235,235,235,0.10); }
.tvx-layer-card--active { display: block; animation: tvx-slide-in 0.5s ease; }
@keyframes tvx-slide-in {
    from { opacity: 0; transform: translateX(40px); }
    to   { opacity: 1; transform: translateX(0); }
}
.tvx-layer-row {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
@media (min-width: 768px) { .tvx-layer-row { flex-direction: row; align-items: flex-start; gap: 3.5rem; } }
.tvx-layer-number {
    font-weight: 900;
    font-size: 5rem;
    line-height: 1;
    color: rgba(235,235,235,0.05);
    user-select: none;
}
@media (min-width: 768px) { .tvx-layer-number { font-size: 9rem; } }
.tvx-layer-content { flex: 1; }
.tvx-layer-meta { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.tvx-layer-title { font-size: 1.5rem; font-weight: 700; margin: 0; }
@media (min-width: 768px) { .tvx-layer-title { font-size: 1.875rem; } }
.tvx-layer-chip {
    font-size: 10px;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border: 1px solid rgba(235,235,235,0.15);
    padding: 0.25rem 0.75rem;
    border-radius: 999px;
    color: rgba(235,235,235,0.4);
}
.tvx-layer-card[data-accent="gold"] .tvx-layer-chip { color: rgba(212,155,48,0.85); border-color: rgba(212,155,48,0.25); }
.tvx-layer-card[data-accent="sky"]  .tvx-layer-chip { color: rgba(75,174,232,0.85); border-color: rgba(75,174,232,0.25); }
.tvx-layer-desc { color: rgba(235,235,235,0.55); line-height: 2.2; max-width: 42rem; font-size: 0.875rem; margin: 0; }
@media (min-width: 768px) { .tvx-layer-desc { font-size: 1rem; } }
.tvx-layer-icon {
    flex-shrink: 0;
    display: none;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 999px;
    border: 1px solid rgba(235,235,235,0.1);
    transition: transform 0.5s;
}
@media (min-width: 768px) { .tvx-layer-icon { display: flex; } }
.tvx-layer-card:hover .tvx-layer-icon { transform: rotate(90deg) scale(1.1); }
.tvx-layer-icon i { font-size: 1.25rem; color: rgba(235,235,235,0.4); }

.tvx-layers-controls {
    margin-top: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
}
.tvx-layers-dots { display: flex; align-items: center; gap: 0.75rem; }
.tvx-layer-dot {
    width: 1rem; height: 0.375rem;
    border-radius: 99px;
    background: rgba(235,235,235,0.15);
    border: none;
    cursor: pointer;
    transition: all 0.4s;
    padding: 0;
}
.tvx-layer-dot:hover { background: rgba(235,235,235,0.3); }
.tvx-layer-dot--active { width: 2.5rem; background: rgba(235,235,235,0.6); }
.tvx-layers-arrows { display: flex; align-items: center; gap: 0.75rem; }
.tvx-layer-arrow {
    width: 48px; height: 48px;
    border-radius: 999px;
    border: 1px solid rgba(235,235,235,0.1);
    background: transparent;
    color: rgba(235,235,235,0.4);
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.3s;
}
.tvx-layer-arrow:hover { color: rgba(235,235,235,0.85); border-color: rgba(235,235,235,0.3); transform: scale(1.1); }
.tvx-layer-arrow svg { width: 18px; height: 18px; }

.tvx-layer-progress { margin-top: 1.5rem; height: 1px; background: rgba(235,235,235,0.05); border-radius: 999px; overflow: hidden; }
.tvx-layer-progress-bar { height: 100%; background: rgba(235,235,235,0.2); width: 0; }

/* ==========================================================================
   Business Model
   ========================================================================== */
.tvx-models {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 5rem 1.5rem;
    border-top: 1px solid var(--tvx-border);
    direction: rtl;
}
@media (min-width: 768px) { .tvx-models { padding: 7rem 3rem; } }
.tvx-models-inner { max-width: 1280px; margin: 0 auto; }
.tvx-models-header {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 4rem;
}
@media (min-width: 768px) { .tvx-models-header { flex-direction: row; justify-content: space-between; align-items: flex-end; } }
.tvx-models-title { font-size: clamp(1.75rem, 4.5vw, 3.25rem); font-weight: 700; line-height: 1.2; margin: 1.25rem 0 0; }
.tvx-models-desc  { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2; max-width: 28rem; margin: 0; }
.tvx-models-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) { .tvx-models-grid { grid-template-columns: repeat(3, 1fr); } }
.tvx-model-card {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1rem;
    padding: 2.25rem;
    transition: var(--tvx-transition);
}
.tvx-model-card:hover { transform: translateY(-12px) scale(1.02); box-shadow: 0 20px 40px rgba(0,0,0,0.08); }
.tvx-model-card--gold:hover { border-color: rgba(212,155,48,0.5); }
.tvx-model-card--sky:hover  { border-color: rgba(75,174,232,0.5); }
.tvx-model-head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; }
.tvx-model-icon {
    width: 48px; height: 48px;
    border: 1px solid var(--tvx-border);
    border-radius: 999px;
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.4s;
}
.tvx-model-card:hover .tvx-model-icon { transform: rotate(15deg); }
.tvx-model-icon i { font-size: 1.125rem; }
.tvx-model-card--gold .tvx-model-icon i { color: var(--tvx-gold); }
.tvx-model-card--sky  .tvx-model-icon i { color: var(--tvx-sky); }
.tvx-model-chip { font-size: 10px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--tvx-muted-fg); }
.tvx-model-card--gold .tvx-model-chip { color: var(--tvx-gold); }
.tvx-model-card--sky  .tvx-model-chip { color: var(--tvx-sky); }
.tvx-model-title { font-size: 1.125rem; font-weight: 700; margin: 0 0 1rem; }
.tvx-model-desc  { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0; }

/* ==========================================================================
   Investor Portal
   ========================================================================== */
.tvx-investor {
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    padding: 5rem 1.5rem;
    position: relative;
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-investor { padding: 10rem 3rem; } }
.tvx-investor-glow,
.tvx-investor-glow-2 {
    position: absolute;
    inset: 0;
    pointer-events: none;
}
.tvx-investor-glow    { background: radial-gradient(600px circle at 30% 30%, rgba(212,155,48,0.10), transparent 60%); opacity: 0.6; }
.tvx-investor-glow-2  { background: radial-gradient(500px circle at 70% 70%, rgba(75,174,232,0.08), transparent 60%); opacity: 0.5; }
.tvx-investor-ring {
    position: absolute;
    border-radius: 50%;
    border: 1px solid rgba(235,235,235,0.04);
    animation: tvx-pulse 8s ease-in-out infinite;
}
.tvx-investor-ring--1 { top: 5rem; left: 2.5rem; width: 18rem; height: 18rem; }
.tvx-investor-ring--2 { bottom: 5rem; right: 2.5rem; width: 24rem; height: 24rem; animation-duration: 10s; }
.tvx-investor-inner { max-width: 1280px; margin: 0 auto; position: relative; }
.tvx-investor-header { text-align: center; margin-bottom: 5rem; }
.tvx-investor-title { font-size: clamp(1.75rem, 5vw, 4rem); font-weight: 700; line-height: 1.2; margin: 1.5rem 0 0; }
.tvx-investor-grid {
    display: grid;
    gap: 3rem;
    align-items: flex-start;
    margin-bottom: 5rem;
}
@media (min-width: 768px) { .tvx-investor-grid { grid-template-columns: 3fr 2fr; gap: 4rem; } }
.tvx-investor-text { font-size: 0.875rem; color: rgba(235,235,235,0.6); line-height: 2.2; margin: 0 0 1.5rem; }
.tvx-investor-features {
    display: grid;
    gap: 1rem;
    margin-top: 2rem;
}
@media (min-width: 640px) { .tvx-investor-features { grid-template-columns: 1fr 1fr; } }
.tvx-investor-feature {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    background: rgba(235,235,235,0.03);
    border: 1px solid rgba(235,235,235,0.08);
    border-radius: 1rem;
    padding: 1.25rem;
    transition: var(--tvx-transition);
}
.tvx-investor-feature:hover {
    border-color: rgba(235,235,235,0.2);
    background: rgba(235,235,235,0.06);
    transform: scale(1.04) translateY(-4px) rotate(-0.5deg);
}
.tvx-investor-feature-num {
    flex-shrink: 0;
    width: 36px; height: 36px;
    border-radius: 0.5rem;
    border: 1px solid rgba(235,235,235,0.15);
    background: rgba(235,235,235,0.05);
    display: flex; align-items: center; justify-content: center;
    font-size: 11px;
    font-weight: 700;
    transition: transform 0.6s;
}
.tvx-investor-feature:hover .tvx-investor-feature-num { transform: rotate(360deg); }
.tvx-investor-feature--gold .tvx-investor-feature-num { color: var(--tvx-gold); border-color: rgba(212,155,48,0.25); background: rgba(212,155,48,0.08); }
.tvx-investor-feature--sky  .tvx-investor-feature-num { color: var(--tvx-sky);  border-color: rgba(75,174,232,0.25); background: rgba(75,174,232,0.08); }
.tvx-investor-feature-text { font-size: 0.875rem; color: rgba(235,235,235,0.7); line-height: 1.7; }
.tvx-investor-card {
    border-radius: 1.25rem;
    overflow: hidden;
    border: 1px solid rgba(235,235,235,0.1);
    box-shadow: 0 20px 60px rgba(0,0,0,0.4);
    aspect-ratio: 1 / 1;
    background: var(--tvx-dark-bg);
    transition: transform 0.4s ease;
    will-change: transform;
}
.tvx-investor-card:hover { transform: perspective(1000px) rotateY(-3deg) rotateX(2deg); }
.tvx-investor-card video,
.tvx-investor-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.tvx-investor-banner {
    background: linear-gradient(135deg, rgba(212,155,48,0.08), rgba(235,235,235,0.04), rgba(75,174,232,0.06));
    border: 1px solid rgba(235,235,235,0.1);
    border-radius: 1.25rem;
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
}
@media (min-width: 768px) { .tvx-investor-banner { padding: 3.5rem; } }
.tvx-investor-banner-row {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    align-items: stretch;
    position: relative;
}
@media (min-width: 768px) { .tvx-investor-banner-row { flex-direction: row; align-items: center; } }
.tvx-investor-banner-left { flex: 0 0 auto; }
@media (min-width: 768px) { .tvx-investor-banner-left { width: 33%; } }
.tvx-investor-banner-right {
    flex: 1;
    color: rgba(235,235,235,0.6);
    font-size: 0.875rem;
    line-height: 2.2;
}
@media (min-width: 768px) {
    .tvx-investor-banner-right { border-right: 1px solid rgba(235,235,235,0.1); padding-right: 2.5rem; }
}
.tvx-investor-banner-eyebrow { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(235,235,235,0.4); }
.tvx-investor-banner-eyebrow i { color: var(--tvx-gold); font-size: 1.125rem; }
.tvx-investor-banner-title { font-size: 1.5rem; font-weight: 700; margin: 0; }
@media (min-width: 768px) { .tvx-investor-banner-title { font-size: 1.875rem; } }
.tvx-investor-banner-desc  { margin: 0; }

/* ==========================================================================
   Projects (homepage cards + page grid)
   ========================================================================== */
.tvx-projects-section {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 5rem 1.5rem;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-projects-section { padding: 8rem 3rem; } }
.tvx-projects-inner { max-width: 1280px; margin: 0 auto; }
.tvx-projects-header { margin-bottom: 4rem; }
.tvx-projects-title { font-size: clamp(1.75rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 1.5rem 0 0; }
.tvx-projects-list { display: flex; flex-direction: column; gap: 2.5rem; }
.tvx-project-card {
    display: block;
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    background: var(--tvx-card);
    background-size: cover;
    background-position: center;
    text-decoration: none !important;
    color: var(--tvx-fg);
    overflow: hidden;
    position: relative;
    transition: var(--tvx-transition);
}
.tvx-project-card:hover { transform: translateY(-6px); box-shadow: 0 20px 50px rgba(0,0,0,0.1); }
.tvx-project-card--gold:hover { border-color: rgba(212,155,48,0.4); }
.tvx-project-card--sky:hover  { border-color: rgba(75,174,232,0.4); }
.tvx-project-card-overlay {
    position: absolute; inset: 0;
    background: rgba(255,255,255,0.92);
    transition: background 0.5s;
}
.tvx-project-card:hover .tvx-project-card-overlay { background: rgba(255,255,255,0.85); }
.tvx-project-card-inner { position: relative; padding: 2rem; }
@media (min-width: 768px) { .tvx-project-card-inner { padding: 3.5rem; } }
.tvx-project-card-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; flex-wrap: wrap; }
.tvx-project-logo {
    width: 64px; height: 64px;
    border-radius: 0.85rem;
    object-fit: cover;
    box-shadow: 0 6px 16px rgba(0,0,0,0.1);
    transition: transform 0.4s;
}
@media (min-width: 768px) { .tvx-project-logo { width: 80px; height: 80px; } }
.tvx-project-card:hover .tvx-project-logo { transform: scale(1.1) rotate(3deg); }
.tvx-project-status { display: flex; align-items: center; gap: 0.75rem; }
.tvx-dot {
    width: 10px; height: 10px;
    border-radius: 999px;
    animation: tvx-dot-pulse 2s infinite;
}
@keyframes tvx-dot-pulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.3); }
}
.tvx-dot--active { background: #22c55e; }
.tvx-dot--dev    { background: rgba(115,115,115,0.6); }
.tvx-project-status-label { font-size: 10px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--tvx-muted-fg); }
.tvx-project-row {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
@media (min-width: 768px) { .tvx-project-row { flex-direction: row; align-items: center; justify-content: space-between; } }
.tvx-project-name { font-size: 1.5rem; font-weight: 700; margin: 0 0 0.75rem; }
@media (min-width: 768px) { .tvx-project-name { font-size: 2.25rem; } }
.tvx-project-subtitle { font-size: 0.875rem; color: var(--tvx-muted-fg); margin: 0; }
.tvx-project-cta { font-size: 12px; color: var(--tvx-muted-fg); transition: color 0.3s, transform 0.3s; flex-shrink: 0; }
.tvx-project-card:hover .tvx-project-cta { color: var(--tvx-fg); transform: translateX(-8px); }
.tvx-project-desc { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 2.5rem 0 0; max-width: 48rem; }
.tvx-projects-link-wrap { margin-top: 4rem; text-align: center; }
.tvx-projects-link {
    display: inline-flex; gap: 0.5rem;
    font-size: 12px;
    color: var(--tvx-fg);
    border-bottom: 1px solid rgba(26,26,26,0.4);
    padding-bottom: 0.25rem;
    text-decoration: none;
    transition: opacity 0.3s, transform 0.3s;
}
.tvx-projects-link:hover { opacity: 0.7; transform: translateX(-3px); }

/* ==========================================================================
   Project Detail (Veioura/Lumindra)
   ========================================================================== */
.tvx-project-detail-hero {
    position: relative;
    overflow: hidden;
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    padding: 8rem 1.5rem 6rem;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-project-detail-hero { padding: 11rem 3rem 8rem; } }
.tvx-pd-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    animation: tvx-kenburns 28s ease-in-out infinite alternate;
    opacity: 0.45;
}
.tvx-pd-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(20,20,20,0.6), rgba(20,20,20,0.7), rgba(20,20,20,1)); }
.tvx-pd-inner { position: relative; max-width: 980px; margin: 0 auto; }
.tvx-pd-back { font-size: 12px; color: rgba(235,235,235,0.55); text-decoration: none; display: inline-block; margin-bottom: 2rem; transition: color 0.3s; }
.tvx-pd-back:hover { color: var(--tvx-dark-fg); }
.tvx-pd-logo {
    width: 110px; height: 110px;
    border-radius: 1rem;
    object-fit: cover;
    box-shadow: 0 12px 30px rgba(0,0,0,0.5);
    margin-bottom: 1.25rem;
}
@media (min-width: 768px) { .tvx-pd-logo { width: 150px; height: 150px; } }
.tvx-pd-status { display: inline-flex; align-items: center; gap: 0.75rem; margin-bottom: 1.25rem; }
.tvx-pd-name { font-size: clamp(2rem, 6vw, 4.5rem); font-weight: 700; line-height: 1.2; margin: 0 0 0.5rem; }
.tvx-pd-subtitle { font-size: 1rem; color: rgba(235,235,235,0.6); margin: 0; }
@media (min-width: 768px) { .tvx-pd-subtitle { font-size: 1.125rem; } }
.tvx-pd-desc { font-size: 0.95rem; color: rgba(235,235,235,0.5); line-height: 2.2; max-width: 48rem; margin: 2.25rem 0 0; }
.tvx-pd-website-btn {
    display: inline-flex; align-items: center; gap: 0.75rem;
    margin-top: 2.25rem;
    font-size: 12px;
    padding: 0.75rem 1.5rem;
    border-radius: 999px;
    border: 1px solid;
    transition: var(--tvx-transition);
    text-decoration: none !important;
}
.tvx-pd-website-btn--gold { background: rgba(212,155,48,0.1); border-color: rgba(212,155,48,0.3); color: var(--tvx-gold) !important; }
.tvx-pd-website-btn--gold:hover { background: rgba(212,155,48,0.2); transform: scale(1.05); }
.tvx-pd-website-btn--sky { background: rgba(75,174,232,0.1); border-color: rgba(75,174,232,0.3); color: var(--tvx-sky) !important; }
.tvx-pd-website-btn--sky:hover { background: rgba(75,174,232,0.2); transform: scale(1.05); }

.tvx-pd-section {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 5rem 1.5rem;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-pd-section { padding: 7rem 3rem; } }
.tvx-pd-section--soft-gold { background: rgba(212,155,48,0.05); }
.tvx-pd-section--soft-sky  { background: rgba(75,174,232,0.05); }
.tvx-pd-section--dark { background: var(--tvx-dark-bg); color: var(--tvx-dark-fg); }
.tvx-pd-section-inner { max-width: 1100px; margin: 0 auto; }
.tvx-pd-section-inner--md { max-width: 1100px; }
.tvx-pd-section-grid {
    display: grid;
    gap: 2.5rem;
}
@media (min-width: 768px) { .tvx-pd-section-grid { grid-template-columns: 4fr 8fr; } }
.tvx-pd-eyebrow { font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--tvx-muted-fg); }
.tvx-pd-section--dark .tvx-pd-eyebrow { color: rgba(235,235,235,0.5); }
.tvx-pd-h2 { font-size: 1.5rem; font-weight: 700; margin: 1rem 0 0; }
@media (min-width: 768px) { .tvx-pd-h2 { font-size: 1.875rem; } }
.tvx-pd-section-text { font-size: 0.95rem; color: var(--tvx-muted-fg); line-height: 2.2; margin: 0; }
.tvx-pd-section--dark .tvx-pd-section-text { color: rgba(235,235,235,0.55); }

.tvx-pd-components {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
}
@media (min-width: 640px) { .tvx-pd-components { grid-template-columns: 1fr 1fr; } }
.tvx-pd-component {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1rem;
    padding: 2rem;
    transition: var(--tvx-transition);
}
.tvx-pd-component:hover { transform: translateY(-6px) scale(1.02); box-shadow: 0 12px 30px rgba(0,0,0,0.06); }
.tvx-pd-component--gold:hover { border-color: rgba(212,155,48,0.6); }
.tvx-pd-component--sky:hover  { border-color: rgba(75,174,232,0.6); }
.tvx-pd-component-head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.tvx-pd-component-icon {
    width: 48px; height: 48px;
    border-radius: 999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.4s;
}
.tvx-pd-component:hover .tvx-pd-component-icon { transform: rotate(15deg); }
.tvx-pd-component-icon i { font-size: 1rem; }
.tvx-pd-component--gold .tvx-pd-component-icon i { color: var(--tvx-gold); }
.tvx-pd-component--sky  .tvx-pd-component-icon i { color: var(--tvx-sky); }
.tvx-pd-component-title { font-size: 1rem; font-weight: 700; margin: 0; }
.tvx-pd-component-desc { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0; }

.tvx-pd-workflow { display: flex; flex-direction: column; gap: 0.75rem; }
.tvx-pd-step {
    display: flex; align-items: center; gap: 1.5rem;
    border: 1px solid rgba(235,235,235,0.1);
    border-radius: 1rem;
    padding: 1.5rem;
    transition: all 0.3s;
}
.tvx-pd-step:hover { border-color: rgba(235,235,235,0.3); transform: translateX(-8px); }
.tvx-pd-step-num {
    font-weight: 900;
    font-size: 1.875rem;
    width: 64px; flex-shrink: 0;
    line-height: 1;
}
@media (min-width: 768px) { .tvx-pd-step-num { font-size: 2.25rem; } }
.tvx-pd-step--gold .tvx-pd-step-num { color: rgba(212,155,48,0.5); }
.tvx-pd-step:hover.tvx-pd-step--gold .tvx-pd-step-num { color: var(--tvx-gold); }
.tvx-pd-step--sky  .tvx-pd-step-num { color: rgba(75,174,232,0.5); }
.tvx-pd-step:hover.tvx-pd-step--sky  .tvx-pd-step-num { color: var(--tvx-sky); }
.tvx-pd-step-title { font-size: 0.95rem; color: rgba(235,235,235,0.7); }
@media (min-width: 768px) { .tvx-pd-step-title { font-size: 1rem; } }

.tvx-pd-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}
@media (min-width: 768px) { .tvx-pd-stats { grid-template-columns: repeat(4, 1fr); } }
.tvx-pd-stat {
    background: var(--tvx-card);
    border: 1px solid;
    border-radius: 1.25rem;
    padding: 2rem 1rem;
    text-align: center;
    transition: var(--tvx-transition);
}
.tvx-pd-stat--gold { border-color: rgba(212,155,48,0.3); }
.tvx-pd-stat--gold:hover { border-color: rgba(212,155,48,0.6); transform: translateY(-6px) scale(1.03); }
.tvx-pd-stat--sky  { border-color: rgba(75,174,232,0.3); }
.tvx-pd-stat--sky:hover { border-color: rgba(75,174,232,0.6); transform: translateY(-6px) scale(1.03); }
.tvx-pd-stat-value { font-size: 1.75rem; font-weight: 700; line-height: 1; margin: 0 0 0.5rem; display: block; }
@media (min-width: 768px) { .tvx-pd-stat-value { font-size: 2rem; } }
.tvx-pd-stat--gold .tvx-pd-stat-value { color: var(--tvx-gold); }
.tvx-pd-stat--sky  .tvx-pd-stat-value { color: var(--tvx-sky); }
.tvx-pd-stat-label { font-size: 10px; color: var(--tvx-muted-fg); line-height: 1.8; }

.tvx-pd-three {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) { .tvx-pd-three { grid-template-columns: repeat(3, 1fr); } }
.tvx-pd-three-card {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    padding: 2rem;
    height: 100%;
}
.tvx-pd-three-icon { font-size: 1.5rem; margin-bottom: 1rem; display: block; }
.tvx-pd-three--gold .tvx-pd-three-icon { color: var(--tvx-gold); }
.tvx-pd-three--sky  .tvx-pd-three-icon { color: var(--tvx-sky); }
.tvx-pd-three-title { font-size: 1.125rem; font-weight: 700; margin: 0 0 0.75rem; }
.tvx-pd-three-text { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0; }

/* ==========================================================================
   Blog Section (homepage 3 cards + page grid + post)
   ========================================================================== */
.tvx-blog-section {
    position: relative;
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    padding: 5rem 1.5rem;
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-blog-section { padding: 8rem 3rem; } }
.tvx-blog-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0.5;
}
.tvx-blog-overlay { position: absolute; inset: 0; background: rgba(20,20,20,0.6); }
.tvx-blog-inner { position: relative; max-width: 1280px; margin: 0 auto; }
.tvx-blog-header {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 4rem;
}
@media (min-width: 768px) { .tvx-blog-header { flex-direction: row; justify-content: space-between; align-items: flex-end; } }
.tvx-blog-title { font-size: clamp(1.75rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 1rem 0 0; }
.tvx-blog-desc  { font-size: 0.875rem; color: rgba(235,235,235,0.5); line-height: 2; max-width: 28rem; margin: 0; }
.tvx-blog-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) { .tvx-blog-grid { grid-template-columns: repeat(3, 1fr); } }
.tvx-blog-card {
    display: block;
    border: 1px solid rgba(235,235,235,0.1);
    border-radius: 1rem;
    overflow: hidden;
    background: rgba(20,20,20,0.5);
    backdrop-filter: blur(4px);
    height: 100%;
    text-decoration: none !important;
    color: inherit;
    transition: var(--tvx-transition);
}
.tvx-blog-card:hover { transform: translateY(-8px) scale(1.02); border-color: rgba(235,235,235,0.25); }
.tvx-blog-card-img {
    height: 11rem;
    background-size: cover;
    background-position: center;
    overflow: hidden;
}
.tvx-blog-card-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.7s;
}
.tvx-blog-card:hover .tvx-blog-card-img img { transform: scale(1.1); }
.tvx-blog-card-body { padding: 2rem; }
.tvx-blog-card-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; font-size: 10px; color: rgba(235,235,235,0.4); }
.tvx-blog-card-meta-dot { width: 4px; height: 4px; border-radius: 999px; background: rgba(235,235,235,0.3); }
.tvx-blog-card-title { font-size: 1rem; font-weight: 700; line-height: 1.7; margin: 0 0 1rem; transition: color 0.3s; }
.tvx-blog-card:hover .tvx-blog-card-title { color: rgba(235,235,235,0.6); }
.tvx-blog-card-excerpt { font-size: 0.75rem; color: rgba(235,235,235,0.5); line-height: 2; margin: 0; }
.tvx-blog-card-cta {
    margin-top: 2rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 10px;
    color: rgba(235,235,235,0.4);
    transition: color 0.3s, transform 0.3s;
}
.tvx-blog-card:hover .tvx-blog-card-cta { color: var(--tvx-dark-fg); transform: translateX(-3px); }
.tvx-blog-link-wrap { margin-top: 4rem; text-align: center; }
.tvx-blog-link {
    font-size: 12px;
    color: var(--tvx-dark-fg);
    border-bottom: 1px solid rgba(235,235,235,0.4);
    padding-bottom: 0.25rem;
    text-decoration: none;
    transition: opacity 0.3s;
}
.tvx-blog-link:hover { opacity: 0.7; }

/* Light blog grid for /blog page */
.tvx-blog-page {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 4rem 1.5rem;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-blog-page { padding: 6rem 3rem; } }
.tvx-blog-page-inner { max-width: 1280px; margin: 0 auto; }
.tvx-blog-topics {
    display: flex; flex-wrap: wrap; gap: 0.75rem;
    margin-bottom: 4rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid var(--tvx-border);
}
.tvx-blog-topic-chip {
    background: var(--tvx-muted);
    color: var(--tvx-muted-fg);
    font-size: 11px;
    padding: 0.6rem 1.25rem;
    border-radius: 999px;
    border: 1px solid var(--tvx-border);
    transition: var(--tvx-transition);
}
.tvx-blog-topic-chip:hover { transform: translateY(-2px) scale(1.05); border-color: rgba(26,26,26,0.2); }
.tvx-blog-featured {
    border: 1px solid var(--tvx-border);
    background: var(--tvx-card);
    border-radius: 1.25rem;
    padding: 2.5rem;
    margin-bottom: 4rem;
    display: block;
    text-decoration: none !important;
    color: inherit;
    transition: var(--tvx-transition);
}
@media (min-width: 768px) { .tvx-blog-featured { padding: 4rem; } }
.tvx-blog-featured:hover { transform: translateY(-6px); border-color: rgba(26,26,26,0.2); box-shadow: 0 16px 40px rgba(0,0,0,0.06); }
.tvx-blog-featured-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; font-size: 10px; color: var(--tvx-muted-fg); }
.tvx-blog-featured-title { font-size: clamp(1.5rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.3; margin: 0 0 1.5rem; transition: color 0.3s; }
.tvx-blog-featured:hover .tvx-blog-featured-title { color: var(--tvx-muted-fg); }
.tvx-blog-featured-excerpt { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0 0 2rem; max-width: 56rem; }
.tvx-blog-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tvx-blog-tag { font-size: 9px; background: var(--tvx-fg); color: var(--tvx-bg); padding: 0.25rem 0.75rem; border-radius: 3px; }
.tvx-blog-tag--soft { background: var(--tvx-muted); color: var(--tvx-muted-fg); }
.tvx-blog-page-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) { .tvx-blog-page-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tvx-blog-page-grid { grid-template-columns: repeat(3, 1fr); } }
.tvx-blog-page-card {
    display: block;
    border: 1px solid var(--tvx-border);
    background: var(--tvx-card);
    border-radius: 1rem;
    overflow: hidden;
    text-decoration: none !important;
    color: inherit;
    height: 100%;
    transition: var(--tvx-transition);
}
.tvx-blog-page-card:hover { transform: translateY(-8px) scale(1.02); border-color: rgba(26,26,26,0.2); box-shadow: 0 14px 30px rgba(0,0,0,0.06); }
.tvx-blog-page-card-img { height: 10rem; overflow: hidden; }
.tvx-blog-page-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; display: block; }
.tvx-blog-page-card:hover .tvx-blog-page-card-img img { transform: scale(1.1); }
.tvx-blog-page-card-body { padding: 2rem; }
.tvx-blog-page-card-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; font-size: 10px; color: var(--tvx-muted-fg); }
.tvx-blog-page-card-title { font-size: 1rem; font-weight: 700; margin: 0 0 1rem; line-height: 1.7; transition: color 0.3s; }
.tvx-blog-page-card:hover .tvx-blog-page-card-title { color: var(--tvx-muted-fg); }
.tvx-blog-page-card-excerpt { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0 0 1.5rem; }

/* Blog post body */
.tvx-post {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 8rem 1.5rem 5rem;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-post { padding: 11rem 3rem 6rem; } }
.tvx-post-inner { max-width: 760px; margin: 0 auto; }
.tvx-post-back { font-size: 12px; color: var(--tvx-muted-fg); text-decoration: none; display: inline-block; margin-bottom: 2.5rem; transition: color 0.3s; }
.tvx-post-back:hover { color: var(--tvx-fg); }
.tvx-post-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2rem; font-size: 11px; color: var(--tvx-muted-fg); }
.tvx-post-meta-dot { width: 4px; height: 4px; border-radius: 999px; background: var(--tvx-muted-fg); }
.tvx-post-title { font-size: clamp(1.875rem, 5vw, 3.25rem); font-weight: 700; line-height: 1.3; margin: 0 0 2.5rem; }
.tvx-post-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 3.5rem; }
.tvx-post-img { border-radius: 1.25rem; overflow: hidden; margin-bottom: 3.5rem; }
.tvx-post-img img { width: 100%; height: 16rem; object-fit: cover; display: block; }
@media (min-width: 768px) { .tvx-post-img img { height: 20rem; } }
.tvx-post-body p { font-size: 1rem; color: var(--tvx-muted-fg); line-height: 2.4; margin: 0 0 2rem; }
.tvx-post-body p:first-of-type strong { color: var(--tvx-fg); }

.tvx-post-related { padding: 5rem 1.5rem; border-top: 1px solid var(--tvx-border); direction: rtl; }
@media (min-width: 768px) { .tvx-post-related { padding: 6rem 3rem; } }
.tvx-post-related-inner { max-width: 760px; margin: 0 auto; }
.tvx-post-related-title { font-size: 1.25rem; font-weight: 700; margin: 0 0 2.5rem; }
.tvx-post-related-grid {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1fr;
}
@media (min-width: 768px) { .tvx-post-related-grid { grid-template-columns: 1fr 1fr; } }
.tvx-post-related-card {
    display: block;
    border: 1px solid var(--tvx-border);
    border-radius: 1rem;
    padding: 1.5rem;
    text-decoration: none !important;
    color: inherit;
    transition: var(--tvx-transition);
}
.tvx-post-related-card:hover { transform: translateY(-5px) scale(1.02); border-color: rgba(26,26,26,0.2); }
.tvx-post-related-card-date { font-size: 10px; color: var(--tvx-muted-fg); }
.tvx-post-related-card-title { font-size: 0.875rem; font-weight: 700; margin: 0.75rem 0 0.5rem; }
.tvx-post-related-card-excerpt { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0; }

/* ==========================================================================
   Newsletter (envelope visual)
   ========================================================================== */
.tvx-newsletter {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 5rem 1.5rem;
    border-top: 1px solid var(--tvx-border);
    direction: rtl;
}
@media (min-width: 768px) { .tvx-newsletter { padding: 8rem 3rem; } }
.tvx-newsletter-inner { max-width: 720px; margin: 0 auto; }
.tvx-newsletter-frame {
    position: relative;
    border-radius: 1.5rem;
    border: 1px solid rgba(224,224,224,0.6);
    background: rgba(255,255,255,0.5);
    backdrop-filter: blur(4px);
    overflow: hidden;
}
.tvx-newsletter-flap { position: relative; height: 5rem; overflow: hidden; }
@media (min-width: 768px) { .tvx-newsletter-flap { height: 7rem; } }
.tvx-newsletter-flap svg { width: 100%; height: 100%; }
.tvx-newsletter-stamp {
    position: absolute;
    top: 0.75rem; left: 1rem;
    width: 40px; height: 50px;
    border: 2px dashed rgba(115,115,115,0.2);
    border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.4s;
    transform: rotate(-5deg);
}
.tvx-newsletter-stamp:hover { transform: rotate(0deg) scale(1.1); }
.tvx-newsletter-stamp i { color: rgba(115,115,115,0.3); font-size: 0.875rem; }
@media (min-width: 768px) {
    .tvx-newsletter-stamp { left: 2rem; width: 48px; height: 60px; }
}
.tvx-newsletter-body {
    padding: 2.5rem;
    margin-top: -1rem;
    position: relative;
    text-align: center;
}
@media (min-width: 768px) { .tvx-newsletter-body { padding: 0 3.5rem 3.5rem; } }
.tvx-newsletter-mail {
    width: 64px; height: 64px;
    margin: 0 auto 2rem;
    border: 1px solid rgba(224,224,224,0.6);
    border-radius: 999px;
    background: rgba(245,245,245,0.5);
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.4s;
}
.tvx-newsletter-mail:hover { transform: scale(1.1) rotate(-10deg); }
.tvx-newsletter-mail i { font-size: 1.5rem; color: rgba(26,26,26,0.6); }
.tvx-newsletter-eyebrow { display: block; margin-bottom: 1rem; }
.tvx-newsletter-title { font-size: clamp(1.5rem, 4vw, 2.25rem); font-weight: 700; margin: 0 0 1.25rem; }
.tvx-newsletter-desc { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0 auto 2.5rem; max-width: 28rem; }
.tvx-newsletter-form {
    max-width: 520px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
@media (min-width: 640px) { .tvx-newsletter-form { flex-direction: row; align-items: stretch; } }
.tvx-newsletter-input-wrap {
    flex: 1;
    display: flex;
    align-items: center;
    border: 1px solid var(--tvx-border);
    border-radius: 999px;
    background: rgba(245,245,245,0.8);
    overflow: hidden;
    transition: border-color 0.3s;
}
.tvx-newsletter-input-wrap:focus-within { border-color: rgba(26,26,26,0.3); }
.tvx-newsletter-input {
    flex: 1;
    background: transparent;
    border: none;
    padding: 1rem 1.25rem;
    font-size: 0.875rem;
    text-align: right;
    outline: none;
    min-width: 0;
    color: var(--tvx-fg);
    font-family: inherit;
}
.tvx-newsletter-input::placeholder { color: rgba(115,115,115,0.5); }
.tvx-newsletter-input-icon {
    padding-right: 1rem;
    padding-left: 1.25rem;
    color: rgba(115,115,115,0.4);
}
.tvx-newsletter-btn {
    background: var(--tvx-fg);
    color: var(--tvx-bg) !important;
    border: none;
    border-radius: 999px;
    padding: 0.85rem 1.75rem;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    flex-shrink: 0;
    transition: var(--tvx-transition);
    font-family: inherit;
}
.tvx-newsletter-btn:hover { transform: scale(1.05); opacity: 0.9; }

/* ==========================================================================
   Contact CTA (homepage)
   ========================================================================== */
.tvx-contact-cta {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 5rem 1.5rem;
    border-top: 1px solid var(--tvx-border);
    text-align: center;
    direction: rtl;
    position: relative;
    overflow: hidden;
}
@media (min-width: 768px) { .tvx-contact-cta { padding: 8rem 3rem; } }
.tvx-contact-cta-bg { position: absolute; inset: 0; opacity: 0.025; pointer-events: none; }
.tvx-contact-cta-inner { max-width: 56rem; margin: 0 auto; position: relative; }
.tvx-contact-cta-title { font-size: clamp(1.75rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 1.5rem 0 2rem; }
.tvx-contact-cta-desc { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2.2; max-width: 36rem; margin: 0 auto 3.5rem; }
.tvx-contact-cta-btns { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem; }

/* ==========================================================================
   Contact Page (form + info row + map)
   ========================================================================== */
.tvx-contact-page {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 4rem 1.5rem;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-contact-page { padding: 6rem 3rem; } }
.tvx-contact-page-inner { max-width: 1280px; margin: 0 auto; }
.tvx-contact-info {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
    margin-bottom: 3.5rem;
    padding-bottom: 3.5rem;
    border-bottom: 1px solid var(--tvx-border);
}
@media (min-width: 640px) { .tvx-contact-info { grid-template-columns: repeat(3, 1fr); } }
.tvx-contact-info-label { display: block; font-size: 10px; color: var(--tvx-muted-fg); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.5rem; }
.tvx-contact-info-value { font-size: 1rem; font-weight: 700; color: var(--tvx-fg); text-decoration: none; transition: opacity 0.3s; word-break: break-all; }
.tvx-contact-info-value:hover { opacity: 0.7; }
.tvx-contact-info-detail { font-size: 0.75rem; color: var(--tvx-muted-fg); margin-top: 0.25rem; }
.tvx-contact-info-socials { display: flex; gap: 0.75rem; }
.tvx-social-icon {
    width: 40px; height: 40px;
    border-radius: 999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    color: var(--tvx-muted-fg);
    transition: var(--tvx-transition);
}
.tvx-social-icon:hover { transform: translateY(-3px) scale(1.15); color: var(--tvx-fg); border-color: rgba(26,26,26,0.3); }
.tvx-social-icon--gold:hover { background: rgba(212,155,48,0.1); }
.tvx-social-icon--sky:hover  { background: rgba(75,174,232,0.1); }

.tvx-contact-grid {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr;
}
@media (min-width: 1024px) { .tvx-contact-grid { grid-template-columns: 3fr 2fr; } }

.tvx-contact-form-wrap {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    padding: 2rem;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04);
    height: 100%;
    transition: box-shadow 0.5s;
}
@media (min-width: 768px) { .tvx-contact-form-wrap { padding: 2.5rem; } }
.tvx-contact-form-wrap:hover { box-shadow: 0 16px 50px rgba(0,0,0,0.08); }
.tvx-contact-form-title { font-size: 1.125rem; font-weight: 700; margin: 0 0 2rem; }
.tvx-contact-form { display: flex; flex-direction: column; gap: 1.25rem; }
.tvx-field { display: flex; flex-direction: column; }
.tvx-field-label { font-size: 11px; color: var(--tvx-muted-fg); margin-bottom: 0.5rem; }
.tvx-input, .tvx-textarea {
    width: 100%;
    background: transparent;
    border: 1px solid var(--tvx-border);
    border-radius: 0.5rem;
    padding: 0.85rem 1rem;
    font-size: 0.875rem;
    color: var(--tvx-fg);
    font-family: inherit;
    transition: border-color 0.3s;
    outline: none;
}
.tvx-input:focus, .tvx-textarea:focus { border-color: rgba(212,155,48,0.5); }
.tvx-textarea { resize: vertical; min-height: 7rem; }
.tvx-contact-submit-btn {
    width: 100%;
    background: var(--tvx-fg);
    color: var(--tvx-bg);
    border: none;
    border-radius: 0.5rem;
    padding: 0.95rem;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    transition: var(--tvx-transition);
    font-family: inherit;
    margin-top: 0.5rem;
}
.tvx-contact-submit-btn:hover { transform: scale(1.02); opacity: 0.92; }
.tvx-contact-success, .tvx-contact-error {
    padding: 1rem 1.25rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
    border: 1px solid;
}
.tvx-contact-success { background: rgba(34,197,94,0.08); border-color: rgba(34,197,94,0.3); color: #166534; }
.tvx-contact-error   { background: rgba(239,68,68,0.08);  border-color: rgba(239,68,68,0.3);  color: #991b1b; }

.tvx-contact-map-wrap {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.tvx-contact-map-head { padding: 1.5rem; border-bottom: 1px solid var(--tvx-border); }
.tvx-contact-map-head-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; }
.tvx-contact-map-icon {
    width: 36px; height: 36px;
    border-radius: 999px;
    background: rgba(212,155,48,0.1);
    border: 1px solid rgba(212,155,48,0.2);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.tvx-contact-map-icon i { color: var(--tvx-gold); font-size: 0.875rem; }
.tvx-contact-map-addr { font-size: 0.875rem; font-weight: 700; margin: 0; }
.tvx-contact-map-detail { font-size: 11px; color: var(--tvx-muted-fg); margin: 0.25rem 0 0; }
.tvx-contact-map-note { font-size: 10px; color: rgba(115,115,115,0.7); line-height: 1.8; margin-top: 0.75rem; }
.tvx-contact-map-iframe { border: 0; min-height: 320px; flex: 1; width: 100%; filter: grayscale(1); opacity: 0.9; transition: filter 0.7s, opacity 0.7s; }
.tvx-contact-map-iframe:hover { filter: grayscale(0); opacity: 1; }

/* ==========================================================================
   Footer
   ========================================================================== */
.tvx-footer {
    background: var(--tvx-bg);
    color: var(--tvx-fg);
    padding: 2.5rem 1.5rem;
    border-top: 1px solid var(--tvx-border);
    direction: rtl;
}
@media (min-width: 768px) { .tvx-footer { padding: 2.5rem 3rem; } }
.tvx-footer-inner {
    max-width: 1280px; margin: 0 auto;
    display: flex; flex-direction: column;
    align-items: center; justify-content: space-between;
    gap: 1.5rem;
}
@media (min-width: 768px) { .tvx-footer-inner { flex-direction: row; } }
.tvx-footer-left { display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; justify-content: center; }
.tvx-footer-brand { display: flex; align-items: center; gap: 0.5rem; text-decoration: none !important; }
.tvx-footer-logo { height: 32px; width: 32px; object-fit: contain; border-radius: 4px; }
.tvx-footer-name { font-size: 0.875rem; font-weight: 700; color: var(--tvx-fg); }
.tvx-footer-nav { display: none; align-items: center; gap: 1.25rem; font-size: 11px; color: var(--tvx-muted-fg); }
@media (min-width: 768px) { .tvx-footer-nav { display: flex; } }
.tvx-footer-nav a { text-decoration: none; color: inherit; transition: color 0.3s; }
.tvx-footer-nav a:hover { color: var(--tvx-fg); }
.tvx-footer-right { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; justify-content: center; }
.tvx-footer-socials { display: flex; gap: 0.75rem; }
.tvx-footer-social {
    width: 28px; height: 28px;
    border-radius: 999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    color: var(--tvx-muted-fg);
    text-decoration: none;
    transition: all 0.3s;
}
.tvx-footer-social:hover { color: var(--tvx-fg); border-color: rgba(26,26,26,0.3); }
.tvx-footer-social i { font-size: 0.7rem; }
.tvx-footer-copy { font-size: 10px; color: rgba(115,115,115,0.7); }
.tvx-agency-link { color: inherit; font-weight: 700; text-decoration: none; transition: color 0.3s; }
.tvx-agency-link:hover { color: var(--tvx-gold); }

/* ==========================================================================
   Theme override safety net
   ========================================================================== */
[class*="tvx-"] a:not(.tvx-btn):not(.tvx-navbar-cta):not(.tvx-mobile-link):not(.tvx-pd-website-btn):not(.tvx-blog-card):not(.tvx-blog-page-card):not(.tvx-blog-featured):not(.tvx-post-related-card):not(.tvx-project-card):not(.tvx-projects-page-card):not(.tvx-footer-brand):not(.tvx-footer-social):not(.tvx-navbar-brand):not(.tvx-navbar-link):not(.tvx-blog-card-cta):not(.tvx-blog-link):not(.tvx-projects-link):not(.tvx-about-link):not(.tvx-post-back):not(.tvx-pd-back):not(.tvx-contact-info-value):not(.tvx-contact-topcol-email):not(.tvx-contact-social):not(.tvx-contact-cta-solid):not(.tvx-contact-cta-outline):not(.tvx-pd-cta-solid):not(.tvx-pd-cta-outline):not(.tvx-pd-cta-outline--gold):not(.tvx-pd-cta-outline--sky):not(.tvx-social-icon):not(.tvx-agency-link):not(.tvx-hero-socials a) {
    color: inherit;
}

/* ==========================================================================
   Project Detail v2 — extra classes (Lovable-aligned rewrite)
   ========================================================================== */

/* New hero alias */
.tvx-pd-hero {
    position: relative;
    overflow: hidden;
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    padding: 8rem 1.5rem 6rem;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-pd-hero { padding: 11rem 3rem 8rem; } }
.tvx-pd-hero-inner { position: relative; max-width: 1100px; margin: 0 auto; }
.tvx-pd-hero-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; margin-bottom: 1.25rem; }
.tvx-pd-status-row { display: inline-flex; align-items: center; gap: 0.75rem; }
.tvx-pd-status-label { font-size: 10px; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(235,235,235,0.5); }

/* Section head block (when eyebrow + h2 sit above a grid like 4-card components) */
.tvx-pd-section-head-block { margin-bottom: 3rem; }

/* Eyebrow accent variants */
.tvx-pd-eyebrow--gold { color: rgba(212,155,48,0.7); }
.tvx-pd-eyebrow--sky  { color: rgba(75,174,232,0.7); }
.tvx-pd-eyebrow--ondark { color: rgba(235,235,235,0.5); }
.tvx-pd-h2--ondark { color: var(--tvx-dark-fg); }

/* Stats accent variants */
.tvx-pd-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}
@media (min-width: 768px) { .tvx-pd-stats { grid-template-columns: repeat(4, 1fr); } }
.tvx-pd-stat {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    padding: 2rem;
    text-align: center;
    transition: transform 0.5s, border-color 0.3s, box-shadow 0.5s;
}
.tvx-pd-stat:hover { transform: translateY(-6px) scale(1.03); box-shadow: 0 12px 30px rgba(0,0,0,0.06); }
.tvx-pd-stat--gold:hover { border-color: rgba(212,155,48,0.6); }
.tvx-pd-stat--sky:hover  { border-color: rgba(75,174,232,0.6); }
.tvx-pd-stat-value { display: block; font-size: 1.5rem; font-weight: 700; margin-bottom: 0.5rem; }
@media (min-width: 768px) { .tvx-pd-stat-value { font-size: 1.875rem; } }
.tvx-pd-stat--gold .tvx-pd-stat-value { color: var(--tvx-gold); }
.tvx-pd-stat--sky  .tvx-pd-stat-value { color: var(--tvx-sky); }
.tvx-pd-stat-label { display: block; font-size: 10px; color: var(--tvx-muted-fg); line-height: 1.8; }

/* Three-card section icon accent variants on the "soft" backgrounds */
.tvx-pd-three-icon--gold { color: var(--tvx-gold); }
.tvx-pd-three-icon--sky  { color: var(--tvx-sky); }
.tvx-pd-three-status-row { display: inline-flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.tvx-pd-three-status-row .tvx-pd-three-icon { margin: 0; }

/* Project-detail Contact CTA block */
.tvx-pd-cta-inner {
    max-width: 56rem;
    margin: 0 auto;
    text-align: center;
    direction: rtl;
}
.tvx-pd-cta-title { font-size: 1.875rem; font-weight: 700; margin: 1rem 0 1.5rem; }
@media (min-width: 768px) { .tvx-pd-cta-title { font-size: 2.25rem; } }
.tvx-pd-cta-desc { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2.2; max-width: 36rem; margin: 0 auto 2.5rem; }
.tvx-pd-cta-btns {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 1rem;
}
@media (min-width: 640px) { .tvx-pd-cta-btns { flex-direction: row; } }
.tvx-pd-cta-solid {
    background: var(--tvx-fg) !important;
    color: var(--tvx-bg) !important;
    font-size: 12px;
    padding: 0.875rem 2rem;
    border-radius: 9999px;
    text-decoration: none !important;
    display: inline-block;
    transition: opacity 0.2s, transform 0.2s;
}
.tvx-pd-cta-solid:hover { opacity: 0.8; transform: scale(1.05); }
.tvx-pd-cta-outline {
    font-size: 12px;
    padding: 0.875rem 2rem;
    border-radius: 9999px;
    border: 1px solid;
    text-decoration: none !important;
    display: inline-block;
    transition: background 0.3s, transform 0.2s;
}
.tvx-pd-cta-outline--gold { background: rgba(212,155,48,0.1); border-color: rgba(212,155,48,0.3); color: var(--tvx-gold) !important; }
.tvx-pd-cta-outline--gold:hover { background: rgba(212,155,48,0.2); transform: scale(1.05); }
.tvx-pd-cta-outline--sky  { background: rgba(75,174,232,0.1); border-color: rgba(75,174,232,0.3); color: var(--tvx-sky) !important; }
.tvx-pd-cta-outline--sky:hover  { background: rgba(75,174,232,0.2); transform: scale(1.05); }
.tvx-pd-cta-market { font-size: 11px; color: var(--tvx-muted-fg); margin: 2.5rem 0 0; }

/* Hero website button — wrap span gap */
.tvx-pd-website-btn { gap: 0.75rem; }

/* New project-card neutral accent + glow */
.tvx-project-card--neutral:hover { border-color: rgba(0,0,0,0.2); }
.tvx-project-card-glow {
    position: absolute; inset: 0;
    background: linear-gradient(to bottom left, rgba(212,155,48,0.08), transparent, transparent);
    opacity: 0; pointer-events: none;
    transition: opacity 0.7s;
}
.tvx-project-card--sky .tvx-project-card-glow { background: linear-gradient(to bottom left, rgba(75,174,232,0.08), transparent, transparent); }
.tvx-project-card--neutral .tvx-project-card-glow { background: linear-gradient(to bottom left, rgba(0,0,0,0.04), transparent, transparent); }
.tvx-project-card:hover .tvx-project-card-glow { opacity: 1; }

/* ==========================================================================
   Projects Page list (per-project full card)
   ========================================================================== */
.tvx-projects-page-list {
    padding: 6rem 1.5rem;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-projects-page-list { padding: 9rem 3rem; } }
.tvx-projects-page-inner {
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 3rem;
}
.tvx-projects-page-card {
    display: block;
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    padding: 2rem;
    text-decoration: none !important;
    color: inherit;
    background: var(--tvx-card);
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.5s cubic-bezier(0.2,0.8,0.2,1), border-color 0.5s, box-shadow 0.5s;
}
@media (min-width: 768px) { .tvx-projects-page-card { padding: 3.5rem; } }
.tvx-projects-page-card:hover { transform: translateY(-6px); border-color: rgba(0,0,0,0.2); box-shadow: 0 20px 50px rgba(0,0,0,0.1); }
.tvx-projects-page-card-overlay {
    position: absolute; inset: 0;
    background: rgba(255,255,255,0.9);
    transition: background 0.5s;
}
.tvx-projects-page-card:hover .tvx-projects-page-card-overlay { background: rgba(255,255,255,0.85); }
.tvx-projects-page-card-inner { position: relative; }
.tvx-projects-page-card-head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.tvx-projects-page-card-logo {
    width: 40px; height: 40px;
    border-radius: 0.5rem;
    object-fit: cover;
    transition: transform 0.3s;
}
.tvx-projects-page-card:hover .tvx-projects-page-card-logo { transform: scale(1.15) rotate(5deg); }
.tvx-projects-page-card-status { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--tvx-muted-fg); }
.tvx-projects-page-card-name { font-size: 1.875rem; font-weight: 700; margin: 0 0 0.75rem; transition: color 0.3s; }
@media (min-width: 768px) { .tvx-projects-page-card-name { font-size: 2.25rem; } }
.tvx-projects-page-card:hover .tvx-projects-page-card-name { color: var(--tvx-muted-fg); }
.tvx-projects-page-card-subtitle { font-size: 0.875rem; color: var(--tvx-muted-fg); margin: 0 0 2rem; }
.tvx-projects-page-card-desc { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; max-width: 42rem; margin: 0; }
.tvx-projects-page-card-components {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-top: 2.5rem;
}
@media (min-width: 640px) { .tvx-projects-page-card-components { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tvx-projects-page-card-components { grid-template-columns: repeat(4, 1fr); } }
.tvx-projects-page-card-component {
    background: rgba(235,235,235,0.5);
    border-radius: 0.5rem;
    padding: 1.25rem;
    transition: background 0.3s, transform 0.3s;
}
.tvx-projects-page-card-component:hover { background: var(--tvx-muted); transform: translateY(-4px) scale(1.02); }
.tvx-projects-page-card-component-head { display: flex; align-items: center; gap: 0.5rem; margin-bottom: 0.5rem; }
.tvx-projects-page-card-component-head i { font-size: 0.875rem; }
.tvx-projects-page-card-component-head h4 { font-size: 0.75rem; font-weight: 700; margin: 0; }
.tvx-projects-page-card-component p { font-size: 10px; color: var(--tvx-muted-fg); line-height: 1.6; margin: 0; }
.tvx-projects-page-card-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--tvx-border);
}
@media (min-width: 768px) { .tvx-projects-page-card-stats { grid-template-columns: repeat(4, 1fr); } }
.tvx-projects-page-card-stat { text-align: center; }
.tvx-projects-page-card-stat-value { display: block; font-size: 1.5rem; font-weight: 700; color: var(--tvx-fg); margin-bottom: 0.25rem; }
.tvx-projects-page-card-stat-label { display: block; font-size: 9px; color: var(--tvx-muted-fg); }

/* ==========================================================================
   Home Contact CTA (rewritten — bordered top, mailto outline button)
   ========================================================================== */
.tvx-contact-cta {
    position: relative;
    padding: 7rem 1.5rem;
    border-top: 1px solid var(--tvx-border);
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-contact-cta { padding: 11rem 3rem; } }
.tvx-contact-cta-pattern {
    position: absolute; inset: 0;
    pointer-events: none;
    opacity: 0.02;
    color: var(--tvx-fg);
}
.tvx-contact-cta-inner { position: relative; max-width: 56rem; margin: 0 auto; text-align: center; }
.tvx-contact-cta-title { font-size: 1.875rem; font-weight: 700; margin: 1.5rem 0 2.5rem; }
@media (min-width: 768px) { .tvx-contact-cta-title { font-size: 3rem; } }
@media (min-width: 1024px) { .tvx-contact-cta-title { font-size: 3.75rem; } }
.tvx-contact-cta-desc { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2.2; max-width: 36rem; margin: 0 auto 3.5rem; }
.tvx-contact-cta-btns {
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    gap: 1rem;
}
@media (min-width: 640px) { .tvx-contact-cta-btns { flex-direction: row; } }
.tvx-contact-cta-solid {
    background: var(--tvx-fg) !important;
    color: var(--tvx-bg) !important;
    font-size: 12px;
    padding: 0.875rem 2rem;
    border-radius: 9999px;
    text-decoration: none !important;
    display: inline-block;
    transition: opacity 0.3s, transform 0.2s;
}
.tvx-contact-cta-solid:hover { opacity: 0.8; transform: scale(1.08); }
.tvx-contact-cta-outline {
    border: 1px solid var(--tvx-fg);
    color: var(--tvx-fg) !important;
    background: transparent;
    font-size: 12px;
    padding: 0.875rem 2rem;
    border-radius: 9999px;
    text-decoration: none !important;
    display: inline-block;
    transition: background 0.3s, color 0.3s, transform 0.2s;
}
.tvx-contact-cta-outline:hover { background: var(--tvx-fg) !important; color: var(--tvx-bg) !important; transform: scale(1.08); }

/* ==========================================================================
   Contact page (rewritten — top info row + form/map side-by-side)
   ========================================================================== */
.tvx-contact-toprow {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 3.5rem;
    padding-bottom: 3.5rem;
    border-bottom: 1px solid var(--tvx-border);
}
@media (min-width: 640px) { .tvx-contact-toprow { grid-template-columns: repeat(3, 1fr); } }
.tvx-contact-topcol-label { font-size: 10px; color: var(--tvx-muted-fg); margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.1em; }
.tvx-contact-topcol-email { font-size: 1rem; font-weight: 700; color: var(--tvx-fg) !important; text-decoration: none !important; word-break: break-all; transition: opacity 0.2s; }
.tvx-contact-topcol-email:hover { opacity: 0.7; }
.tvx-contact-topcol-address { font-size: 1rem; font-weight: 700; color: var(--tvx-fg); margin: 0; }
.tvx-contact-topcol-address-detail { font-size: 0.75rem; color: var(--tvx-muted-fg); margin: 0.25rem 0 0; }
.tvx-contact-topcol-socials { display: flex; align-items: center; gap: 0.75rem; margin-top: 0.25rem; }
.tvx-contact-social {
    width: 40px; height: 40px;
    border-radius: 9999px;
    border: 1px solid var(--tvx-border);
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--tvx-muted-fg) !important;
    text-decoration: none !important;
    transition: transform 0.3s, color 0.3s, border-color 0.3s, background 0.3s;
}
.tvx-contact-social:hover { transform: scale(1.15) translateY(-3px); color: var(--tvx-fg) !important; border-color: rgba(0,0,0,0.3); }
.tvx-contact-social--x:hover  { background: rgba(212,155,48,0.1); }
.tvx-contact-social--ig:hover { background: rgba(75,174,232,0.1); }
.tvx-contact-social i { font-size: 0.875rem; }

.tvx-contact-page-alert {
    padding: 1rem 1.25rem;
    border-radius: 0.75rem;
    margin: 0 0 1.5rem;
    font-size: 0.875rem;
}
.tvx-contact-page-alert--success { background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.3); color: rgb(21,128,61); }
.tvx-contact-page-alert--error   { background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.3); color: rgb(185,28,28); }

.tvx-contact-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 1024px) { .tvx-contact-row { grid-template-columns: repeat(5, 1fr); } }
.tvx-contact-form-card {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    padding: 2rem;
    box-shadow: 0 8px 25px rgba(0,0,0,0.05);
    height: 100%;
    transition: box-shadow 0.5s;
}
@media (min-width: 768px) { .tvx-contact-form-card { padding: 2.5rem; } }
@media (min-width: 1024px) { .tvx-contact-form-card { grid-column: span 3 / span 3; } }
.tvx-contact-form-card:hover { box-shadow: 0 16px 40px rgba(0,0,0,0.08); }
.tvx-contact-form-title { font-size: 1.125rem; font-weight: 700; margin: 0 0 2rem; }
.tvx-contact-form { display: flex; flex-direction: column; gap: 1.25rem; }
.tvx-contact-form-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tvx-contact-form-field { display: flex; flex-direction: column; }
.tvx-contact-form-field label { font-size: 11px; color: var(--tvx-muted-fg); display: block; margin-bottom: 0.5rem; }
.tvx-contact-form-field input,
.tvx-contact-form-field textarea {
    width: 100%;
    background: transparent;
    border: 1px solid var(--tvx-border);
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    font-family: inherit;
    color: var(--tvx-fg);
    transition: border-color 0.3s;
    resize: none;
}
.tvx-contact-form-field input:focus,
.tvx-contact-form-field textarea:focus { outline: none; border-color: rgba(212,155,48,0.5); }
.tvx-contact-form-submit {
    width: 100%;
    background: var(--tvx-fg);
    color: var(--tvx-bg);
    border: none;
    border-radius: 0.5rem;
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    transition: opacity 0.3s, transform 0.2s;
}
.tvx-contact-form-submit:hover { opacity: 0.9; transform: scale(1.02); }

.tvx-contact-map-card {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    overflow: hidden;
    box-shadow: 0 8px 25px rgba(0,0,0,0.05);
    height: 100%;
    display: flex; flex-direction: column;
    transition: box-shadow 0.5s;
}
@media (min-width: 1024px) { .tvx-contact-map-card { grid-column: span 2 / span 2; } }
.tvx-contact-map-card:hover { box-shadow: 0 16px 40px rgba(0,0,0,0.08); }
.tvx-contact-map-head { padding: 1.5rem; border-bottom: 1px solid var(--tvx-border); }
.tvx-contact-map-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.5rem; }
.tvx-contact-map-icon {
    width: 36px; height: 36px;
    border-radius: 9999px;
    background: rgba(212,155,48,0.1);
    border: 1px solid rgba(212,155,48,0.2);
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--tvx-gold);
    flex-shrink: 0;
}
.tvx-contact-map-icon i { font-size: 0.875rem; }
.tvx-contact-map-address { font-size: 0.875rem; font-weight: 700; color: var(--tvx-fg); margin: 0; }
.tvx-contact-map-address-detail { font-size: 11px; color: var(--tvx-muted-fg); margin: 0.125rem 0 0; }
.tvx-contact-map-note { font-size: 10px; color: rgba(115,115,115,0.7); margin: 0.75rem 0 0; line-height: 1.8; }
.tvx-contact-map-iframe {
    flex: 1;
    filter: grayscale(1);
    opacity: 0.9;
    transition: filter 0.7s, opacity 0.7s;
    border: 0;
}
.tvx-contact-map-iframe:hover { filter: grayscale(0); opacity: 1; }

/* ==========================================================================
   v2 LOVABLE-FAITHFUL REWRITE — append at end so cascade wins
   ========================================================================== */

/* === Work Scope (rewrite) === */
.tvx-scope {
    position: relative;
    padding: 7rem 1.5rem;
    border-top: 1px solid var(--tvx-border);
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-scope { padding: 11rem 3rem; } }
.tvx-scope-pattern { position: absolute; inset: 0; pointer-events: none; opacity: 0.02; color: var(--tvx-fg); }
.tvx-scope-inner { max-width: 1280px; margin: 0 auto; position: relative; }
.tvx-scope-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-bottom: 4rem;
}
@media (min-width: 768px) { .tvx-scope-head { grid-template-columns: 5fr 7fr; gap: 2.5rem; margin-bottom: 5rem; } }
.tvx-scope-title { font-size: clamp(1.875rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 2rem 0 0; }
.tvx-scope-head-right { display: flex; flex-direction: column; gap: 1.25rem; }
.tvx-scope-p { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2.2; margin: 0; }
@media (min-width: 768px) { .tvx-scope-p { font-size: 1rem; } }
.tvx-scope-pillars {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    margin-bottom: 4rem;
}
@media (min-width: 640px) { .tvx-scope-pillars { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tvx-scope-pillars { grid-template-columns: repeat(4, 1fr); } }
.tvx-scope-pillar {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    padding: 1.75rem;
    transition: transform 0.5s, border-color 0.3s, background-color 0.3s;
}
.tvx-scope-pillar:hover { transform: translateY(-6px) scale(1.02); }
.tvx-scope-pillar--gold:hover      { border-color: rgba(212,155,48,0.4); background: rgba(212,155,48,0.05); }
.tvx-scope-pillar--sky:hover       { border-color: rgba(75,174,232,0.4);  background: rgba(75,174,232,0.05); }
.tvx-scope-pillar--gold-soft:hover { border-color: rgba(212,155,48,0.4); background: rgba(212,155,48,0.05); }
.tvx-scope-pillar--sky-soft:hover  { border-color: rgba(75,174,232,0.4);  background: rgba(75,174,232,0.05); }
.tvx-scope-pillar-icon {
    width: 48px; height: 48px;
    border-radius: 0.75rem;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 1.25rem;
    transition: transform 0.3s;
    font-size: 1rem;
}
.tvx-scope-pillar:hover .tvx-scope-pillar-icon { transform: rotate(12deg); }
.tvx-scope-pillar--gold      .tvx-scope-pillar-icon i { color: var(--tvx-gold); }
.tvx-scope-pillar--sky       .tvx-scope-pillar-icon i { color: var(--tvx-sky); }
.tvx-scope-pillar--gold-soft .tvx-scope-pillar-icon i { color: rgba(212,155,48,0.8); }
.tvx-scope-pillar--sky-soft  .tvx-scope-pillar-icon i { color: rgba(75,174,232,0.8); }
.tvx-scope-pillar-title { font-size: 1rem; font-weight: 700; margin: 0 0 0.5rem; }
.tvx-scope-pillar-desc { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 1.9; margin: 0; }
.tvx-scope-closing { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2.2; max-width: 56rem; margin: 0 0 4rem; }
@media (min-width: 768px) { .tvx-scope-closing { font-size: 1rem; } }
.tvx-scope-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
}
@media (min-width: 768px) { .tvx-scope-stats { grid-template-columns: repeat(4, 1fr); } }
.tvx-scope-stat {
    border: 1px solid var(--tvx-border);
    border-radius: 0.75rem;
    padding: 2rem;
    text-align: center;
    transition: transform 0.5s, box-shadow 0.5s, border-color 0.3s, background 0.3s;
}
.tvx-scope-stat:hover { transform: translateY(-8px) scale(1.02); box-shadow: 0 12px 30px rgba(0,0,0,0.06); }
.tvx-scope-stat--gold:hover    { border-color: rgba(212,155,48,0.5); background: rgba(212,155,48,0.05); }
.tvx-scope-stat--sky:hover     { border-color: rgba(75,174,232,0.5);  background: rgba(75,174,232,0.05); }
.tvx-scope-stat--neutral:hover { border-color: rgba(0,0,0,0.4); background: rgba(0,0,0,0.05); }
.tvx-scope-stat-icon {
    width: 40px; height: 40px;
    border-radius: 9999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem;
    transition: transform 0.3s, color 0.3s, border-color 0.3s;
    font-size: 1rem;
}
.tvx-scope-stat--gold    .tvx-scope-stat-icon { color: var(--tvx-gold); border-color: rgba(212,155,48,0.4); }
.tvx-scope-stat--sky     .tvx-scope-stat-icon { color: var(--tvx-sky);  border-color: rgba(75,174,232,0.4); }
.tvx-scope-stat--neutral .tvx-scope-stat-icon { color: var(--tvx-fg);   border-color: rgba(0,0,0,0.4); }
.tvx-scope-stat-value { font-size: 1.875rem; font-weight: 700; margin-bottom: 0.75rem; }
@media (min-width: 768px) { .tvx-scope-stat-value { font-size: 2.25rem; } }
.tvx-scope-stat--gold    .tvx-scope-stat-value { color: var(--tvx-gold); }
.tvx-scope-stat--sky     .tvx-scope-stat-value { color: var(--tvx-sky); }
.tvx-scope-stat--neutral .tvx-scope-stat-value { color: var(--tvx-fg); }
.tvx-scope-stat-label { font-size: 11px; color: var(--tvx-muted-fg); }

/* === Operating Layers (rewrite) === */
.tvx-layers {
    position: relative;
    padding: 7rem 0;
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-layers { padding: 11rem 0; } }
.tvx-layers-grid-bg { position: absolute; inset: 0; pointer-events: none; opacity: 0.04; color: var(--tvx-dark-fg); }
.tvx-layers-inner { max-width: 1280px; margin: 0 auto; padding: 0 1.5rem; position: relative; }
@media (min-width: 768px) { .tvx-layers-inner { padding: 0 3rem; } }
.tvx-layers-header { margin-bottom: 4rem; }
@media (min-width: 768px) { .tvx-layers-header { margin-bottom: 6rem; } }
.tvx-layers-title { font-size: clamp(1.875rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 2rem 0 0; }
.tvx-layers-title-muted { color: rgba(235,235,235,0.4); }

.tvx-layers-stage { position: relative; }
.tvx-layers-track { position: relative; min-height: 320px; }
@media (min-width: 768px) { .tvx-layers-track { min-height: 280px; } }
.tvx-layer {
    position: absolute; top: 0; left: 0; right: 0;
    border-radius: 1.5rem;
    padding: 2rem;
    overflow: hidden;
    opacity: 0;
    transform: translateX(80px) scale(0.95);
    transition: opacity 0.5s, transform 0.5s;
    pointer-events: none;
}
@media (min-width: 768px) { .tvx-layer { padding: 3.5rem; } }
.tvx-layer.is-active { opacity: 1; transform: translateX(0) scale(1); pointer-events: auto; position: relative; }
.tvx-layer--gold    { background: linear-gradient(135deg, hsl(0 0% 10%), hsl(0 0% 14%)), radial-gradient(circle at 0% 0%, rgba(212,155,48,0.06), transparent 60%); border: 1px solid rgba(212,155,48,0.18); box-shadow: 0 20px 60px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05); }
.tvx-layer--sky     { background: linear-gradient(135deg, hsl(0 0% 13%), hsl(0 0% 17%)), radial-gradient(circle at 0% 0%, rgba(75,174,232,0.06),  transparent 60%); border: 1px solid rgba(75,174,232,0.18);  box-shadow: 0 20px 60px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05); }
.tvx-layer--neutral { background: linear-gradient(135deg, hsl(0 0% 16%), hsl(0 0% 20%)), radial-gradient(circle at 0% 0%, rgba(235,235,235,0.04),transparent 60%); border: 1px solid rgba(235,235,235,0.10); box-shadow: 0 20px 60px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.05); }
.tvx-layer-inner { display: flex; flex-direction: column; gap: 2rem; }
@media (min-width: 768px) { .tvx-layer-inner { flex-direction: row; align-items: flex-start; gap: 3.5rem; } }
.tvx-layer-number { font-weight: 900; font-size: 6rem; line-height: 1; color: rgba(235,235,235,0.04); user-select: none; }
@media (min-width: 768px) { .tvx-layer-number { font-size: 10rem; } }
.tvx-layer-content { flex: 1; }
.tvx-layer-titlerow { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.25rem; flex-wrap: wrap; }
.tvx-layer-title { font-size: 1.5rem; font-weight: 700; margin: 0; }
@media (min-width: 768px) { .tvx-layer-title { font-size: 1.875rem; } }
.tvx-layer-chip { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; border: 1px solid; padding: 0.25rem 0.75rem; border-radius: 9999px; }
.tvx-layer-chip--gold    { color: rgba(212,155,48,0.8); border-color: rgba(212,155,48,0.2); }
.tvx-layer-chip--sky     { color: rgba(75,174,232,0.8);  border-color: rgba(75,174,232,0.2); }
.tvx-layer-chip--neutral { color: rgba(235,235,235,0.4);  border-color: rgba(235,235,235,0.1); }
.tvx-layer-desc { font-size: 0.875rem; color: rgba(235,235,235,0.5); line-height: 2.2; max-width: 36rem; margin: 0; }
@media (min-width: 768px) { .tvx-layer-desc { font-size: 1rem; } }
.tvx-layer-icon {
    flex-shrink: 0;
    display: none;
    width: 64px; height: 64px;
    border-radius: 9999px;
    border: 1px solid rgba(235,235,235,0.1);
    align-items: center; justify-content: center;
    transition: transform 0.3s;
}
.tvx-layer-icon i { font-size: 1.25rem; opacity: 0.4; }
@media (min-width: 768px) { .tvx-layer-icon { display: inline-flex; } }
.tvx-layer-icon:hover { transform: rotate(90deg) scale(1.15); }

.tvx-layers-controls { display: flex; align-items: center; justify-content: space-between; margin-top: 2.5rem; }
.tvx-layers-dots { display: flex; align-items: center; gap: 0.75rem; }
.tvx-layers-dot { background: rgba(235,235,235,0.15); border: none; cursor: pointer; height: 6px; width: 16px; border-radius: 9999px; padding: 0; transition: background 0.5s, width 0.5s; }
.tvx-layers-dot:hover { background: rgba(235,235,235,0.3); }
.tvx-layers-dot.is-active { background: rgba(235,235,235,0.6); width: 40px; }
.tvx-layers-arrows { display: flex; align-items: center; gap: 0.75rem; }
.tvx-layers-arrow {
    width: 48px; height: 48px;
    border-radius: 9999px;
    border: 1px solid rgba(235,235,235,0.1);
    background: transparent;
    display: inline-flex; align-items: center; justify-content: center;
    color: rgba(235,235,235,0.4);
    cursor: pointer;
    transition: transform 0.2s, color 0.3s, border-color 0.3s;
}
.tvx-layers-arrow:hover { color: rgba(235,235,235,0.8); border-color: rgba(235,235,235,0.3); transform: scale(1.1); }
.tvx-layers-progress { margin-top: 1.5rem; height: 1px; background: rgba(235,235,235,0.05); border-radius: 9999px; overflow: hidden; }
.tvx-layers-progress-bar { display: block; height: 100%; width: 0%; background: rgba(235,235,235,0.2); }

/* === Business Model === */
.tvx-bm {
    padding: 6rem 1.5rem;
    border-top: 1px solid var(--tvx-border);
    direction: rtl;
}
@media (min-width: 768px) { .tvx-bm { padding: 9rem 3rem; } }
.tvx-bm-inner { max-width: 1280px; margin: 0 auto; }
.tvx-bm-head {
    display: flex; flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 5rem;
}
@media (min-width: 768px) { .tvx-bm-head { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.tvx-bm-title { font-size: 1.875rem; font-weight: 700; margin: 2rem 0 0; }
@media (min-width: 768px) { .tvx-bm-title { font-size: 3rem; } }
.tvx-bm-desc { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2; max-width: 28rem; margin: 0; }
.tvx-bm-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .tvx-bm-grid { grid-template-columns: repeat(3, 1fr); } }
.tvx-bm-card {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 0.75rem;
    padding: 2.5rem;
    transition: transform 0.5s, box-shadow 0.5s, border-color 0.3s;
}
.tvx-bm-card:hover { transform: translateY(-12px) scale(1.02); box-shadow: 0 24px 48px rgba(0,0,0,0.08); }
.tvx-bm-card--gold:hover { border-color: rgba(212,155,48,0.5); }
.tvx-bm-card--sky:hover  { border-color: rgba(75,174,232,0.5); }
.tvx-bm-card-head { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; }
.tvx-bm-card-icon {
    width: 48px; height: 48px;
    border-radius: 9999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.3s, background 0.3s, border-color 0.3s;
    font-size: 1.125rem;
}
.tvx-bm-card:hover .tvx-bm-card-icon { transform: rotate(15deg); }
.tvx-bm-card--gold .tvx-bm-card-icon { color: var(--tvx-gold); border-color: rgba(212,155,48,0.4); }
.tvx-bm-card--sky  .tvx-bm-card-icon { color: var(--tvx-sky);  border-color: rgba(75,174,232,0.4); }
.tvx-bm-card--gold:hover .tvx-bm-card-icon { background: rgba(212,155,48,0.1); }
.tvx-bm-card--sky:hover  .tvx-bm-card-icon { background: rgba(75,174,232,0.1); }
.tvx-bm-card-chip { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; }
.tvx-bm-card--gold .tvx-bm-card-chip { color: var(--tvx-gold); }
.tvx-bm-card--sky  .tvx-bm-card-chip { color: var(--tvx-sky); }
.tvx-bm-card-title { font-size: 1.125rem; font-weight: 700; margin: 0 0 1rem; }
.tvx-bm-card-desc { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0; }

/* === Investor Portal === */
.tvx-investor {
    position: relative;
    padding: 6rem 1.5rem;
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-investor { padding: 11rem 3rem; } }
.tvx-investor-inner { max-width: 1280px; margin: 0 auto; position: relative; }
.tvx-investor-header { text-align: center; margin-bottom: 5rem; }
@media (min-width: 768px) { .tvx-investor-header { margin-bottom: 7rem; } }
.tvx-investor-title { font-size: clamp(1.875rem, 5vw, 3.75rem); font-weight: 700; margin: 2rem 0 0; }
.tvx-investor-row {
    display: grid; grid-template-columns: 1fr;
    gap: 3rem;
    margin-bottom: 5rem;
    align-items: start;
}
@media (min-width: 768px) { .tvx-investor-row { grid-template-columns: 3fr 2fr; gap: 4rem; margin-bottom: 7rem; } }
.tvx-investor-text { order: 2; }
.tvx-investor-media { order: 1; }
@media (min-width: 768px) {
    .tvx-investor-text { order: 1; }
    .tvx-investor-media { order: 2; }
}
.tvx-investor-p { font-size: 0.875rem; color: rgba(235,235,235,0.6); line-height: 2.2; margin: 0 0 2rem; }
.tvx-investor-features { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 3rem; }
@media (min-width: 640px) { .tvx-investor-features { grid-template-columns: repeat(2, 1fr); } }
.tvx-investor-feature {
    display: flex; align-items: flex-start; gap: 1rem;
    background: rgba(235,235,235,0.03);
    border: 1px solid rgba(235,235,235,0.08);
    border-radius: 0.75rem;
    padding: 1.25rem;
    transition: transform 0.5s, background 0.5s, border-color 0.5s;
}
.tvx-investor-feature:hover { transform: scale(1.04) translateY(-4px); border-color: rgba(235,235,235,0.2); background: rgba(235,235,235,0.06); }
.tvx-investor-feature-num {
    width: 36px; height: 36px;
    border-radius: 0.5rem;
    border: 1px solid;
    display: inline-flex; align-items: center; justify-content: center;
    font-size: 0.75rem; font-weight: 700; flex-shrink: 0;
    transition: transform 0.5s;
}
.tvx-investor-feature:hover .tvx-investor-feature-num { transform: rotate(360deg); }
.tvx-investor-feature--gold    .tvx-investor-feature-num { color: var(--tvx-gold);   background: rgba(212,155,48,0.1); border-color: rgba(212,155,48,0.2); }
.tvx-investor-feature--sky     .tvx-investor-feature-num { color: var(--tvx-sky);    background: rgba(75,174,232,0.1);  border-color: rgba(75,174,232,0.2); }
.tvx-investor-feature--neutral .tvx-investor-feature-num { color: rgba(235,235,235,0.6); background: rgba(235,235,235,0.1); border-color: rgba(235,235,235,0.15); }
.tvx-investor-feature-text { font-size: 0.875rem; color: rgba(235,235,235,0.7); line-height: 1.6; }
.tvx-investor-img, .tvx-investor-video {
    width: 100%; aspect-ratio: 1 / 1;
    border-radius: 1rem;
    object-fit: cover;
    border: 1px solid rgba(235,235,235,0.1);
    box-shadow: 0 25px 50px rgba(0,0,0,0.4);
    background: var(--tvx-dark-bg);
}

.tvx-investor-vision {
    background: linear-gradient(135deg, rgba(212,155,48,0.08), rgba(235,235,235,0.04), rgba(75,174,232,0.06));
    border: 1px solid rgba(235,235,235,0.1);
    border-radius: 1rem;
    padding: 2.5rem;
    position: relative;
    overflow: hidden;
}
@media (min-width: 768px) { .tvx-investor-vision { padding: 3.5rem; } }
.tvx-investor-vision-row { display: flex; flex-direction: column; gap: 2.5rem; align-items: stretch; }
@media (min-width: 768px) { .tvx-investor-vision-row { flex-direction: row; align-items: center; } }
.tvx-investor-vision-left { flex: 0 0 33%; }
.tvx-investor-vision-right { flex: 1; }
@media (min-width: 768px) { .tvx-investor-vision-right { padding-right: 2.5rem; border-right: 1px solid rgba(235,235,235,0.1); } }
.tvx-investor-vision-iconrow { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.tvx-investor-vision-icon { color: var(--tvx-gold); font-size: 1.125rem; }
.tvx-investor-vision-subtitle { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(235,235,235,0.4); }
.tvx-investor-vision-title { font-size: 1.5rem; font-weight: 700; margin: 0; }
@media (min-width: 768px) { .tvx-investor-vision-title { font-size: 1.875rem; } }
.tvx-investor-vision-desc { font-size: 0.875rem; color: rgba(235,235,235,0.6); line-height: 2.2; margin: 0; }

/* === About (home) rewrite === */
.tvx-about-home {
    position: relative;
    padding: 5rem 1.5rem;
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-about-home { padding: 7rem 3rem; } }
.tvx-about-home-divider { position: absolute; top: 0; right: 0; width: 1px; height: 100%; background: linear-gradient(to bottom, transparent, var(--tvx-border), transparent); opacity: 0.5; }
.tvx-about-home-inner { max-width: 72rem; margin: 0 auto; }
.tvx-about-home-head { text-align: center; margin-bottom: 3.5rem; }
.tvx-about-home-logo { height: 64px; width: 64px; object-fit: contain; border-radius: 0.25rem; margin: 0 auto 2rem; display: block; }
.tvx-about-home-title { font-size: clamp(1.875rem, 5vw, 3.75rem); font-weight: 700; line-height: 1.2; margin: 1.5rem 0 0; }
.tvx-about-home-title-muted { color: var(--tvx-muted-fg); }
.tvx-about-home-cols { display: grid; grid-template-columns: 1fr; gap: 2.5rem; margin-bottom: 4rem; }
@media (min-width: 768px) { .tvx-about-home-cols { grid-template-columns: repeat(2, 1fr); } }
.tvx-about-home-p { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2.2; margin: 0; }
@media (min-width: 768px) { .tvx-about-home-p { font-size: 1rem; } }
.tvx-about-home-quote {
    border-right: 2px solid var(--tvx-fg);
    padding: 0.5rem 1.5rem 0.5rem 0;
    max-width: 56rem; margin: 0 auto 4rem;
    transition: transform 0.3s;
}
@media (min-width: 768px) { .tvx-about-home-quote { padding-right: 2.5rem; } }
.tvx-about-home-quote:hover { transform: translateX(-5px); }
.tvx-about-home-quote-text { font-size: 0.875rem; color: rgba(0,0,0,0.8); line-height: 2.2; margin: 0; }
@media (min-width: 768px) { .tvx-about-home-quote-text { font-size: 1rem; } }
.tvx-about-home-pillars {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 3rem;
}
@media (min-width: 768px) { .tvx-about-home-pillars { grid-template-columns: repeat(4, 1fr); } }
.tvx-about-home-pillar {
    background: var(--tvx-card);
    border: 1px solid var(--tvx-border);
    border-radius: 0.75rem;
    padding: 1.5rem;
    text-align: center;
    transition: transform 0.5s, border-color 0.3s, background 0.3s;
}
.tvx-about-home-pillar:hover { transform: translateY(-6px) scale(1.04); }
.tvx-about-home-pillar--gold:hover      { border-color: rgba(212,155,48,0.4); background: rgba(212,155,48,0.05); }
.tvx-about-home-pillar--sky:hover       { border-color: rgba(75,174,232,0.4);  background: rgba(75,174,232,0.05); }
.tvx-about-home-pillar--neutral:hover   { border-color: rgba(0,0,0,0.3); }
.tvx-about-home-pillar--gold-soft:hover { border-color: rgba(212,155,48,0.4); background: rgba(212,155,48,0.05); }
.tvx-about-home-pillar-icon {
    width: 40px; height: 40px;
    border-radius: 9999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 0.75rem;
    transition: transform 0.6s;
    font-size: 0.875rem;
}
.tvx-about-home-pillar:hover .tvx-about-home-pillar-icon { transform: rotate(360deg); }
.tvx-about-home-pillar--gold      .tvx-about-home-pillar-icon i { color: var(--tvx-gold); }
.tvx-about-home-pillar--sky       .tvx-about-home-pillar-icon i { color: var(--tvx-sky); }
.tvx-about-home-pillar--neutral   .tvx-about-home-pillar-icon i { color: var(--tvx-fg); }
.tvx-about-home-pillar--gold-soft .tvx-about-home-pillar-icon i { color: rgba(212,155,48,0.8); }
.tvx-about-home-pillar-title { font-size: 0.875rem; font-weight: 700; margin: 0 0 0.25rem; }
.tvx-about-home-pillar-desc { font-size: 10px; color: var(--tvx-muted-fg); margin: 0; }
.tvx-about-home-link-wrap { text-align: center; }

/* === About page body === */
.tvx-aboutpage-body { padding: 6rem 1.5rem; direction: rtl; }
@media (min-width: 768px) { .tvx-aboutpage-body { padding: 9rem 3rem; } }
.tvx-aboutpage-inner { max-width: 1280px; margin: 0 auto; }
.tvx-aboutpage-cols { display: grid; grid-template-columns: 1fr; gap: 4rem; }
@media (min-width: 768px) { .tvx-aboutpage-cols { grid-template-columns: repeat(2, 1fr); gap: 6rem; } }
.tvx-aboutpage-p { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2.2; margin: 0 0 2rem; }
@media (min-width: 768px) { .tvx-aboutpage-p { font-size: 1rem; } }
.tvx-aboutpage-col-right { display: flex; flex-direction: column; gap: 2rem; }
.tvx-aboutpage-quote { position: relative; padding-right: 2rem; transition: transform 0.3s; }
.tvx-aboutpage-quote--strong { border-right: 2px solid var(--tvx-fg); }
.tvx-aboutpage-quote:not(.tvx-aboutpage-quote--strong) { border-right: 2px solid var(--tvx-border); }
.tvx-aboutpage-quote:hover { transform: translateX(-5px); }
.tvx-aboutpage-quote-dot { position: absolute; right: -5px; top: 0; width: 8px; height: 8px; border-radius: 9999px; background: var(--tvx-fg); }
.tvx-aboutpage-quote-text { font-size: 0.875rem; color: rgba(0,0,0,0.8); line-height: 2.2; margin: 0; }
@media (min-width: 768px) { .tvx-aboutpage-quote-text { font-size: 1rem; } }
.tvx-aboutpage-quote-text--muted { color: var(--tvx-muted-fg); }
.tvx-aboutpage-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 5rem;
}
@media (min-width: 768px) { .tvx-aboutpage-stats { grid-template-columns: repeat(4, 1fr); } }
.tvx-aboutpage-stat {
    border: 1px solid var(--tvx-border);
    border-radius: 0.75rem;
    padding: 2rem;
    text-align: center;
    transition: transform 0.5s, box-shadow 0.5s, border-color 0.5s;
}
.tvx-aboutpage-stat:hover { transform: translateY(-8px) scale(1.03); box-shadow: 0 12px 30px rgba(0,0,0,0.06); border-color: rgba(0,0,0,0.2); }
.tvx-aboutpage-stat-icon {
    width: 40px; height: 40px;
    border-radius: 9999px;
    border: 1px solid var(--tvx-border);
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1rem;
    transition: transform 0.3s, border-color 0.3s;
    font-size: 1rem;
}
.tvx-aboutpage-stat:hover .tvx-aboutpage-stat-icon { transform: rotate(15deg); border-color: rgba(0,0,0,0.3); }
.tvx-aboutpage-stat-value { font-size: 1.875rem; font-weight: 700; color: var(--tvx-fg); margin-bottom: 0.75rem; }
@media (min-width: 768px) { .tvx-aboutpage-stat-value { font-size: 2.25rem; } }
.tvx-aboutpage-stat-label { font-size: 11px; color: var(--tvx-muted-fg); }

/* === Blog Section (home, dark with bg) === */
.tvx-blog-section {
    position: relative;
    padding: 7rem 1.5rem;
    background: var(--tvx-dark-bg);
    color: var(--tvx-dark-fg);
    overflow: hidden;
    direction: rtl;
}
@media (min-width: 768px) { .tvx-blog-section { padding: 11rem 3rem; } }
.tvx-blog-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0.5; }
.tvx-blog-overlay { position: absolute; inset: 0; background: rgba(20,20,20,0.6); }
.tvx-blog-inner { max-width: 1280px; margin: 0 auto; position: relative; }
.tvx-blog-head {
    display: flex; flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 5rem;
}
@media (min-width: 768px) { .tvx-blog-head { flex-direction: row; align-items: flex-end; justify-content: space-between; margin-bottom: 7rem; } }
.tvx-blog-title { font-size: clamp(1.875rem, 5vw, 3.75rem); font-weight: 700; margin: 1.5rem 0 0; }
.tvx-blog-desc { font-size: 0.875rem; color: rgba(235,235,235,0.5); line-height: 2; max-width: 28rem; margin: 0; }
.tvx-blog-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media (min-width: 768px) { .tvx-blog-grid { grid-template-columns: repeat(3, 1fr); } }
.tvx-blog-card {
    display: block;
    border: 1px solid rgba(235,235,235,0.1);
    border-radius: 0.75rem;
    overflow: hidden;
    background: rgba(20,20,20,0.5);
    backdrop-filter: blur(2px);
    transition: transform 0.5s, border-color 0.5s, box-shadow 0.5s;
    text-decoration: none !important;
    color: var(--tvx-dark-fg) !important;
}
.tvx-blog-card:hover { transform: translateY(-8px) scale(1.02); border-color: rgba(235,235,235,0.25); }
.tvx-blog-card-img-wrap { height: 11rem; overflow: hidden; }
.tvx-blog-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.tvx-blog-card:hover .tvx-blog-card-img { transform: scale(1.1); }
.tvx-blog-card-body { padding: 2rem; }
.tvx-blog-card-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; font-size: 10px; color: rgba(235,235,235,0.4); }
.tvx-blog-card-meta-dot { width: 4px; height: 4px; border-radius: 9999px; background: rgba(235,235,235,0.3); }
.tvx-blog-card-title { font-size: 1rem; font-weight: 700; margin: 0 0 1rem; line-height: 1.6; transition: color 0.3s; }
.tvx-blog-card:hover .tvx-blog-card-title { color: rgba(235,235,235,0.6); }
.tvx-blog-card-excerpt { font-size: 0.75rem; color: rgba(235,235,235,0.5); line-height: 2; margin: 0 0 2rem; }
.tvx-blog-card-cta { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 10px; color: rgba(235,235,235,0.4); transition: color 0.3s, transform 0.3s; }
.tvx-blog-card:hover .tvx-blog-card-cta { color: var(--tvx-dark-fg); transform: translateX(-4px); }
.tvx-blog-link-wrap { margin-top: 4rem; text-align: center; }
.tvx-blog-link { font-size: 12px; color: var(--tvx-dark-fg) !important; border-bottom: 1px solid rgba(235,235,235,0.4); padding-bottom: 0.25rem; text-decoration: none !important; transition: opacity 0.3s; }
.tvx-blog-link:hover { opacity: 0.7; }

/* === Blog Page (topic chips + featured + grid) === */
.tvx-blog-page { direction: rtl; }
.tvx-blog-page-topics {
    display: flex; flex-wrap: wrap;
    gap: 0.75rem;
    padding: 2.5rem 1.5rem;
    border-bottom: 1px solid var(--tvx-border);
}
@media (min-width: 768px) { .tvx-blog-page-topics { padding: 2.5rem 3rem; } }
.tvx-blog-page-topic {
    background: var(--tvx-muted);
    color: var(--tvx-muted-fg);
    font-size: 11px;
    padding: 0.625rem 1.25rem;
    border-radius: 9999px;
    border: 1px solid var(--tvx-border);
    transition: border-color 0.3s, transform 0.3s;
}
.tvx-blog-page-topic:hover { border-color: rgba(0,0,0,0.2); transform: scale(1.05) translateY(-2px); }
.tvx-blog-page-inner { max-width: 1280px; margin: 0 auto; padding: 4rem 1.5rem; }
@media (min-width: 768px) { .tvx-blog-page-inner { padding: 6rem 3rem; } }
.tvx-blog-featured {
    display: block;
    border: 1px solid var(--tvx-border);
    border-radius: 1.25rem;
    padding: 2.5rem;
    background: var(--tvx-card);
    transition: transform 0.5s, border-color 0.5s, box-shadow 0.5s;
    margin-bottom: 4rem;
    text-decoration: none !important;
    color: inherit !important;
}
@media (min-width: 768px) { .tvx-blog-featured { padding: 4rem; } }
.tvx-blog-featured:hover { transform: translateY(-6px); border-color: rgba(0,0,0,0.2); box-shadow: 0 20px 50px rgba(0,0,0,0.1); }
.tvx-blog-featured-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; font-size: 10px; color: var(--tvx-muted-fg); }
.tvx-blog-featured-dot { width: 4px; height: 4px; border-radius: 9999px; background: var(--tvx-muted-fg); }
.tvx-blog-featured-title { font-size: 1.5rem; font-weight: 700; margin: 0 0 1.5rem; line-height: 1.3; transition: color 0.3s; }
@media (min-width: 768px) { .tvx-blog-featured-title { font-size: 2.25rem; } }
.tvx-blog-featured:hover .tvx-blog-featured-title { color: var(--tvx-muted-fg); }
.tvx-blog-featured-excerpt { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2; max-width: 48rem; margin: 0 0 2rem; }
.tvx-blog-featured-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tvx-blog-featured-tag { font-size: 9px; background: var(--tvx-fg); color: var(--tvx-bg); padding: 0.25rem 0.75rem; border-radius: 0.125rem; }
.tvx-blog-page-grid {
    display: grid; grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) { .tvx-blog-page-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .tvx-blog-page-grid { grid-template-columns: repeat(3, 1fr); } }
.tvx-blog-page-card {
    display: block;
    border: 1px solid var(--tvx-border);
    border-radius: 0.75rem;
    overflow: hidden;
    background: var(--tvx-card);
    transition: transform 0.5s, border-color 0.5s, box-shadow 0.5s;
    text-decoration: none !important;
    color: inherit !important;
}
.tvx-blog-page-card:hover { transform: translateY(-8px) scale(1.02); border-color: rgba(0,0,0,0.2); box-shadow: 0 12px 30px rgba(0,0,0,0.06); }
.tvx-blog-page-card-img-wrap { height: 10rem; overflow: hidden; }
.tvx-blog-page-card-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.tvx-blog-page-card:hover .tvx-blog-page-card-img { transform: scale(1.1); }
.tvx-blog-page-card-body { padding: 2rem; }
.tvx-blog-page-card-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; font-size: 10px; color: var(--tvx-muted-fg); }
.tvx-blog-page-card-meta-dot { width: 4px; height: 4px; border-radius: 9999px; background: var(--tvx-muted-fg); }
.tvx-blog-page-card-title { font-size: 1rem; font-weight: 700; margin: 0 0 1rem; line-height: 1.6; transition: color 0.3s; }
.tvx-blog-page-card:hover .tvx-blog-page-card-title { color: var(--tvx-muted-fg); }
.tvx-blog-page-card-excerpt { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0 0 1.5rem; }
.tvx-blog-page-card-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.tvx-blog-page-card-tag { font-size: 9px; background: var(--tvx-muted); color: var(--tvx-muted-fg); padding: 0.25rem 0.5rem; border-radius: 0.125rem; }

/* === Blog Post (single article) === */
.tvx-post { padding: 8rem 1.5rem 5rem; direction: rtl; }
@media (min-width: 768px) { .tvx-post { padding: 11rem 3rem 5rem; } }
.tvx-post-inner { max-width: 48rem; margin: 0 auto; }
.tvx-post-back {
    font-size: 12px;
    color: var(--tvx-muted-fg) !important;
    text-decoration: none !important;
    display: inline-block;
    margin-bottom: 2.5rem;
    transition: color 0.3s;
}
.tvx-post-back:hover { color: var(--tvx-fg) !important; }
.tvx-post-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 2rem; font-size: 11px; color: var(--tvx-muted-fg); }
.tvx-post-meta-dot { width: 4px; height: 4px; border-radius: 9999px; background: var(--tvx-muted-fg); }
.tvx-post-title { font-size: 1.875rem; font-weight: 700; line-height: 1.3; margin: 0 0 2.5rem; }
@media (min-width: 768px) { .tvx-post-title { font-size: 3rem; } }
.tvx-post-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 3.5rem; }
.tvx-post-tag { font-size: 10px; background: var(--tvx-fg); color: var(--tvx-bg); padding: 0.375rem 0.75rem; border-radius: 0.125rem; }
.tvx-post-img-wrap { border-radius: 1.25rem; overflow: hidden; margin-bottom: 3.5rem; }
.tvx-post-img { width: 100%; height: 16rem; object-fit: cover; }
@media (min-width: 768px) { .tvx-post-img { height: 20rem; } }
.tvx-post-content { display: flex; flex-direction: column; gap: 2rem; }
.tvx-post-p { font-size: 0.875rem; color: var(--tvx-muted-fg); line-height: 2.4; margin: 0; }
@media (min-width: 768px) { .tvx-post-p { font-size: 1rem; } }
.tvx-post-p strong { color: var(--tvx-fg); font-weight: 700; }
.tvx-post-related { padding: 5rem 1.5rem; border-top: 1px solid var(--tvx-border); direction: rtl; }
@media (min-width: 768px) { .tvx-post-related { padding: 5rem 3rem; } }
.tvx-post-related-inner { max-width: 48rem; margin: 0 auto; }
.tvx-post-related-title { font-size: 1.25rem; font-weight: 700; margin: 0 0 2.5rem; }
.tvx-post-related-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .tvx-post-related-grid { grid-template-columns: repeat(2, 1fr); } }
.tvx-post-related-card {
    display: block;
    border: 1px solid var(--tvx-border);
    border-radius: 0.75rem;
    padding: 1.5rem;
    transition: transform 0.5s, border-color 0.3s;
    text-decoration: none !important;
    color: inherit !important;
}
.tvx-post-related-card:hover { transform: translateY(-5px) scale(1.02); border-color: rgba(0,0,0,0.2); }
.tvx-post-related-date { font-size: 10px; color: var(--tvx-muted-fg); }
.tvx-post-related-card-title { font-size: 0.875rem; font-weight: 700; margin: 0.75rem 0 0.5rem; transition: color 0.3s; }
.tvx-post-related-card:hover .tvx-post-related-card-title { color: var(--tvx-muted-fg); }
.tvx-post-related-excerpt { font-size: 0.75rem; color: var(--tvx-muted-fg); line-height: 2; margin: 0; }

/* Eyebrow on dark section helper (re-used) */
.tvx-eyebrow--ondark { color: rgba(235,235,235,0.5) !important; }
