/*
 * Takin public UI refresh — Part 2.2 / V1
 * Public visual system, daylight palette, calmer motion, and responsive public-page polish.
 * Loaded AFTER page-specific @stack('head') styles by layouts/app.blade.php.
 */

:root {
    --tpr-bg: #070b11;
    --tpr-bg-soft: #0b1119;
    --tpr-surface: #111923;
    --tpr-surface-raised: #151f2b;
    --tpr-surface-soft: rgba(255,255,255,.045);
    --tpr-line: rgba(209, 221, 230, .14);
    --tpr-line-strong: rgba(209, 221, 230, .23);
    --tpr-text: #f4f7f8;
    --tpr-muted: #a8b4bb;
    --tpr-subtle: #7f8c94;
    --tpr-gold: #d7ad57;
    --tpr-gold-rgb: 215, 173, 87;
    --tpr-teal: #64c7cc;
    --tpr-teal-rgb: 100, 199, 204;
    --tpr-success: #52be86;
    --tpr-danger: #e86e78;
    --tpr-radius-sm: 14px;
    --tpr-radius-md: 20px;
    --tpr-radius-lg: 30px;
    --tpr-shadow-sm: 0 10px 30px rgba(0,0,0,.18);
    --tpr-shadow-md: 0 24px 70px rgba(0,0,0,.24);
    --tpr-content: 1180px;
}

html[data-tna-theme="light"] {
    color-scheme: light;
    --tpr-bg: #f5f6f3;
    --tpr-bg-soft: #eef1ed;
    --tpr-surface: #ffffff;
    --tpr-surface-raised: #ffffff;
    --tpr-surface-soft: #f4f6f3;
    --tpr-line: #dbe1dd;
    --tpr-line-strong: #c8d1cb;
    --tpr-text: #18211f;
    --tpr-muted: #5f6c68;
    --tpr-subtle: #7d8985;
    --tpr-gold: #8d6819;
    --tpr-gold-rgb: 141, 104, 25;
    --tpr-teal: #126f75;
    --tpr-teal-rgb: 18, 111, 117;
    --tpr-success: #21714f;
    --tpr-danger: #b84250;
    --tpr-shadow-sm: 0 8px 24px rgba(39,55,49,.07);
    --tpr-shadow-md: 0 18px 54px rgba(39,55,49,.10);

    --tui-bg: var(--tpr-bg);
    --tui-bg-soft: var(--tpr-bg-soft);
    --tui-surface: var(--tpr-surface);
    --tui-surface-raised: var(--tpr-surface-raised);
    --tui-surface-soft: var(--tpr-surface-soft);
    --tui-border: var(--tpr-line);
    --tui-border-strong: var(--tpr-line-strong);
    --tui-text: var(--tpr-text);
    --tui-muted: var(--tpr-muted);
    --tui-subtle: var(--tpr-subtle);
    --tui-accent: var(--tpr-gold);
    --tui-link: var(--tpr-teal);

    --tnx-bg: var(--tpr-bg);
    --tnx-surface: #ffffff;
    --tnx-surface-strong: #ffffff;
    --tnx-card: #ffffff;
    --tnx-card-hover: #f7f8f6;
    --tnx-line: var(--tpr-line);
    --tnx-line-strong: var(--tpr-line-strong);
    --tnx-text: var(--tpr-text);
    --tnx-muted: var(--tpr-muted);
    --tnx-accent: var(--tpr-gold);
    --tnx-accent-rgb: var(--tpr-gold-rgb);
    --tnx-secondary: var(--tpr-teal);
    --tnx-secondary-rgb: var(--tpr-teal-rgb);

    --tna-bg: var(--tpr-bg);
    --tna-bg-2: var(--tpr-bg-soft);
    --tna-surface: #ffffff;
    --tna-surface-2: #ffffff;
    --tna-card: #ffffff;
    --tna-card-2: #f7f8f6;
    --tna-border: var(--tpr-line);
    --tna-border-2: var(--tpr-line-strong);
    --tna-text: var(--tpr-text);
    --tna-muted: var(--tpr-muted);
    --tna-dim: var(--tpr-subtle);
    --tna-gold: var(--tpr-gold);
    --tna-cyan: var(--tpr-teal);
    --tna-blue: #356987;
    --tna-violet: #6f6489;

    --tna-v22-bg: var(--tpr-bg);
    --tna-v22-bg-soft: var(--tpr-bg-soft);
    --tna-v22-surface: #ffffff;
    --tna-v22-surface-solid: #ffffff;
    --tna-v22-text: var(--tpr-text);
    --tna-v22-muted: var(--tpr-muted);
    --tna-v22-line: var(--tpr-line);
    --tna-v22-line-strong: var(--tpr-line-strong);
    --tna-v22-cyan: var(--tpr-teal);
    --tna-v22-blue: #356987;
    --tna-v22-gold: var(--tpr-gold);
}

html[lang="fa"] body {
    font-family: "Vazirmatn", "IRANSansX", Tahoma, "Segoe UI", system-ui, sans-serif;
    font-kerning: normal;
}

html[lang="en"] body {
    font-family: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

html[data-tna-theme="light"],
html[data-tna-theme="light"] body,
html[data-tna-theme="light"] body.tna-galaxy {
    background: var(--tpr-bg) !important;
    color: var(--tpr-text) !important;
}

html[data-tna-theme="light"] body.tna-galaxy {
    background-image: linear-gradient(180deg, #f8f9f6 0%, #f2f4f0 48%, #f6f7f4 100%) !important;
}

html[data-tna-theme="light"] :is(
    .tna-space,
    .tna-network-canvas,
    .tna-cursor-glow,
    .tna-scroll-progress
) {
    display: none !important;
}

/* The old cinematic world was visually noisy and permanently animated. */
body.is-cinematic-home .tna-cinematic-stage {
    display: none !important;
}

.tna-main {
    position: relative;
    z-index: 1;
}

.tna-container {
    width: min(var(--tpr-content), calc(100% - clamp(24px, 5vw, 64px)));
}

.tna-section {
    padding-block: clamp(44px, 7vw, 92px);
}

:where(h1, h2, h3) {
    text-wrap: balance;
}

:where(p, li, dd) {
    text-wrap: pretty;
}

html[lang="fa"] :where(p, li, dd, .tna-muted) {
    line-height: 2;
}

html[lang="en"] :where(p, li, dd, .tna-muted) {
    line-height: 1.72;
}

/* ---------- Shared daylight surfaces ---------- */
html[data-tna-theme="light"] :is(
    .tna-card,
    .tna-page-card,
    .tna-feed-card,
    .tna-filter-panel,
    .tna-sidebar,
    .tna-stat-card,
    .tna-mini-user-card,
    .tna-auth-card,
    .tna-auth-art,
    .tna-account-home__card,
    .tna-dashboard-panel,
    .tna-profile-editor__panel,
    .tna-course-card,
    .tna-finance-panel
) {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line) !important;
    box-shadow: var(--tpr-shadow-sm) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-tna-theme="light"] :is(.tna-muted, .tnx-prose) {
    color: var(--tpr-muted) !important;
}

html[data-tna-theme="light"] .tna-badge {
    color: #5d4b1f !important;
    background: #f6f0df !important;
    border-color: #e6d8ad !important;
    box-shadow: none !important;
}

html[data-tna-theme="light"] :where(input, textarea, select) {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line-strong) !important;
    box-shadow: none !important;
}

html[data-tna-theme="light"] :where(input, textarea)::placeholder {
    color: #8a9591 !important;
    opacity: 1;
}

html[data-tna-theme="light"] :where(input, textarea, select):focus {
    border-color: var(--tpr-teal) !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(var(--tpr-teal-rgb), .13) !important;
}

html[data-tna-theme="light"] .tna-btn:not(.tna-btn-primary):not(.tna-btn-danger) {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line-strong) !important;
    box-shadow: none !important;
}

html[data-tna-theme="light"] .tna-btn-primary {
    color: #ffffff !important;
    background: #126f75 !important;
    border-color: #126f75 !important;
    box-shadow: none !important;
}

/* ---------- Header / footer ---------- */
.tna-site-nav {
    box-shadow: var(--tpr-shadow-sm) !important;
}

html[data-tna-theme="light"] .tna-site-header::before {
    background: linear-gradient(180deg, rgba(245,246,243,.98), rgba(245,246,243,0)) !important;
}

html[data-tna-theme="light"] :is(
    .tna-site-nav,
    .tna-site-ecosystem__panel,
    .tna-site-user__panel,
    .tna-site-drawer
) {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line) !important;
    box-shadow: var(--tpr-shadow-sm) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-tna-theme="light"] .tna-site-primary-action {
    color: #ffffff !important;
    background: #126f75 !important;
    border-color: #126f75 !important;
    box-shadow: none !important;
}

html[data-tna-theme="light"] .tna-theme-toggle,
html[data-tna-theme="light"] .tna-site-login,
html[data-tna-theme="light"] .tna-site-menu-button {
    color: var(--tpr-text) !important;
    background: #f5f7f4 !important;
    border-color: var(--tpr-line) !important;
}

html[data-tna-theme="light"] .tna-site-footer {
    color: var(--tpr-text) !important;
    background: #edf0ec !important;
    border-color: var(--tpr-line) !important;
}

html[data-tna-theme="light"] .tna-site-footer__callout {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line) !important;
    box-shadow: var(--tpr-shadow-sm) !important;
}

html[data-tna-theme="light"] .tna-site-footer :is(a, p, small, span) {
    color: inherit;
}

html[data-tna-theme="light"] .tna-site-footer__primary {
    color: #ffffff !important;
    background: #126f75 !important;
    border-color: #126f75 !important;
}

/* ---------- Home: calmer, complete, responsive ---------- */
.tnx-home {
    padding-block-end: clamp(72px, 10vw, 128px);
}

.tnx-home-hero {
    padding-block: clamp(38px, 7vw, 88px) clamp(52px, 8vw, 100px);
}

.tnx-home-hero__grid {
    min-height: auto !important;
    grid-template-columns: minmax(0, 1.03fr) minmax(430px, .97fr);
    gap: clamp(42px, 7vw, 92px);
}

.tnx-home-hero__copy h1 {
    max-width: 15ch;
    margin-block: 18px 20px;
    font-size: clamp(2.65rem, 6.3vw, 5.7rem);
    line-height: 1.01;
    letter-spacing: -.045em;
}

html[dir="rtl"] .tnx-home-hero__copy h1 {
    letter-spacing: -.025em;
}

.tnx-home-hero__copy > p {
    max-width: 60ch;
    font-size: clamp(1rem, 1.35vw, 1.15rem);
}

.tnx-home-trust span,
.tnx-home-facts > div {
    border-color: var(--tpr-line) !important;
    background: var(--tpr-surface-soft) !important;
}

.tnx-home-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-block-start: 18px;
}

.tnx-home-facts > div {
    min-width: 0;
    padding: 14px 15px;
    border: 1px solid var(--tpr-line);
    border-radius: var(--tpr-radius-sm);
}

.tnx-home-facts b,
.tnx-home-facts span {
    display: block;
}

.tnx-home-facts b {
    color: var(--tpr-text);
    font-size: 1.05rem;
    font-weight: 950;
}

.tnx-home-facts span {
    margin-block-start: 4px;
    color: var(--tpr-muted);
    font-size: .72rem;
}

.tnx-ecosystem-scene {
    min-height: 560px;
    perspective: none;
}

.tnx-ecosystem-scene::before {
    width: 82%;
    background:
        radial-gradient(circle, rgba(var(--tpr-teal-rgb), .10), transparent 56%),
        repeating-radial-gradient(circle, transparent 0 42px, color-mix(in srgb, var(--tpr-line) 80%, transparent) 43px 44px);
    opacity: .85;
}

.tnx-ecosystem-scene__core {
    width: 176px;
    border-radius: 32px;
    border-color: color-mix(in srgb, var(--tpr-gold) 42%, var(--tpr-line));
    background: linear-gradient(145deg, #e0bd69, #69bdc1);
    color: #15201f;
    box-shadow: 0 24px 60px rgba(0,0,0,.20);
    transform: none !important;
    animation: none !important;
}

.tnx-service-node {
    width: min(182px, 34vw);
    min-height: 72px;
    border-radius: 17px;
    background: color-mix(in srgb, var(--tpr-surface-raised) 97%, transparent);
    box-shadow: var(--tpr-shadow-sm);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    transform: translate(calc(-50% + var(--node-x)), calc(-50% + var(--node-y))) !important;
}

.tnx-service-node:hover {
    transform: translate(calc(-50% + var(--node-x)), calc(-50% + var(--node-y) - 3px)) !important;
}

.tnx-service-node--consult { --node-x: 0px; --node-y: -220px; --node-accent: #3cb27a; }
.tnx-service-node--learn { --node-x: 205px; --node-y: -120px; --node-accent: #35a9bd; }
.tnx-service-node--patent { --node-x: 220px; --node-y: 80px; --node-accent: #7d69ae; }
.tnx-service-node--build { --node-x: 115px; --node-y: 205px; --node-accent: #b37c23; }
.tnx-service-node--mart { --node-x: -115px; --node-y: 205px; --node-accent: #9d6b31; }
.tnx-service-node--publish { --node-x: -220px; --node-y: 80px; --node-accent: #a85e7e; }
.tnx-service-node--compete { --node-x: -205px; --node-y: -120px; --node-accent: #a57d21; }

html[data-tna-theme="light"] .tnx-ecosystem-scene__core {
    background: linear-gradient(145deg, #f0d58f, #b9dfe0);
    box-shadow: 0 20px 48px rgba(45,64,58,.10);
}

html[data-tna-theme="light"] .tnx-service-node {
    background: #ffffff;
    border-color: var(--tpr-line);
    box-shadow: var(--tpr-shadow-sm);
}

.tnx-home-story {
    padding-block: clamp(52px, 8vw, 108px);
}

.tnx-home-story__grid {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: clamp(28px, 6vw, 72px);
    align-items: start;
}

.tnx-home-story__visual {
    position: sticky;
    top: calc(var(--tnx-header-height) + 30px);
}

.tnx-home-story__device {
    position: relative;
    min-height: 320px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 8px;
    overflow: hidden;
    border: 1px solid var(--tpr-line);
    border-radius: var(--tpr-radius-lg);
    color: var(--tpr-text);
    background:
        radial-gradient(circle at 50% 25%, rgba(var(--tpr-teal-rgb), .12), transparent 42%),
        var(--tpr-surface-raised);
    box-shadow: var(--tpr-shadow-sm);
}

.tnx-home-story__device > i,
.tnx-home-story__signal {
    display: none !important;
}

.tnx-home-story__device strong {
    color: var(--tpr-gold);
    font-size: clamp(1.6rem, 3vw, 2.6rem);
    letter-spacing: .08em;
}

.tnx-home-story__device small {
    color: var(--tpr-muted);
    font-weight: 800;
}

.tnx-home-story__chapters {
    display: grid;
    gap: 12px;
}

.tnx-home-story__chapters article {
    padding: clamp(22px, 4vw, 34px);
    border: 1px solid var(--tpr-line);
    border-radius: var(--tpr-radius-md);
    background: var(--tpr-surface-soft);
    opacity: 1 !important;
    transform: none !important;
}

.tnx-home-story__chapters article > span {
    color: var(--tpr-gold);
    font-size: .76rem;
    font-weight: 900;
}

.tnx-home-story__chapters article h2 {
    margin: 8px 0 10px;
    font-size: clamp(1.45rem, 3vw, 2.5rem);
    line-height: 1.25;
}

.tnx-home-story__chapters article p {
    margin: 0;
    color: var(--tpr-muted);
}

.tnx-journey li,
.tnx-engine,
.tnx-engine__copy li,
.tnx-brand-card,
.tnx-home-cta {
    border-color: var(--tpr-line) !important;
    background-color: var(--tpr-surface-soft) !important;
}

.tnx-engine {
    background-image: linear-gradient(135deg, rgba(var(--tpr-teal-rgb), .06), transparent 46%) !important;
}

.tnx-engine__visual i {
    animation: none !important;
    opacity: .52;
}

.tnx-engine__core {
    color: #14201f;
    background: linear-gradient(145deg, #79c6ca, #dcc076);
    box-shadow: 0 22px 54px rgba(0,0,0,.18);
    transform: none !important;
}

html[data-tna-theme="light"] :is(
    .tnx-journey li,
    .tnx-engine,
    .tnx-engine__copy li,
    .tnx-brand-card,
    .tnx-home-cta,
    .tnx-home-story__chapters article,
    .tnx-home-story__device
) {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line) !important;
    box-shadow: var(--tpr-shadow-sm) !important;
}

.tna-partners__track {
    width: 100% !important;
    display: grid !important;
    animation: none !important;
    transform: none !important;
}

.tna-partners__group {
    width: 100%;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.tna-partners__group[aria-hidden="true"] {
    display: none !important;
}

html[data-tna-theme="light"] .tna-partner-card {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line) !important;
    box-shadow: none !important;
}

/* ---------- CMS / FAQ / About ---------- */
.tna-page-shell > .tna-container {
    max-width: 1080px;
}

.tna-page-card {
    padding: clamp(26px, 5vw, 52px) !important;
    border-radius: var(--tpr-radius-lg) !important;
}

.tna-page-card h1 {
    max-width: 20ch;
    margin: 14px 0 12px;
    font-size: clamp(2.15rem, 5vw, 4.7rem);
    line-height: 1.08;
    font-weight: 950;
}

.tna-page-excerpt {
    max-width: 68ch;
    margin-block: 0 22px !important;
    font-size: clamp(1rem, 1.6vw, 1.18rem);
}

.tna-page-content {
    max-width: 78ch;
    color: var(--tpr-muted) !important;
    font-size: clamp(.96rem, 1.35vw, 1.08rem);
    line-height: 2.05 !important;
}

.tna-faq-v22 {
    margin-block-start: 22px;
}

.tna-faq-v22__category {
    margin-block-start: 30px;
}

.tna-faq-v22__category > header {
    max-width: 720px;
    margin-block-end: 14px;
}

.tna-faq-v22__items {
    display: grid;
    gap: 10px;
}

.tna-faq-v22__items details,
.tna-faq-v22__empty {
    border: 1px solid var(--tpr-line) !important;
    border-radius: var(--tpr-radius-md) !important;
    background: var(--tpr-surface-soft) !important;
    box-shadow: none !important;
}

.tna-faq-v22__items summary {
    min-height: 64px;
    padding: 16px 18px;
    color: var(--tpr-text);
}

.tna-faq-v22__items details > div {
    padding: 0 18px 18px;
    color: var(--tpr-muted);
}

html[data-tna-theme="light"] :is(.tna-faq-v22__items details, .tna-faq-v22__empty) {
    background: #ffffff !important;
}

.tna-about-v22 {
    margin-block-start: clamp(28px, 6vw, 68px);
}

.tna-about-v22__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
    gap: clamp(30px, 6vw, 72px);
    align-items: center;
    padding: clamp(28px, 5vw, 50px);
    border: 1px solid var(--tpr-line);
    border-radius: var(--tpr-radius-lg);
    background: var(--tpr-surface-soft);
}

.tna-about-v22__intro h2 {
    margin: 10px 0 12px;
    font-size: clamp(1.8rem, 4vw, 3.3rem);
    line-height: 1.22;
}

.tna-about-v22__intro p {
    color: var(--tpr-muted);
}

.tna-about-v22__intro dl {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0 0;
}

.tna-about-v22__intro dl > div {
    padding: 14px;
    border: 1px solid var(--tpr-line);
    border-radius: var(--tpr-radius-sm);
    background: color-mix(in srgb, var(--tpr-surface-raised) 94%, transparent);
}

.tna-about-v22__engine i {
    animation: none !important;
    opacity: .45;
}

.tna-about-v22__team {
    margin-block-start: clamp(42px, 7vw, 82px);
}

.tna-about-v22__people {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.tna-about-v22__person {
    border-color: var(--tpr-line) !important;
    background: var(--tpr-surface-soft) !important;
    box-shadow: none !important;
}

html[data-tna-theme="light"] :is(
    .tna-about-v22__intro,
    .tna-about-v22__intro dl > div,
    .tna-about-v22__person,
    .tna-about-v22__empty
) {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line) !important;
    box-shadow: var(--tpr-shadow-sm) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* ---------- Public profile: override its old inline glassmorphism in daylight ---------- */
.tna-profile-v3 {
    max-width: 100%;
}

html[data-tna-theme="light"] .tna-profile-v3-hero {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line) !important;
    box-shadow: var(--tpr-shadow-md) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-tna-theme="light"] .tna-profile-v3-hero::after {
    display: none !important;
}

html[data-tna-theme="light"] :is(
    .tna-profile-v3-card,
    .tna-profile-v3-stat,
    .tna-profile-v4-item,
    .tna-profile-v3-link-card,
    .tna-profile-v3-skill,
    .tna-profile-v3-post
) {
    color: var(--tpr-text) !important;
    background: #ffffff !important;
    border-color: var(--tpr-line) !important;
    box-shadow: var(--tpr-shadow-sm) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-tna-theme="light"] :is(
    .tna-profile-v3-handle,
    .tna-profile-v3-headline,
    .tna-profile-v3-about,
    .tna-profile-v4-description,
    .tna-profile-v4-meta,
    .tna-profile-v3-post-meta
) {
    color: var(--tpr-muted) !important;
}

html[data-tna-theme="light"] .tna-profile-v3-progress {
    background: #e8ece9 !important;
}

html[data-tna-theme="light"] .tna-profile-v3-progress span {
    background: linear-gradient(90deg, #a77c25, #16747a) !important;
}

/* ---------- Motion contract ---------- */
.tnx-ecosystem-scene__core,
.tnx-engine__visual i,
.tna-about-v22__engine i,
.tna-partners__track {
    animation: none !important;
}

[data-tna-reveal].tna-reveal {
    transform: translateY(10px);
    transition-duration: 300ms !important;
}

[data-tna-reveal].tna-reveal.is-visible {
    transform: none;
}

@media (hover: hover) and (pointer: fine) {
    :is(.tnx-brand-card, .tna-partner-card, .tna-about-v22__person, .tna-profile-v3-card):hover {
        transform: translateY(-2px);
        border-color: var(--tpr-line-strong) !important;
    }
}

/* ---------- Responsive ---------- */
@media (max-width: 1050px) {
    .tnx-home-hero__grid,
    .tnx-home-story__grid,
    .tna-about-v22__intro {
        grid-template-columns: 1fr;
    }

    .tnx-home-story__visual {
        position: static;
    }

    .tnx-home-story__device {
        min-height: 220px;
    }

    .tna-partners__group {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .tnx-home-hero__grid {
        gap: 34px;
    }

    .tnx-ecosystem-scene {
        min-height: 0 !important;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin: 0 !important;
        transform: none !important;
    }

    .tnx-ecosystem-scene::before {
        display: none;
    }

    .tnx-ecosystem-scene__core,
    .tnx-service-node {
        position: relative !important;
        inset: auto !important;
        width: auto !important;
        min-height: 84px;
        aspect-ratio: auto;
        transform: none !important;
    }

    .tnx-ecosystem-scene__core {
        grid-column: 1 / -1;
        min-height: 130px;
        border-radius: 24px;
    }

    .tnx-service-node:hover {
        transform: translateY(-2px) !important;
    }

    .tnx-service-node::before {
        display: none !important;
    }

    .tna-about-v22__intro dl,
    .tna-about-v22__people {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .tna-container {
        width: min(100% - 24px, var(--tpr-content));
    }

    .tna-section {
        padding-block: 34px 54px;
    }

    .tnx-home-hero {
        padding-block-start: 26px;
    }

    .tnx-home-hero__copy h1 {
        font-size: clamp(2.35rem, 13vw, 3.65rem);
    }

    .tnx-home-facts,
    .tna-partners__group,
    .tnx-ecosystem-scene {
        grid-template-columns: 1fr;
    }

    .tnx-ecosystem-scene__core {
        grid-column: auto;
    }

    .tnx-home-story__chapters article,
    .tna-page-card,
    .tna-about-v22__intro {
        border-radius: 22px !important;
    }

    .tna-page-card {
        padding: 22px !important;
    }

    .tna-page-card h1 {
        font-size: clamp(2rem, 11vw, 3.1rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation: none !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }

    [data-tna-reveal].tna-reveal {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* ---------- Part 2.2 polish V2: coherent daylight, header text, useful loader ---------- */

/* Keep the consultation callout visually inside the footer instead of making it glow like a separate card. */
html[data-tna-theme="light"] .tna-site-footer__callout {
    color: var(--tpr-text) !important;
    background: color-mix(in srgb, var(--tpr-bg-soft) 78%, #ffffff) !important;
    border-color: var(--tpr-line) !important;
    box-shadow: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-tna-theme="light"] .tna-site-footer__callout::before,
html[data-tna-theme="light"] .tna-site-footer__callout::after {
    content: none !important;
    display: none !important;
}

html[data-tna-theme="light"] .tna-site-footer__callout :is(h2, p) {
    color: inherit !important;
    text-shadow: none !important;
}

/* Persian glyphs must never be vertically clipped in the brand label. */
.tna-site-brand__copy {
    overflow: visible !important;
    padding-block: 2px !important;
}

.tna-site-brand__copy strong {
    color: var(--tpr-text) !important;
    line-height: 1.5 !important;
    padding-block: .04em !important;
    overflow: visible !important;
    text-overflow: clip !important;
    text-shadow: none !important;
}

html[data-tna-theme="light"] .tna-site-brand__copy strong {
    color: #18211f !important;
}

@media (min-width: 1200px) {
    .tna-site-brand__copy strong {
        max-width: 300px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 1199px) {
    .tna-site-brand__copy strong {
        max-width: min(28ch, calc(100vw - 128px)) !important;
        white-space: normal !important;
        line-height: 1.35 !important;
        font-size: clamp(.76rem, 2.85vw, .88rem) !important;
    }
}

/* Replace the old full-screen cinematic loader with a non-blocking, theme-aware progress rail. */
.tna-page-loader {
    position: fixed !important;
    z-index: 5000 !important;
    inset: 0 0 auto 0 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    padding: max(8px, env(safe-area-inset-top)) 12px 0 !important;
    color: var(--tpr-text) !important;
    background: transparent !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    isolation: isolate;
    overflow: visible !important;
    contain: layout paint style;
    transition: opacity .16s ease, visibility 0s linear .16s !important;
}

.tna-page-loader::before,
.tna-page-loader::after,
.tna-page-loader__visual,
.tna-page-loader__eyebrow,
.tna-page-loader__percent {
    display: none !important;
    content: none !important;
}

.tna-page-loader.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    transition-delay: 0s !important;
}

.tna-page-loader.is-complete {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity .18s ease, visibility 0s linear .18s !important;
}

.tna-page-loader__scene {
    width: min(720px, calc(100vw - 24px)) !important;
    min-height: 42px !important;
    margin-inline: auto !important;
    display: grid !important;
    grid-template-columns: auto minmax(110px, 220px) !important;
    align-items: center !important;
    justify-content: end !important;
    gap: 12px !important;
    padding: 8px 10px !important;
    border: 1px solid var(--tpr-line) !important;
    border-radius: 15px !important;
    color: var(--tpr-text) !important;
    background: color-mix(in srgb, var(--tpr-surface-raised) 94%, transparent) !important;
    box-shadow: var(--tpr-shadow-sm) !important;
    backdrop-filter: blur(10px) saturate(105%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(105%) !important;
    perspective: none !important;
    text-align: start !important;
}

html[data-tna-theme="light"] .tna-page-loader__scene {
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 8px 22px rgba(39,55,49,.08) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.tna-page-loader__copy {
    min-width: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
}

.tna-page-loader__core {
    width: 9px !important;
    height: 9px !important;
    min-width: 9px !important;
    display: block !important;
    border: 0 !important;
    border-radius: 999px !important;
    padding: 0 !important;
    background: var(--tpr-teal) !important;
    box-shadow: 0 0 0 4px rgba(var(--tpr-teal-rgb), .12) !important;
    animation: tpr-loader-pulse 1.1s ease-in-out infinite !important;
    transform: none !important;
}

.tna-page-loader__status {
    min-height: 0 !important;
    overflow: hidden;
    color: var(--tpr-muted) !important;
    font-size: .74rem !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.tna-page-loader__meter {
    display: contents !important;
}

.tna-page-loader__track {
    width: 100% !important;
    height: 3px !important;
    display: block !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: color-mix(in srgb, var(--tpr-line-strong) 72%, transparent) !important;
    box-shadow: none !important;
}

.tna-page-loader__bar {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border-radius: inherit !important;
    background: linear-gradient(90deg, var(--tpr-gold), var(--tpr-teal)) !important;
    box-shadow: none !important;
    transform: scaleX(var(--tna-loader-progress, .08)) !important;
    transform-origin: left center !important;
    transition: transform .12s linear !important;
}

html[dir="rtl"] .tna-page-loader__bar {
    transform-origin: right center !important;
}

@keyframes tpr-loader-pulse {
    50% { opacity: .5; transform: scale(.76); }
}

@media (max-width: 640px) {
    .tna-page-loader__scene {
        width: calc(100vw - 20px) !important;
        grid-template-columns: minmax(0, 1fr) 110px !important;
        gap: 9px !important;
        border-radius: 13px !important;
    }

    .tna-page-loader__status {
        font-size: .7rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tna-page-loader__core {
        animation: none !important;
    }
}

/* ---------- Part 2.2 callout hotfix V3 ----------
   The consultation CTA belongs to the footer flow; it must not render as a separate card in daylight mode. */
html[data-tna-theme="light"] .tna-site-footer__callout {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html[data-tna-theme="light"] .tna-site-footer__callout::before,
html[data-tna-theme="light"] .tna-site-footer__callout::after {
    content: none !important;
    display: none !important;
    background: none !important;
    box-shadow: none !important;
}
