* { box-sizing: border-box; padding: 0; margin: 0; }
a { text-decoration: none; color: inherit; }
:root { --main: #2d1b69; --main-light: #4a3580; --bg-primary: #f5f5f5; --bg-card: #ffffff; --bg-secondary: #fafafa; --border-light: #e0e0e0; --border-medium: #bdbdbd; --text-muted: #757575; --font-fa: 'Vazirmatn', 'Tahoma', 'Arial', sans-serif; --font-en: 'IBM Plex Sans', 'Helvetica Neue', 'Arial', sans-serif; --font: var(--font-fa); }

/* RTL (Farsi/Arabic) */
[dir="rtl"], html[lang="fa"], html[lang="ar"] {
    font-family: var(--font-fa);
}

/* LTR (English) */
[dir="ltr"], html[lang="en"] {
    font-family: var(--font-en);
}
body { font-family: var(--font); overflow-x: hidden; background: linear-gradient(160deg, #f0f0f0 0%, #e5e5e5 15%, #fafafa 30%, #dcdcdc 45%, #f5f5f5 60%, #e0e0e0 75%, #f8f8f8 90%, #eaeaea 100%); min-height: 100vh; }
body::before { content: ''; position: fixed; inset: 0; background:
  radial-gradient(ellipse 600px 400px at 10% 20%, rgba(255,255,255,0.85) 0%, transparent 70%),
  radial-gradient(ellipse 500px 350px at 90% 15%, rgba(245,245,245,0.7) 0%, transparent 65%),
  radial-gradient(ellipse 700px 500px at 75% 60%, rgba(255,255,255,0.6) 0%, transparent 60%),
  radial-gradient(ellipse 400px 600px at 20% 70%, rgba(250,250,250,0.8) 0%, transparent 55%),
  radial-gradient(ellipse 550px 300px at 50% 40%, rgba(255,255,255,0.5) 0%, transparent 50%),
  radial-gradient(ellipse 350px 450px at 40% 90%, rgba(240,240,240,0.7) 0%, transparent 60%),
  radial-gradient(ellipse 600px 350px at 85% 85%, rgba(255,255,255,0.65) 0%, transparent 55%),
  radial-gradient(ellipse 450px 500px at 5% 50%, rgba(248,248,248,0.75) 0%, transparent 65%),
  radial-gradient(ellipse 300px 400px at 65% 10%, rgba(245,245,245,0.6) 0%, transparent 50%);
pointer-events: none; z-index: -1; }
body::after { content: ''; position: fixed; inset: 0; background:
  radial-gradient(ellipse 250px 200px at 30% 30%, rgba(255,255,255,0.9) 0%, transparent 60%),
  radial-gradient(ellipse 300px 250px at 70% 25%, rgba(250,250,250,0.5) 0%, transparent 55%),
  radial-gradient(ellipse 200px 300px at 15% 60%, rgba(255,255,255,0.4) 0%, transparent 50%),
  radial-gradient(ellipse 350px 200px at 80% 75%, rgba(248,248,248,0.6) 0%, transparent 55%),
  radial-gradient(ellipse 250px 350px at 55% 80%, rgba(255,255,255,0.5) 0%, transparent 60%);
pointer-events: none; z-index: -1; }
@keyframes pageLoad { from { opacity: 0; } to { opacity: 1; } }

/* Header */
header { position: fixed; top: 0; width: 100%; height: 4.375rem; display: flex; align-items: center; justify-content: center; padding: 0 2rem; background: transparent; transition: all 0.3s; z-index: 100; }
header.scrolled { background: rgba(248,249,250,0.95); backdrop-filter: blur(1px); box-shadow: 0 0.125rem 1.25rem rgba(0,0,0,0.06); }
.header-content { width: 100%; display: flex; align-items: center; justify-content: space-between; }
.logo { display: flex; flex-direction: column; align-items: center; }
.logo img { height: 2.5rem; width: auto; }
.footer-logo { height: 3.125rem; width: auto; margin-bottom: 0.5rem; }
.header-box-navigation ul { display: flex; list-style: none; gap: 1.5rem; }
.header-box-navigation ul li a { text-decoration: none; color: #333; font-size: 0.85rem; font-weight: 500; transition: color 0.3s; }
.header-box-navigation ul li a.active { border-bottom: 0.125rem solid var(--main); padding-bottom: 0.25rem; }
.header-box-navigation ul li a:hover { color: var(--main); }
.header-box-btn { display: flex; align-items: center; gap: 1rem; }
.lang-switcher { display: flex; align-items: center; gap: 0.5rem; }
.lang-switcher a { text-decoration: none; color: #333; font-size: 0.8rem; font-weight: 500; }
.lang-switcher a.active { color: var(--main); font-weight: 700; }
.lang-switcher span { color: #ccc; }
.btn-demo { display: inline-flex; align-items: center; gap: 0.4rem; background: var(--main); color: #fff; border: none; padding: 0.6rem 1.5rem; border-radius: 0.5rem; font-size: 0.85rem; font-weight: 600; cursor: pointer; font-family: var(--font); }
.mobile-menu-btn { display: none; background: none; border: none; font-size: 1.25rem; color: #333; cursor: pointer; padding: 0.25rem; }

/* Hero */
.section-hero {
    display: flex; align-items: center; padding: 5rem 0 3.75rem; gap: 3rem;
    min-height: 31.25rem; background: #ffffff; position: relative;
}
.hero-content {
    flex: 1; animation: heroFadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) both;
    text-align: center; padding: 3rem 0; display: flex; flex-direction: column; gap: 1.5rem;
    position: relative; z-index: 1;
}
.hero-content::before {
    content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 30rem; height: 30rem; border-radius: 50%;
    background: radial-gradient(circle, rgba(45,27,105,0.04) 0%, rgba(124,81,161,0.02) 40%, transparent 70%);
    filter: blur(2rem); pointer-events: none; z-index: -1;
    animation: heroGlow 8s ease-in-out infinite alternate;
}
.hero-content h1 {
    font-size: 2.42rem; font-weight: 800; color: #1a1a2e; line-height: 1.5;
    letter-spacing: -0.01em;
}
.hero-content h1:not(.hero-title-color) { text-align: center; }
.hero-title-color {
    color: var(--main) !important; line-height: 1.54; position: relative; display: inline-block;
}
.hero-title-color::after {
    content: ''; position: absolute; bottom: -0.1875rem; left: 50%; transform: translateX(-50%);
    width: 80%; height: 0.1875rem;
    background: linear-gradient(90deg, transparent, var(--main), var(--main-light), var(--main), transparent);
    border-radius: 1rem; opacity: 0.6;
}
.hero-content h3 {
    font-size: 4rem; font-weight: 900; letter-spacing: -0.03em;
    background: linear-gradient(135deg, var(--main) 0%, #7c51a1 50%, var(--main) 100%);
    background-size: 200% 200%;
    -webkit-background-clip: text; -webkit-text-fill-color: transparent;
    background-clip: text; animation: gradientShift 6s ease infinite;
}
.hero-desc {
    font-size: 1rem; color: #666; line-height: 1.9; max-width: 28rem; margin: 0 auto;
}
.hero-btns { display: flex; justify-content: center; gap: 1rem; }
.btn-outline {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: transparent; border: 0.125rem solid var(--main); color: var(--main);
    padding: 0.875rem 1.75rem; border-radius: 0.625rem; font-size: 0.9rem; font-weight: 600;
    cursor: pointer; font-family: var(--font);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative; overflow: hidden;
}
.btn-outline::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: var(--main); transform: scaleX(0); transform-origin: right;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: -1;
}
.btn-outline:hover::before { transform: scaleX(1); transform-origin: left; }
.btn-outline:hover { color: #fff; transform: translateY(-0.1875rem); box-shadow: 0 0.75rem 2rem rgba(45,27,105,0.25); }
.btn-primary {
    display: inline-flex; align-items: center; gap: 0.5rem;
    background: linear-gradient(135deg, var(--main) 0%, var(--main-light) 100%);
    border: none; color: #fff; padding: 0.875rem 1.75rem; border-radius: 0.625rem;
    font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: var(--font);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative; overflow: hidden;
    box-shadow: 0 0.25rem 0.75rem rgba(45,27,105,0.2);
}
.btn-primary::before {
    content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
    transition: left 0.6s;
}
.btn-primary:hover { transform: translateY(-0.1875rem); box-shadow: 0 1rem 2.5rem rgba(45,27,105,0.3); }
.btn-primary:hover::before { left: 100%; }
.hero-brochure span { display: block; color: var(--main); font-size: 0.9rem; font-weight: 600; margin-bottom: 0.5rem; }
.brochure-btns { display: flex; justify-content: center; gap: 1rem; }
.btn-brochure {
    display: inline-flex; align-items: center; gap: 0.4rem; background: transparent;
    border: 0.0625rem solid #ddd; color: #333; padding: 0.5rem 1rem;
    border-radius: 0.375rem; font-size: 0.8rem; cursor: pointer; font-family: var(--font);
}
.hero-image { flex: 1; position: relative; animation: heroFadeIn 1s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both; }
.hero-image::before {
    content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
    width: 90%; height: 90%; border-radius: 50%;
    background: radial-gradient(circle, rgba(45,27,105,0.06) 0%, transparent 70%);
    filter: blur(3rem); z-index: 0;
}
.hero-image::after {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(0deg, transparent 0%, rgba(255,255,255,1) 100%);
    pointer-events: none;
}
.hero-image img { width: 100%; height: auto; position: relative; z-index: 1; filter: drop-shadow(0 1rem 2rem rgba(45,27,105,0.1)); }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(1.25rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes heroFadeIn { from { opacity: 0; transform: translateY(2rem); } to { opacity: 1; transform: translateY(0); } }
@keyframes heroGlow { from { opacity: 0.5; transform: translate(-50%, -50%) scale(1); } to { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } }
@keyframes gradientShift { 0%, 100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* Modules */
.section-modules { padding: 4rem 6rem; background: transparent; position: relative; }
.section-modules::before {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: rgba(255,255,255,0.5); border-radius: 1rem; pointer-events: none; z-index: -1;
}
.section-header { text-align: center; margin-bottom: 3rem; }
.section-header h2 { font-size: 1.8rem; font-weight: 800; color: #1a1a2e; }
.section-header .brand { color: var(--main); }
.section-line { width: 2.5rem; height: 0.1875rem; background: var(--main); margin: 1rem auto 0; border-radius: 0.1875rem; }
.modules-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.5rem; }
.module-card {
    background: #ffffff; border: 0.0625rem solid rgba(45,27,105,0.06);
    border-radius: 1rem; padding: 1.75rem 1.25rem; text-align: center;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); cursor: pointer;
    position: relative; overflow: hidden;
    box-shadow: 0 0.0625rem 0.1875rem rgba(0,0,0,0.02);
}
.module-card::before {
    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 0.25rem;
    background: linear-gradient(90deg, var(--main), #7c51a1, var(--main-light));
    transform: scaleX(0); transform-origin: center;
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.module-card::after {
    content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: radial-gradient(circle at 50% 0%, rgba(45,27,105,0.04) 0%, transparent 60%);
    opacity: 0; transition: opacity 0.5s;
}
.module-card:hover {
    transform: translateY(-0.75rem);
    box-shadow: 0 1.5rem 3rem rgba(45,27,105,0.1), 0 0.5rem 1rem rgba(45,27,105,0.05);
    border-color: rgba(45,27,105,0.12);
}
.module-card:hover::before { transform: scaleX(1); }
.module-card:hover::after { opacity: 1; }
.module-icon {
    width: 4.5rem; height: 4.5rem; margin: 0 auto 1.25rem;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(45,27,105,0.06) 0%, rgba(124,81,161,0.04) 100%);
    border-radius: 1rem; position: relative; z-index: 1;
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.module-icon::before {
    content: ''; position: absolute; inset: -0.125rem;
    background: linear-gradient(135deg, var(--main), #7c51a1);
    border-radius: 1.125rem; opacity: 0; transition: opacity 0.5s; z-index: -1;
}
.module-icon::after {
    content: ''; position: absolute; inset: 0.0625rem;
    background: linear-gradient(135deg, rgba(45,27,105,0.06) 0%, rgba(248,247,255,1) 100%);
    border-radius: 0.9375rem; z-index: -1;
}
.module-card:hover .module-icon {
    transform: translateY(-0.25rem) scale(1.05);
    background: linear-gradient(135deg, rgba(45,27,105,0.1) 0%, rgba(124,81,161,0.07) 100%);
    box-shadow: 0 0.75rem 1.5rem rgba(45,27,105,0.15);
}
.module-card:hover .module-icon::before { opacity: 1; }
.module-icon i {
    font-size: 2.5rem; color: var(--main);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1); position: relative; z-index: 1;
}
.module-card:hover .module-icon i { color: var(--main-light); transform: scale(1.1); }
.module-icon img { width: 100%; height: 100%; object-fit: contain; border-radius: 0.5rem; position: relative; z-index: 1; }
.module-card h3 {
    font-size: 0.85rem; font-weight: 700; color: #1a1a2e; margin-bottom: 0.5rem;
    transition: all 0.3s; position: relative; z-index: 1;
}
.module-card:hover h3 { color: var(--main); }
.module-card p { font-size: 0.7rem; color: #888; line-height: 1.6; position: relative; z-index: 1; }

/* XBRL Banner */
.section-xbrl { padding: 4rem 6rem; background: transparent; }
.xrl-banner { background: linear-gradient(135deg, #2d1b69, #4a3580); border-radius: 1.25rem; padding: 3rem; display: flex; align-items: center; gap: 2rem; color: #fff; border: 0.0625rem solid rgba(255,255,255,0.1); }
.xrl-graphic { flex: 0 0 25%; margin-left: 0; margin-right: auto; }
.xrl-graphic img { width: 100%; }
.xrl-content { flex: 0 0 30%; display: flex; flex-direction: column; gap: 1.5rem; }
.xrl-content h2 { font-size: 1.54rem; font-weight: 800; margin-bottom: 0; }
.xrl-content p { font-size: 0.98rem; color: rgba(255,255,255,0.7); line-height: 1.8; margin-bottom: 0; }
.btn-more { display: inline-flex; align-items: center; align-self: flex-start; gap: 0.5rem; background: rgba(255,255,255,0.1); border: 0.0625rem solid rgba(255,255,255,0.2); color: #fff; padding: 0.6rem 1.5rem; border-radius: 0.5rem; font-size: 0.85rem; cursor: pointer; font-family: var(--font); }
.xrl-features { flex: 0 0 40%; display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; border-right: none; padding-right: 0; }
.xrl-feature { position: relative; display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.8rem; padding: 0.7rem 1rem; border-radius: 0.5rem; overflow: hidden; background: rgba(255,255,255,0.02); transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
.xrl-feature .check { flex-shrink: 0; width: 1.1rem; height: 1.1rem; display: flex; align-items: center; justify-content: center; margin-top: 0.1rem; }
.xrl-feature .check i { font-size: 0.75rem; }
.xrl-feature.active { background: rgba(255,255,255,0.1); }
.xrl-feature.active::before { content: ''; position: absolute; inset: 0; border-radius: 0.5rem; padding: 0.0625rem; background: linear-gradient(var(--angle, 0deg), transparent 40%, #a78bfa 50%, transparent 60%); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: rotateBorder 3s linear infinite; }
.xrl-feature:hover { background: rgba(255,255,255,0.1); transform: translateY(-0.125rem); }
.xrl-feature:hover::before { padding: 0.125rem; filter: brightness(1.5); }
@property --angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
@keyframes rotateBorder { to { --angle: 360deg; } }
.xrl-feature .check { color: #a78bfa; font-weight: 700; }

/* Clients & Certs */
.section-clients { padding: 4rem 6rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; background: transparent; }
.clients-card, .certs-card { background: var(--bg-card); border: 0.0625rem solid var(--border-light); border-radius: 1rem; padding: 2rem; }
.clients-card h2, .certs-card h2 { font-size: 1.2rem; font-weight: 800; text-align: center; margin-bottom: 1.5rem; }
.clients-grid { display: flex; justify-content: center; gap: 1.5rem; margin-bottom: 1rem; }
.client-item { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; padding: 1rem; border: 0.0625rem solid var(--border-light); border-radius: 0.75rem; min-width: 7.5rem; transition: all 0.3s; background: var(--bg-secondary); }
.client-item:hover { transform: translateY(-0.1875rem); box-shadow: 0 0.3125rem 0.9375rem rgba(45,27,105,0.08); }
.client-logo { width: 3.75rem; height: 3.75rem; }
.client-logo img { width: 100%; height: 100%; object-fit: contain; }
.client-name { font-size: 0.75rem; font-weight: 700; color: #1a1a2e; }
.client-name-en { font-size: 0.65rem; color: #999; }
.see-more { display: block; text-align: center; color: var(--main); text-decoration: none; font-size: 0.8rem; font-weight: 600; }
.certs-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.cert-item { display: flex; flex-direction: column; align-items: center; padding: 1rem; border: 0.0625rem solid #f0edf8; border-radius: 0.625rem; text-align: center; transition: all 0.3s; }
.cert-item:hover { transform: translateY(-0.1875rem); box-shadow: 0 0.3125rem 0.9375rem rgba(45,27,105,0.08); }
.cert-icon { width: 3.69rem; height: 3.69rem; margin-bottom: 0.5rem; display: flex; align-items: center; justify-content: center; }
.cert-icon i { font-size: 2.214rem; color: var(--main); }
.cert-name { font-size: 0.86rem; font-weight: 700; color: var(--main); }
.cert-desc { font-size: 0.74rem; color: #999; }

/* Architecture */
.section-arch { padding: 4rem 6rem; background: transparent; }
.arch-container { border: 0.0625rem solid var(--border-light); border-radius: 1rem; padding: 2rem; background: var(--bg-secondary); }
.arch-container h2 { text-align: center; font-size: 1.5rem; font-weight: 800; }
.arch-container .section-line { margin-bottom: 2rem; }
.arch-grid { display: flex; justify-content: space-between; }
.arch-item { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 1.5rem 1rem; border-left: 0.0625rem solid var(--border-light); }
.arch-item:last-child { border-left: none; }
.arch-item:hover { background: #f8f6ff; }
.arch-icon { width: 2.8125rem; height: 2.8125rem; margin-bottom: 0.8rem; display: flex; align-items: center; justify-content: center; }
.arch-icon i { font-size: 1.8rem; color: var(--main); }
.arch-item h4 { font-size: 0.8rem; font-weight: 700; margin-bottom: 0.3rem; }
.arch-item p { font-size: 0.7rem; color: #888; }

/* Solution */
.section-solution { padding: 4rem 6rem; background: transparent; }
.solution-container { display: grid; grid-template-columns: 1fr 1.5fr; gap: 1.5rem; }
.challenges-card, .solution-card { background: var(--bg-card); border: 0.0625rem solid var(--border-light); border-radius: 1rem; padding: 2rem; }
.challenges-card h3 { font-size: 1.1rem; font-weight: 800; color: #c0392b; margin-bottom: 1.5rem; text-align: center; }
.challenge-list { list-style: none; }
.challenge-list li { display: flex; align-items: center; gap: 0.8rem; padding: 0.8rem 1rem; margin-bottom: 0.5rem; background: #f5f5f5; border-radius: 0.5rem; font-size: 0.8rem; border: 0.0625rem solid #e0e0e0; }
.x-icon { width: 1.375rem; height: 1.375rem; background: #dc2626; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.x-icon i { font-size: 0.7rem; }
.solution-card { display: flex; align-items: center; justify-content: center; }
.solution-diagram { width: 100%; height: 100%; }
.solution-diagram img { width: 100%; height: 100%; object-fit: contain; }

/* Articles */
.section-articles { padding: 4rem 6rem; background: transparent; }
.articles-container { display: grid; grid-template-columns: 65% 35%; gap: 1.5rem; }
.articles-card, .excel-card { background: var(--bg-card); border: 0.0625rem solid var(--border-light); border-radius: 1rem; padding: 2rem; }
.articles-card { min-height: 11rem; }
.articles-card h2 { font-size: 1.2rem; font-weight: 800; text-align: center; margin-bottom: 0.5rem; }
.articles-card .section-line { margin-bottom: 1.5rem; }
.articles-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin-bottom: 1.5rem; }
.article-item { text-align: center; }
.article-thumb { width: 100%; height: 5rem; background: var(--bg-secondary); border-radius: 0.625rem; margin-bottom: 0.8rem; overflow: hidden; display: flex; align-items: center; justify-content: center; border: 0.0625rem solid var(--border-light); }
.article-thumb img { width: 100%; height: 100%; object-fit: cover; }
.article-item h4 { font-size: 0.75rem; font-weight: 600; margin-bottom: 0.5rem; line-height: 1.5; }
.article-item a { color: var(--main); text-decoration: none; font-size: 0.7rem; font-weight: 600; }
.btn-all-articles { display: inline-flex; align-items: center; gap: 0.4rem; margin: 0 auto; background: transparent; border: 0.0625rem solid #ddd; padding: 0.5rem 1.5rem; border-radius: 0.375rem; font-size: 0.8rem; cursor: pointer; font-family: var(--font); }
.excel-card { background: #ecf5f6; display: flex; border: 0.0625rem solid #e0e0e0; }
.excel-content { flex: 0 0 45%; padding-right: 2rem; }
.excel-content h2 { font-size: 1.2rem; font-weight: 700; margin-bottom: 1rem; line-height: 1.5; }
.excel-content .green { color: #2e7d32; }
.excel-content .brand { color: var(--main); }
.excel-content p { font-size: 0.8rem; color: #666; line-height: 1.8; margin-bottom: 1rem; }
.btn-learn { display: inline-flex; align-items: center; gap: 0.5rem; background: transparent; border: 0.0625rem solid #2e7d32; color: #2e7d32; padding: 0.6rem 1.5rem; border-radius: 0.5rem; font-size: 0.85rem; cursor: pointer; font-family: var(--font); }
.excel-visual { flex: 0 0 55%; display: flex; align-items: center; justify-content: center; }
.laptop-img { width: 100%; height: auto; border-radius: 0.5rem; }

/* Footer */
.footer { background: linear-gradient(135deg, #1a1a2e 0%, #2d1b69 100%); color: #fff; padding: 3rem 2rem 0; }
.footer-content { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.5fr; gap: 2rem; padding-bottom: 2rem; border-bottom: 0.0625rem solid rgba(255,255,255,0.1); }
.footer-logo { font-size: 2rem; font-weight: 900; margin-bottom: 0.3rem; }
.footer-logo-sub { font-size: 0.7rem; color: rgba(255,255,255,0.5); margin-bottom: 1rem; }
.social-icons { display: flex; gap: 0.8rem; }
.social-icon { width: 2rem; height: 2rem; background: rgba(255,255,255,0.1); border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; text-decoration: none; color: #fff; }
.social-icon i { font-size: 1rem; }
.footer-col h4 { font-size: 0.85rem; font-weight: 700; margin-bottom: 1rem; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 0.5rem; }
.footer-col ul li a { color: rgba(255,255,255,0.6); text-decoration: none; font-size: 0.75rem; transition: color 0.3s; }
.footer-col ul li a:hover { color: #fff; }
.contact-info p { color: rgba(255,255,255,0.6); font-size: 0.75rem; margin-bottom: 0.5rem; line-height: 1.6; }
.footer-bottom { text-align: center; padding: 1.5rem 0; font-size: 0.7rem; color: rgba(255,255,255,0.4); }

/* Hover Animations */
button, a, .btn-demo, .btn-outline, .btn-primary, .btn-brochure, .btn-more, .btn-learn, .btn-all-articles, .social-icon, .see-more, .article-item a, .footer-col ul li a, .header-box-navigation ul li a, .lang-switcher a {
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.btn-demo:hover, .btn-primary:hover {
    transform: translateY(-0.1875rem);
    box-shadow: 0 0.75rem 2rem rgba(45,27,105,0.3);
}
.btn-brochure:hover, .btn-more:hover, .btn-learn:hover, .btn-all-articles:hover {
    transform: translateY(-0.0625rem);
    box-shadow: 0 0.25rem 0.75rem rgba(0,0,0,0.1);
}
.social-icon:hover {
    transform: translateY(-0.1875rem) scale(1.1);
    background: rgba(255,255,255,0.2);
}
.header-box-navigation ul li a:hover {
    color: var(--main);
}
.see-more:hover {
    color: var(--main);
    text-decoration: underline;
}
.article-item a:hover {
    text-decoration: underline;
}

/* Global Responsive */
img { max-width: 100%; height: auto; }
* { box-sizing: border-box; }
.main-container { overflow-x: hidden; width: 100%; }

/* LTR Overrides */
html[dir="ltr"] body { direction: ltr; text-align: left; }
html[dir="ltr"] .xrl-graphic { margin-right: 0; margin-left: auto; }
html[dir="ltr"] .xrl-features { border-right: none; border-left: 0.0625rem solid rgba(255,255,255,0.1); padding-right: 0; padding-left: 0; }
html[dir="ltr"] .excel-content { padding-right: 0; padding-left: 2rem; }
html[dir="ltr"] .arch-item { border-left: none; border-right: 0.0625rem solid var(--border-light); }
html[dir="ltr"] .arch-item:last-child { border-right: none; }
html[dir="ltr"] .solution-container { direction: ltr; }
html[dir="ltr"] select.form-input { background-position: right 1rem center; padding-left: 1rem; padding-right: 2.5rem; }
html[dir="ltr"] .hero-content h1 { direction: ltr; }
html[dir="ltr"] .section-header h2 { direction: ltr; }
html[dir="ltr"] .btn-demo, html[dir="ltr"] .btn-primary, html[dir="ltr"] .btn-outline { direction: ltr; }

/* Demo Form */
.demo-form { display: flex; flex-direction: column; gap: 1rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-group { display: flex; flex-direction: column; gap: 0.375rem; }
.form-label { font-size: 0.85rem; font-weight: 600; color: #333; }
.form-label .required { color: #c62828; }
.form-input {
    padding: 0.75rem 1rem;
    border: 0.0625rem solid #ddd;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    font-family: var(--font);
    background: #fff;
    color: #333;
    transition: border-color 0.3s;
    width: 100%;
}
.form-input:focus {
    outline: none;
    border-color: var(--main);
    box-shadow: 0 0 0 0.1875rem rgba(45,27,105,0.1);
}
.form-input::placeholder { color: #aaa; }
select.form-input { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: left 1rem center; padding-left: 2.5rem; }
textarea.form-input { resize: vertical; min-height: 5rem; }

/* Captcha */
.captcha-box {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.captcha-image-wrap {
    border: 0.0625rem solid #d5cfe6;
    border-radius: 0.5rem;
    overflow: hidden;
    line-height: 0;
    flex-shrink: 0;
}
.captcha-image {
    display: block;
    height: 3rem;
    width: auto;
    transition: opacity 0.3s;
}
.captcha-refresh {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 0.0625rem solid #d5cfe6;
    border-radius: 50%;
    background: #f0ecf7;
    color: var(--main);
    cursor: pointer;
    transition: all 0.3s;
    font-size: 0.9rem;
    flex-shrink: 0;
}
.captcha-refresh:hover { background: var(--main); color: #fff; border-color: var(--main); transform: rotate(180deg); }
.captcha-refresh:active { transform: rotate(360deg); }
.captcha-refresh:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.captcha-input { max-width: 8rem; }

/* Contact Info */
.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.contact-info-card {
    background: #fff;
    border: 0.0625rem solid var(--border-light);
    border-radius: 0.75rem;
    padding: 1.25rem;
    text-align: center;
}
.contact-info-card i {
    font-size: 1.5rem;
    color: var(--main);
    margin-bottom: 0.5rem;
}
.contact-info-card h4 {
    font-size: 0.8rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 0.375rem;
}
.contact-info-card p {
    font-size: 0.85rem;
    color: #666;
    margin: 0;
}
.contact-map {
    margin-bottom: 1.5rem;
    border-radius: 0.75rem;
    overflow: hidden;
    border: 0.0625rem solid var(--border-light);
}

@media (max-width: 640px) {
    .form-row { grid-template-columns: 1fr; }
    .section-hero { padding-top: 5rem; }
    .contact-info-grid { grid-template-columns: 1fr; }
}
