/* ===== Aria AI — Company Landing ===== */
:root {
    --bg: #0a0b0f;
    --surface: #12141c;
    --surface-2: #1a1d28;
    --text: #e8eaef;
    --text-muted: #8b8f9a;
    --accent: #6366f1;
    --accent-light: #818cf8;
    --cyan: #22d3ee;
    --emerald: #34d399;
    --border: rgba(255, 255, 255, 0.06);
    /* Display: لوگو، عناوین، کارت‌ها — Outfit برای لاتین، Vazirmatn برای فارسی */
    --font-display: 'Outfit', 'Vazirmatn', sans-serif;
    --font-body: 'Vazirmatn', 'Segoe UI', Tahoma, sans-serif;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
    /* جلوگیری از جابه‌جایی افقی ردیف اول هنگام ظاهر شدن نوار اسکرول */
    scrollbar-gutter: stable;
}

/* Skip link: visible on focus for a11y */
.skip-link {
    position: absolute;
    top: -3rem;
    left: 1rem;
    z-index: 1001;
    padding: 0.6rem 1rem;
    background: var(--accent);
    color: #fff;
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 600;
    border-radius: 8px;
    text-decoration: none;
    transition: top 0.2s;
}
.skip-link:focus {
    top: 1rem;
    outline: 2px solid var(--accent-light);
    outline-offset: 2px;
}

body {
    font-family: var(--font-body);
    background: var(--bg);
    color: var(--text);
    line-height: 1.6;
    overflow-x: hidden;
    text-align: right;
    /* CLS: reduce layout shift when web fonts load (fallback vs. Vazirmatn aspect) */
    font-size-adjust: 0.5;
}

.noise-overlay {
    position: fixed;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
    pointer-events: none;
    z-index: 1000;
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

/* ----- Header ----- */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    padding: 1rem 0;
    transition: background 0.3s, box-shadow 0.3s;
}

.header.scrolled {
    /* بدون backdrop-filter: در غیر این صورت نزدیکان position:fixed (مثل منوی موبایل)
       به جای ویوپورت، به جعبهٔ کوتاه هدر محدود می‌شوند و منو دیده نمی‌شود. */
    background: rgba(10, 11, 15, 0.94);
    box-shadow: 0 1px 0 var(--border);
}

.header-inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    /* ارتفاع پایدار تا ردیف اول هدر با لود فونت/آیکن جابه‌جا نشود */
    min-height: 3.5rem;
}

.logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: var(--text);
    flex-shrink: 0;
    line-height: 0;
}

.logo-img {
    display: block;
    height: 2.25rem;
    width: auto;
    max-width: min(10.5rem, 42vw);
    object-fit: contain;
}

.logo-img--footer {
    height: 2.5rem;
    max-width: 11.5rem;
}

.nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    line-height: 1;
}

.nav a {
    font-family: var(--font-body);
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    transition: color 0.2s;
    line-height: 1;
}

.nav a:hover {
    color: var(--text);
}

.nav a.active {
    color: var(--accent-light);
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.6rem 1.2rem;
    border-radius: 10px;
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.2s;
}

.header-contact {
    display: none;
    align-items: center;
    gap: 0.5rem;
    flex-shrink: 0;
    min-width: 0;
}

.header-contact-wa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 10px;
    color: #4ade80;
    border: 1px solid rgba(37, 211, 102, 0.35);
    background: rgba(37, 211, 102, 0.12);
    text-decoration: none;
    font-size: 1.1rem;
    transition: color 0.2s, border-color 0.2s, background 0.2s;
    flex-shrink: 0;
}

.header-contact-wa:hover,
.header-contact-wa:focus-visible {
    color: #86efac;
    border-color: rgba(37, 211, 102, 0.5);
    background: rgba(37, 211, 102, 0.18);
}

.header-contact-phone {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 10px;
    color: var(--accent-light);
    border: 1px solid rgba(99, 102, 241, 0.35);
    background: rgba(99, 102, 241, 0.12);
    text-decoration: none;
    font-size: 1.05rem;
    transition: color 0.2s, border-color 0.2s, background 0.2s;
    flex-shrink: 0;
}

.header-contact-phone:hover,
.header-contact-phone:focus-visible {
    color: #c7d2fe;
    border-color: rgba(99, 102, 241, 0.5);
    background: rgba(99, 102, 241, 0.18);
}

.header-contact-phone:focus-visible {
    outline: 2px solid var(--accent-light);
    outline-offset: 2px;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    justify-self: end;
    flex-shrink: 0;
}

.header-social {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.header-icon-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    color: var(--text-muted);
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.02);
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s, background 0.2s;
    font-size: 1.05rem;
}

.header-icon-link:hover {
    color: var(--accent-light);
    border-color: rgba(99, 102, 241, 0.45);
    background: rgba(99, 102, 241, 0.1);
}

.header-icon-link:focus-visible {
    outline: 2px solid var(--accent-light);
    outline-offset: 2px;
}

/* Social brand icons — mask + currentColor (GitHub/email) or bundled SVG (npm/HF) */
.social-icon {
    display: block;
    width: 1.08em;
    height: 1em;
    flex-shrink: 0;
    pointer-events: none;
    background-color: currentColor;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.social-icon--github {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M12%200C5.37%200%200%205.37%200%2012c0%205.31%203.435%209.795%208.205%2011.385.6.105.825-.255.825-.57%200-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015%201.62.87%201.845%201.23%201.08%201.815%202.805%201.305%203.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925%200-1.305.465-2.385%201.23-3.225-.12-.3-.54-1.53.12-3.18%200%200%201.005-.315%203.3%201.23.96-.27%201.98-.405%203-.405s2.04.135%203%20.405c2.295-1.56%203.3-1.23%203.3-1.23.66%201.65.24%202.88.12%203.18.765.84%201.23%201.905%201.23%203.225%200%204.605-2.805%205.625-5.475%205.925.435.375.81%201.095.81%202.22%200%201.605-.015%202.895-.015%203.3%200%20.315.225.69.825.57A12.02%2012.02%200%200024%2012c0-6.63-5.37-12-12-12z%22%2F%3E%20%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M12%200C5.37%200%200%205.37%200%2012c0%205.31%203.435%209.795%208.205%2011.385.6.105.825-.255.825-.57%200-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015%201.62.87%201.845%201.23%201.08%201.815%202.805%201.305%203.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925%200-1.305.465-2.385%201.23-3.225-.12-.3-.54-1.53.12-3.18%200%200%201.005-.315%203.3%201.23.96-.27%201.98-.405%203-.405s2.04.135%203%20.405c2.295-1.56%203.3-1.23%203.3-1.23.66%201.65.24%202.88.12%203.18.765.84%201.23%201.905%201.23%203.225%200%204.605-2.805%205.625-5.475%205.925.435.375.81%201.095.81%202.22%200%201.605-.015%202.895-.015%203.3%200%20.315.225.69.825.57A12.02%2012.02%200%200024%2012c0-6.63-5.37-12-12-12z%22%2F%3E%20%3C%2Fsvg%3E");
}

.social-icon--email {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M1.5%206.75A2.25%202.25%200%20013.75%204.5h16.5a2.25%202.25%200%20012.25%202.25v10.5A2.25%202.25%200%200120.25%2019.5H3.75A2.25%202.25%200%20011.5%2017.25V6.75zm2.122-.75a.75.75%200%2000-.622%201.165l8.25%205.625a.75.75%200%2000.85%200l8.25-5.625a.75.75%200%2000-.622-1.165H3.622z%22%2F%3E%20%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M1.5%206.75A2.25%202.25%200%20013.75%204.5h16.5a2.25%202.25%200%20012.25%202.25v10.5A2.25%202.25%200%200120.25%2019.5H3.75A2.25%202.25%200%20011.5%2017.25V6.75zm2.122-.75a.75.75%200%2000-.622%201.165l8.25%205.625a.75.75%200%2000.85%200l8.25-5.625a.75.75%200%2000-.622-1.165H3.622z%22%2F%3E%20%3C%2Fsvg%3E");
}

.social-icon--npm {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M0%200v24h6.5v-9h3.5v9H24V0H0zm20%2018h-3.5V9H20v9zM6.5%209H10v9H6.5V9z%22%2F%3E%20%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23fff%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20d%3D%22M0%200v24h6.5v-9h3.5v9H24V0H0zm20%2018h-3.5V9H20v9zM6.5%209H10v9H6.5V9z%22%2F%3E%20%3C%2Fsvg%3E");
}

.social-icon--hf {
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2295%22%20height%3D%2288%22%20fill%3D%22none%22%20viewBox%3D%220%200%2095%2088%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M47.21%2076.5a34.75%2034.75%200%201%200%200-69.5%2034.75%2034.75%200%200%200%200%2069.5Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M81.96%2041.75a34.75%2034.75%200%201%200-69.5%200%2034.75%2034.75%200%200%200%2069.5%200Zm-73.5%200a38.75%2038.75%200%201%201%2077.5%200%2038.75%2038.75%200%200%201-77.5%200Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M58.5%2032.3c1.28.44%201.78%203.06%203.07%202.38a5%205%200%201%200-6.76-2.07c.61%201.15%202.55-.72%203.7-.32ZM34.95%2032.3c-1.28.44-1.79%203.06-3.07%202.38a5%205%200%201%201%206.76-2.07c-.61%201.15-2.56-.72-3.7-.32Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M46.96%2056.29c9.83%200%2013-8.76%2013-13.26%200-2.34-1.57-1.6-4.09-.36-2.33%201.15-5.46%202.74-8.9%202.74-7.19%200-13-6.88-13-2.38s3.16%2013.26%2013%2013.26Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M39.43%2054a8.7%208.7%200%200%201%205.3-4.49c.4-.12.81.57%201.24%201.28.4.68.82%201.37%201.24%201.37.45%200%20.9-.68%201.33-1.35.45-.7.89-1.38%201.32-1.25a8.61%208.61%200%200%201%205%204.17c3.73-2.94%205.1-7.74%205.1-10.7%200-2.34-1.57-1.6-4.09-.36l-.14.07c-2.31%201.15-5.39%202.67-8.77%202.67s-6.45-1.52-8.77-2.67c-2.6-1.29-4.23-2.1-4.23.29%200%203.05%201.46%208.06%205.47%2010.97Z%22%20clip-rule%3D%22evenodd%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M70.71%2037a3.25%203.25%200%201%200%200-6.5%203.25%203.25%200%200%200%200%206.5ZM24.21%2037a3.25%203.25%200%201%200%200-6.5%203.25%203.25%200%200%200%200%206.5ZM17.52%2048c-1.62%200-3.06.66-4.07%201.87a5.97%205.97%200%200%200-1.33%203.76%207.1%207.1%200%200%200-1.94-.3c-1.55%200-2.95.59-3.94%201.66a5.8%205.8%200%200%200-.8%207%205.3%205.3%200%200%200-1.79%202.82c-.24.9-.48%202.8.8%204.74a5.22%205.22%200%200%200-.37%205.02c1.02%202.32%203.57%204.14%208.52%206.1%203.07%201.22%205.89%202%205.91%202.01a44.33%2044.33%200%200%200%2010.93%201.6c5.86%200%2010.05-1.8%2012.46-5.34%203.88-5.69%203.33-10.9-1.7-15.92-2.77-2.78-4.62-6.87-5-7.77-.78-2.66-2.84-5.62-6.25-5.62a5.7%205.7%200%200%200-4.6%202.46c-1-1.26-1.98-2.25-2.86-2.82A7.4%207.4%200%200%200%2017.52%2048Zm0%204c.51%200%201.14.22%201.82.65%202.14%201.36%206.25%208.43%207.76%2011.18.5.92%201.37%201.31%202.14%201.31%201.55%200%202.75-1.53.15-3.48-3.92-2.93-2.55-7.72-.68-8.01.08-.02.17-.02.24-.02%201.7%200%202.45%202.93%202.45%202.93s2.2%205.52%205.98%209.3c3.77%203.77%203.97%206.8%201.22%2010.83-1.88%202.75-5.47%203.58-9.16%203.58-3.81%200-7.73-.9-9.92-1.46-.11-.03-13.45-3.8-11.76-7%20.28-.54.75-.76%201.34-.76%202.38%200%206.7%203.54%208.57%203.54.41%200%20.7-.17.83-.6.79-2.85-12.06-4.05-10.98-8.17.2-.73.71-1.02%201.44-1.02%203.14%200%2010.2%205.53%2011.68%205.53.11%200%20.2-.03.24-.1.74-1.2.33-2.04-4.9-5.2-5.21-3.16-8.88-5.06-6.8-7.33.24-.26.58-.38%201-.38%203.17%200%2010.66%206.82%2010.66%206.82s2.02%202.1%203.25%202.1c.28%200%20.52-.1.68-.38.86-1.46-8.06-8.22-8.56-11.01-.34-1.9.24-2.85%201.31-2.85Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M38.6%2076.69c2.75-4.04%202.55-7.07-1.22-10.84-3.78-3.77-5.98-9.3-5.98-9.3s-.82-3.2-2.69-2.9c-1.87.3-3.24%205.08.68%208.01%203.91%202.93-.78%204.92-2.29%202.17-1.5-2.75-5.62-9.82-7.76-11.18-2.13-1.35-3.63-.6-3.13%202.2.5%202.79%209.43%209.55%208.56%2011-.87%201.47-3.93-1.71-3.93-1.71s-9.57-8.71-11.66-6.44c-2.08%202.27%201.59%204.17%206.8%207.33%205.23%203.16%205.64%204%204.9%205.2-.75%201.2-12.28-8.53-13.36-4.4-1.08%204.11%2011.77%205.3%2010.98%208.15-.8%202.85-9.06-5.38-10.74-2.18-1.7%203.21%2011.65%206.98%2011.76%207.01%204.3%201.12%2015.25%203.49%2019.08-2.12Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M77.4%2048c1.62%200%203.07.66%204.07%201.87a5.97%205.97%200%200%201%201.33%203.76%207.1%207.1%200%200%201%201.95-.3c1.55%200%202.95.59%203.94%201.66a5.8%205.8%200%200%201%20.8%207%205.3%205.3%200%200%201%201.78%202.82c.24.9.48%202.8-.8%204.74a5.22%205.22%200%200%201%20.37%205.02c-1.02%202.32-3.57%204.14-8.51%206.1-3.08%201.22-5.9%202-5.92%202.01a44.33%2044.33%200%200%201-10.93%201.6c-5.86%200-10.05-1.8-12.46-5.34-3.88-5.69-3.33-10.9%201.7-15.92%202.78-2.78%204.63-6.87%205.01-7.77.78-2.66%202.83-5.62%206.24-5.62a5.7%205.7%200%200%201%204.6%202.46c1-1.26%201.98-2.25%202.87-2.82A7.4%207.4%200%200%201%2077.4%2048Zm0%204c-.51%200-1.13.22-1.82.65-2.13%201.36-6.25%208.43-7.76%2011.18a2.43%202.43%200%200%201-2.14%201.31c-1.54%200-2.75-1.53-.14-3.48%203.91-2.93%202.54-7.72.67-8.01a1.54%201.54%200%200%200-.24-.02c-1.7%200-2.45%202.93-2.45%202.93s-2.2%205.52-5.97%209.3c-3.78%203.77-3.98%206.8-1.22%2010.83%201.87%202.75%205.47%203.58%209.15%203.58%203.82%200%207.73-.9%209.93-1.46.1-.03%2013.45-3.8%2011.76-7-.29-.54-.75-.76-1.34-.76-2.38%200-6.71%203.54-8.57%203.54-.42%200-.71-.17-.83-.6-.8-2.85%2012.05-4.05%2010.97-8.17-.19-.73-.7-1.02-1.44-1.02-3.14%200-10.2%205.53-11.68%205.53-.1%200-.19-.03-.23-.1-.74-1.2-.34-2.04%204.88-5.2%205.23-3.16%208.9-5.06%206.8-7.33-.23-.26-.57-.38-.98-.38-3.18%200-10.67%206.82-10.67%206.82s-2.02%202.1-3.24%202.1a.74.74%200%200%201-.68-.38c-.87-1.46%208.05-8.22%208.55-11.01.34-1.9-.24-2.85-1.31-2.85Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M56.33%2076.69c-2.75-4.04-2.56-7.07%201.22-10.84%203.77-3.77%205.97-9.3%205.97-9.3s.82-3.2%202.7-2.9c1.86.3%203.23%205.08-.68%208.01-3.92%202.93.78%204.92%202.28%202.17%201.51-2.75%205.63-9.82%207.76-11.18%202.13-1.35%203.64-.6%203.13%202.2-.5%202.79-9.42%209.55-8.55%2011%20.86%201.47%203.92-1.71%203.92-1.71s9.58-8.71%2011.66-6.44c2.08%202.27-1.58%204.17-6.8%207.33-5.23%203.16-5.63%204-4.9%205.2.75%201.2%2012.28-8.53%2013.36-4.4%201.08%204.11-11.76%205.3-10.97%208.15.8%202.85%209.05-5.38%2010.74-2.18%201.69%203.21-11.65%206.98-11.76%207.01-4.31%201.12-15.26%203.49-19.08-2.12Z%22%20%2F%3E%20%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2295%22%20height%3D%2288%22%20fill%3D%22none%22%20viewBox%3D%220%200%2095%2088%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M47.21%2076.5a34.75%2034.75%200%201%200%200-69.5%2034.75%2034.75%200%200%200%200%2069.5Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M81.96%2041.75a34.75%2034.75%200%201%200-69.5%200%2034.75%2034.75%200%200%200%2069.5%200Zm-73.5%200a38.75%2038.75%200%201%201%2077.5%200%2038.75%2038.75%200%200%201-77.5%200Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M58.5%2032.3c1.28.44%201.78%203.06%203.07%202.38a5%205%200%201%200-6.76-2.07c.61%201.15%202.55-.72%203.7-.32ZM34.95%2032.3c-1.28.44-1.79%203.06-3.07%202.38a5%205%200%201%201%206.76-2.07c-.61%201.15-2.56-.72-3.7-.32Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M46.96%2056.29c9.83%200%2013-8.76%2013-13.26%200-2.34-1.57-1.6-4.09-.36-2.33%201.15-5.46%202.74-8.9%202.74-7.19%200-13-6.88-13-2.38s3.16%2013.26%2013%2013.26Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M39.43%2054a8.7%208.7%200%200%201%205.3-4.49c.4-.12.81.57%201.24%201.28.4.68.82%201.37%201.24%201.37.45%200%20.9-.68%201.33-1.35.45-.7.89-1.38%201.32-1.25a8.61%208.61%200%200%201%205%204.17c3.73-2.94%205.1-7.74%205.1-10.7%200-2.34-1.57-1.6-4.09-.36l-.14.07c-2.31%201.15-5.39%202.67-8.77%202.67s-6.45-1.52-8.77-2.67c-2.6-1.29-4.23-2.1-4.23.29%200%203.05%201.46%208.06%205.47%2010.97Z%22%20clip-rule%3D%22evenodd%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M70.71%2037a3.25%203.25%200%201%200%200-6.5%203.25%203.25%200%200%200%200%206.5ZM24.21%2037a3.25%203.25%200%201%200%200-6.5%203.25%203.25%200%200%200%200%206.5ZM17.52%2048c-1.62%200-3.06.66-4.07%201.87a5.97%205.97%200%200%200-1.33%203.76%207.1%207.1%200%200%200-1.94-.3c-1.55%200-2.95.59-3.94%201.66a5.8%205.8%200%200%200-.8%207%205.3%205.3%200%200%200-1.79%202.82c-.24.9-.48%202.8.8%204.74a5.22%205.22%200%200%200-.37%205.02c1.02%202.32%203.57%204.14%208.52%206.1%203.07%201.22%205.89%202%205.91%202.01a44.33%2044.33%200%200%200%2010.93%201.6c5.86%200%2010.05-1.8%2012.46-5.34%203.88-5.69%203.33-10.9-1.7-15.92-2.77-2.78-4.62-6.87-5-7.77-.78-2.66-2.84-5.62-6.25-5.62a5.7%205.7%200%200%200-4.6%202.46c-1-1.26-1.98-2.25-2.86-2.82A7.4%207.4%200%200%200%2017.52%2048Zm0%204c.51%200%201.14.22%201.82.65%202.14%201.36%206.25%208.43%207.76%2011.18.5.92%201.37%201.31%202.14%201.31%201.55%200%202.75-1.53.15-3.48-3.92-2.93-2.55-7.72-.68-8.01.08-.02.17-.02.24-.02%201.7%200%202.45%202.93%202.45%202.93s2.2%205.52%205.98%209.3c3.77%203.77%203.97%206.8%201.22%2010.83-1.88%202.75-5.47%203.58-9.16%203.58-3.81%200-7.73-.9-9.92-1.46-.11-.03-13.45-3.8-11.76-7%20.28-.54.75-.76%201.34-.76%202.38%200%206.7%203.54%208.57%203.54.41%200%20.7-.17.83-.6.79-2.85-12.06-4.05-10.98-8.17.2-.73.71-1.02%201.44-1.02%203.14%200%2010.2%205.53%2011.68%205.53.11%200%20.2-.03.24-.1.74-1.2.33-2.04-4.9-5.2-5.21-3.16-8.88-5.06-6.8-7.33.24-.26.58-.38%201-.38%203.17%200%2010.66%206.82%2010.66%206.82s2.02%202.1%203.25%202.1c.28%200%20.52-.1.68-.38.86-1.46-8.06-8.22-8.56-11.01-.34-1.9.24-2.85%201.31-2.85Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M38.6%2076.69c2.75-4.04%202.55-7.07-1.22-10.84-3.78-3.77-5.98-9.3-5.98-9.3s-.82-3.2-2.69-2.9c-1.87.3-3.24%205.08.68%208.01%203.91%202.93-.78%204.92-2.29%202.17-1.5-2.75-5.62-9.82-7.76-11.18-2.13-1.35-3.63-.6-3.13%202.2.5%202.79%209.43%209.55%208.56%2011-.87%201.47-3.93-1.71-3.93-1.71s-9.57-8.71-11.66-6.44c-2.08%202.27%201.59%204.17%206.8%207.33%205.23%203.16%205.64%204%204.9%205.2-.75%201.2-12.28-8.53-13.36-4.4-1.08%204.11%2011.77%205.3%2010.98%208.15-.8%202.85-9.06-5.38-10.74-2.18-1.7%203.21%2011.65%206.98%2011.76%207.01%204.3%201.12%2015.25%203.49%2019.08-2.12Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M77.4%2048c1.62%200%203.07.66%204.07%201.87a5.97%205.97%200%200%201%201.33%203.76%207.1%207.1%200%200%201%201.95-.3c1.55%200%202.95.59%203.94%201.66a5.8%205.8%200%200%201%20.8%207%205.3%205.3%200%200%201%201.78%202.82c.24.9.48%202.8-.8%204.74a5.22%205.22%200%200%201%20.37%205.02c-1.02%202.32-3.57%204.14-8.51%206.1-3.08%201.22-5.9%202-5.92%202.01a44.33%2044.33%200%200%201-10.93%201.6c-5.86%200-10.05-1.8-12.46-5.34-3.88-5.69-3.33-10.9%201.7-15.92%202.78-2.78%204.63-6.87%205.01-7.77.78-2.66%202.83-5.62%206.24-5.62a5.7%205.7%200%200%201%204.6%202.46c1-1.26%201.98-2.25%202.87-2.82A7.4%207.4%200%200%201%2077.4%2048Zm0%204c-.51%200-1.13.22-1.82.65-2.13%201.36-6.25%208.43-7.76%2011.18a2.43%202.43%200%200%201-2.14%201.31c-1.54%200-2.75-1.53-.14-3.48%203.91-2.93%202.54-7.72.67-8.01a1.54%201.54%200%200%200-.24-.02c-1.7%200-2.45%202.93-2.45%202.93s-2.2%205.52-5.97%209.3c-3.78%203.77-3.98%206.8-1.22%2010.83%201.87%202.75%205.47%203.58%209.15%203.58%203.82%200%207.73-.9%209.93-1.46.1-.03%2013.45-3.8%2011.76-7-.29-.54-.75-.76-1.34-.76-2.38%200-6.71%203.54-8.57%203.54-.42%200-.71-.17-.83-.6-.8-2.85%2012.05-4.05%2010.97-8.17-.19-.73-.7-1.02-1.44-1.02-3.14%200-10.2%205.53-11.68%205.53-.1%200-.19-.03-.23-.1-.74-1.2-.34-2.04%204.88-5.2%205.23-3.16%208.9-5.06%206.8-7.33-.23-.26-.57-.38-.98-.38-3.18%200-10.67%206.82-10.67%206.82s-2.02%202.1-3.24%202.1a.74.74%200%200%201-.68-.38c-.87-1.46%208.05-8.22%208.55-11.01.34-1.9-.24-2.85-1.31-2.85Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M56.33%2076.69c-2.75-4.04-2.56-7.07%201.22-10.84%203.77-3.77%205.97-9.3%205.97-9.3s.82-3.2%202.7-2.9c1.86.3%203.23%205.08-.68%208.01-3.92%202.93.78%204.92%202.28%202.17%201.51-2.75%205.63-9.82%207.76-11.18%202.13-1.35%203.64-.6%203.13%202.2-.5%202.79-9.42%209.55-8.55%2011%20.86%201.47%203.92-1.71%203.92-1.71s9.58-8.71%2011.66-6.44c2.08%202.27-1.58%204.17-6.8%207.33-5.23%203.16-5.63%204-4.9%205.2.75%201.2%2012.28-8.53%2013.36-4.4%201.08%204.11-11.76%205.3-10.97%208.15.8%202.85%209.05-5.38%2010.74-2.18%201.69%203.21-11.65%206.98-11.76%207.01-4.31%201.12-15.26%203.49-19.08-2.12Z%22%20%2F%3E%20%3C%2Fsvg%3E");
}

/* Hugging Face: mask + currentColor — same hue as GitHub / email icons */
.hf-icon-mask {
    display: block;
    width: 1.08em;
    height: 1em;
    flex-shrink: 0;
    pointer-events: none;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2295%22%20height%3D%2288%22%20fill%3D%22none%22%20viewBox%3D%220%200%2095%2088%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M47.21%2076.5a34.75%2034.75%200%201%200%200-69.5%2034.75%2034.75%200%200%200%200%2069.5Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M81.96%2041.75a34.75%2034.75%200%201%200-69.5%200%2034.75%2034.75%200%200%200%2069.5%200Zm-73.5%200a38.75%2038.75%200%201%201%2077.5%200%2038.75%2038.75%200%200%201-77.5%200Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M58.5%2032.3c1.28.44%201.78%203.06%203.07%202.38a5%205%200%201%200-6.76-2.07c.61%201.15%202.55-.72%203.7-.32ZM34.95%2032.3c-1.28.44-1.79%203.06-3.07%202.38a5%205%200%201%201%206.76-2.07c-.61%201.15-2.56-.72-3.7-.32Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M46.96%2056.29c9.83%200%2013-8.76%2013-13.26%200-2.34-1.57-1.6-4.09-.36-2.33%201.15-5.46%202.74-8.9%202.74-7.19%200-13-6.88-13-2.38s3.16%2013.26%2013%2013.26Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M39.43%2054a8.7%208.7%200%200%201%205.3-4.49c.4-.12.81.57%201.24%201.28.4.68.82%201.37%201.24%201.37.45%200%20.9-.68%201.33-1.35.45-.7.89-1.38%201.32-1.25a8.61%208.61%200%200%201%205%204.17c3.73-2.94%205.1-7.74%205.1-10.7%200-2.34-1.57-1.6-4.09-.36l-.14.07c-2.31%201.15-5.39%202.67-8.77%202.67s-6.45-1.52-8.77-2.67c-2.6-1.29-4.23-2.1-4.23.29%200%203.05%201.46%208.06%205.47%2010.97Z%22%20clip-rule%3D%22evenodd%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M70.71%2037a3.25%203.25%200%201%200%200-6.5%203.25%203.25%200%200%200%200%206.5ZM24.21%2037a3.25%203.25%200%201%200%200-6.5%203.25%203.25%200%200%200%200%206.5ZM17.52%2048c-1.62%200-3.06.66-4.07%201.87a5.97%205.97%200%200%200-1.33%203.76%207.1%207.1%200%200%200-1.94-.3c-1.55%200-2.95.59-3.94%201.66a5.8%205.8%200%200%200-.8%207%205.3%205.3%200%200%200-1.79%202.82c-.24.9-.48%202.8.8%204.74a5.22%205.22%200%200%200-.37%205.02c1.02%202.32%203.57%204.14%208.52%206.1%203.07%201.22%205.89%202%205.91%202.01a44.33%2044.33%200%200%200%2010.93%201.6c5.86%200%2010.05-1.8%2012.46-5.34%203.88-5.69%203.33-10.9-1.7-15.92-2.77-2.78-4.62-6.87-5-7.77-.78-2.66-2.84-5.62-6.25-5.62a5.7%205.7%200%200%200-4.6%202.46c-1-1.26-1.98-2.25-2.86-2.82A7.4%207.4%200%200%200%2017.52%2048Zm0%204c.51%200%201.14.22%201.82.65%202.14%201.36%206.25%208.43%207.76%2011.18.5.92%201.37%201.31%202.14%201.31%201.55%200%202.75-1.53.15-3.48-3.92-2.93-2.55-7.72-.68-8.01.08-.02.17-.02.24-.02%201.7%200%202.45%202.93%202.45%202.93s2.2%205.52%205.98%209.3c3.77%203.77%203.97%206.8%201.22%2010.83-1.88%202.75-5.47%203.58-9.16%203.58-3.81%200-7.73-.9-9.92-1.46-.11-.03-13.45-3.8-11.76-7%20.28-.54.75-.76%201.34-.76%202.38%200%206.7%203.54%208.57%203.54.41%200%20.7-.17.83-.6.79-2.85-12.06-4.05-10.98-8.17.2-.73.71-1.02%201.44-1.02%203.14%200%2010.2%205.53%2011.68%205.53.11%200%20.2-.03.24-.1.74-1.2.33-2.04-4.9-5.2-5.21-3.16-8.88-5.06-6.8-7.33.24-.26.58-.38%201-.38%203.17%200%2010.66%206.82%2010.66%206.82s2.02%202.1%203.25%202.1c.28%200%20.52-.1.68-.38.86-1.46-8.06-8.22-8.56-11.01-.34-1.9.24-2.85%201.31-2.85Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M38.6%2076.69c2.75-4.04%202.55-7.07-1.22-10.84-3.78-3.77-5.98-9.3-5.98-9.3s-.82-3.2-2.69-2.9c-1.87.3-3.24%205.08.68%208.01%203.91%202.93-.78%204.92-2.29%202.17-1.5-2.75-5.62-9.82-7.76-11.18-2.13-1.35-3.63-.6-3.13%202.2.5%202.79%209.43%209.55%208.56%2011-.87%201.47-3.93-1.71-3.93-1.71s-9.57-8.71-11.66-6.44c-2.08%202.27%201.59%204.17%206.8%207.33%205.23%203.16%205.64%204%204.9%205.2-.75%201.2-12.28-8.53-13.36-4.4-1.08%204.11%2011.77%205.3%2010.98%208.15-.8%202.85-9.06-5.38-10.74-2.18-1.7%203.21%2011.65%206.98%2011.76%207.01%204.3%201.12%2015.25%203.49%2019.08-2.12Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M77.4%2048c1.62%200%203.07.66%204.07%201.87a5.97%205.97%200%200%201%201.33%203.76%207.1%207.1%200%200%201%201.95-.3c1.55%200%202.95.59%203.94%201.66a5.8%205.8%200%200%201%20.8%207%205.3%205.3%200%200%201%201.78%202.82c.24.9.48%202.8-.8%204.74a5.22%205.22%200%200%201%20.37%205.02c-1.02%202.32-3.57%204.14-8.51%206.1-3.08%201.22-5.9%202-5.92%202.01a44.33%2044.33%200%200%201-10.93%201.6c-5.86%200-10.05-1.8-12.46-5.34-3.88-5.69-3.33-10.9%201.7-15.92%202.78-2.78%204.63-6.87%205.01-7.77.78-2.66%202.83-5.62%206.24-5.62a5.7%205.7%200%200%201%204.6%202.46c1-1.26%201.98-2.25%202.87-2.82A7.4%207.4%200%200%201%2077.4%2048Zm0%204c-.51%200-1.13.22-1.82.65-2.13%201.36-6.25%208.43-7.76%2011.18a2.43%202.43%200%200%201-2.14%201.31c-1.54%200-2.75-1.53-.14-3.48%203.91-2.93%202.54-7.72.67-8.01a1.54%201.54%200%200%200-.24-.02c-1.7%200-2.45%202.93-2.45%202.93s-2.2%205.52-5.97%209.3c-3.78%203.77-3.98%206.8-1.22%2010.83%201.87%202.75%205.47%203.58%209.15%203.58%203.82%200%207.73-.9%209.93-1.46.1-.03%2013.45-3.8%2011.76-7-.29-.54-.75-.76-1.34-.76-2.38%200-6.71%203.54-8.57%203.54-.42%200-.71-.17-.83-.6-.8-2.85%2012.05-4.05%2010.97-8.17-.19-.73-.7-1.02-1.44-1.02-3.14%200-10.2%205.53-11.68%205.53-.1%200-.19-.03-.23-.1-.74-1.2-.34-2.04%204.88-5.2%205.23-3.16%208.9-5.06%206.8-7.33-.23-.26-.57-.38-.98-.38-3.18%200-10.67%206.82-10.67%206.82s-2.02%202.1-3.24%202.1a.74.74%200%200%201-.68-.38c-.87-1.46%208.05-8.22%208.55-11.01.34-1.9-.24-2.85-1.31-2.85Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M56.33%2076.69c-2.75-4.04-2.56-7.07%201.22-10.84%203.77-3.77%205.97-9.3%205.97-9.3s.82-3.2%202.7-2.9c1.86.3%203.23%205.08-.68%208.01-3.92%202.93.78%204.92%202.28%202.17%201.51-2.75%205.63-9.82%207.76-11.18%202.13-1.35%203.64-.6%203.13%202.2-.5%202.79-9.42%209.55-8.55%2011%20.86%201.47%203.92-1.71%203.92-1.71s9.58-8.71%2011.66-6.44c2.08%202.27-1.58%204.17-6.8%207.33-5.23%203.16-5.63%204-4.9%205.2.75%201.2%2012.28-8.53%2013.36-4.4%201.08%204.11-11.76%205.3-10.97%208.15.8%202.85%209.05-5.38%2010.74-2.18%201.69%203.21-11.65%206.98-11.76%207.01-4.31%201.12-15.26%203.49-19.08-2.12Z%22%20%2F%3E%20%3C%2Fsvg%3E");
    mask-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2295%22%20height%3D%2288%22%20fill%3D%22none%22%20viewBox%3D%220%200%2095%2088%22%20aria-hidden%3D%22true%22%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M47.21%2076.5a34.75%2034.75%200%201%200%200-69.5%2034.75%2034.75%200%200%200%200%2069.5Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M81.96%2041.75a34.75%2034.75%200%201%200-69.5%200%2034.75%2034.75%200%200%200%2069.5%200Zm-73.5%200a38.75%2038.75%200%201%201%2077.5%200%2038.75%2038.75%200%200%201-77.5%200Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M58.5%2032.3c1.28.44%201.78%203.06%203.07%202.38a5%205%200%201%200-6.76-2.07c.61%201.15%202.55-.72%203.7-.32ZM34.95%2032.3c-1.28.44-1.79%203.06-3.07%202.38a5%205%200%201%201%206.76-2.07c-.61%201.15-2.56-.72-3.7-.32Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M46.96%2056.29c9.83%200%2013-8.76%2013-13.26%200-2.34-1.57-1.6-4.09-.36-2.33%201.15-5.46%202.74-8.9%202.74-7.19%200-13-6.88-13-2.38s3.16%2013.26%2013%2013.26Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20fill-rule%3D%22evenodd%22%20d%3D%22M39.43%2054a8.7%208.7%200%200%201%205.3-4.49c.4-.12.81.57%201.24%201.28.4.68.82%201.37%201.24%201.37.45%200%20.9-.68%201.33-1.35.45-.7.89-1.38%201.32-1.25a8.61%208.61%200%200%201%205%204.17c3.73-2.94%205.1-7.74%205.1-10.7%200-2.34-1.57-1.6-4.09-.36l-.14.07c-2.31%201.15-5.39%202.67-8.77%202.67s-6.45-1.52-8.77-2.67c-2.6-1.29-4.23-2.1-4.23.29%200%203.05%201.46%208.06%205.47%2010.97Z%22%20clip-rule%3D%22evenodd%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M70.71%2037a3.25%203.25%200%201%200%200-6.5%203.25%203.25%200%200%200%200%206.5ZM24.21%2037a3.25%203.25%200%201%200%200-6.5%203.25%203.25%200%200%200%200%206.5ZM17.52%2048c-1.62%200-3.06.66-4.07%201.87a5.97%205.97%200%200%200-1.33%203.76%207.1%207.1%200%200%200-1.94-.3c-1.55%200-2.95.59-3.94%201.66a5.8%205.8%200%200%200-.8%207%205.3%205.3%200%200%200-1.79%202.82c-.24.9-.48%202.8.8%204.74a5.22%205.22%200%200%200-.37%205.02c1.02%202.32%203.57%204.14%208.52%206.1%203.07%201.22%205.89%202%205.91%202.01a44.33%2044.33%200%200%200%2010.93%201.6c5.86%200%2010.05-1.8%2012.46-5.34%203.88-5.69%203.33-10.9-1.7-15.92-2.77-2.78-4.62-6.87-5-7.77-.78-2.66-2.84-5.62-6.25-5.62a5.7%205.7%200%200%200-4.6%202.46c-1-1.26-1.98-2.25-2.86-2.82A7.4%207.4%200%200%200%2017.52%2048Zm0%204c.51%200%201.14.22%201.82.65%202.14%201.36%206.25%208.43%207.76%2011.18.5.92%201.37%201.31%202.14%201.31%201.55%200%202.75-1.53.15-3.48-3.92-2.93-2.55-7.72-.68-8.01.08-.02.17-.02.24-.02%201.7%200%202.45%202.93%202.45%202.93s2.2%205.52%205.98%209.3c3.77%203.77%203.97%206.8%201.22%2010.83-1.88%202.75-5.47%203.58-9.16%203.58-3.81%200-7.73-.9-9.92-1.46-.11-.03-13.45-3.8-11.76-7%20.28-.54.75-.76%201.34-.76%202.38%200%206.7%203.54%208.57%203.54.41%200%20.7-.17.83-.6.79-2.85-12.06-4.05-10.98-8.17.2-.73.71-1.02%201.44-1.02%203.14%200%2010.2%205.53%2011.68%205.53.11%200%20.2-.03.24-.1.74-1.2.33-2.04-4.9-5.2-5.21-3.16-8.88-5.06-6.8-7.33.24-.26.58-.38%201-.38%203.17%200%2010.66%206.82%2010.66%206.82s2.02%202.1%203.25%202.1c.28%200%20.52-.1.68-.38.86-1.46-8.06-8.22-8.56-11.01-.34-1.9.24-2.85%201.31-2.85Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M38.6%2076.69c2.75-4.04%202.55-7.07-1.22-10.84-3.78-3.77-5.98-9.3-5.98-9.3s-.82-3.2-2.69-2.9c-1.87.3-3.24%205.08.68%208.01%203.91%202.93-.78%204.92-2.29%202.17-1.5-2.75-5.62-9.82-7.76-11.18-2.13-1.35-3.63-.6-3.13%202.2.5%202.79%209.43%209.55%208.56%2011-.87%201.47-3.93-1.71-3.93-1.71s-9.57-8.71-11.66-6.44c-2.08%202.27%201.59%204.17%206.8%207.33%205.23%203.16%205.64%204%204.9%205.2-.75%201.2-12.28-8.53-13.36-4.4-1.08%204.11%2011.77%205.3%2010.98%208.15-.8%202.85-9.06-5.38-10.74-2.18-1.7%203.21%2011.65%206.98%2011.76%207.01%204.3%201.12%2015.25%203.49%2019.08-2.12Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M77.4%2048c1.62%200%203.07.66%204.07%201.87a5.97%205.97%200%200%201%201.33%203.76%207.1%207.1%200%200%201%201.95-.3c1.55%200%202.95.59%203.94%201.66a5.8%205.8%200%200%201%20.8%207%205.3%205.3%200%200%201%201.78%202.82c.24.9.48%202.8-.8%204.74a5.22%205.22%200%200%201%20.37%205.02c-1.02%202.32-3.57%204.14-8.51%206.1-3.08%201.22-5.9%202-5.92%202.01a44.33%2044.33%200%200%201-10.93%201.6c-5.86%200-10.05-1.8-12.46-5.34-3.88-5.69-3.33-10.9%201.7-15.92%202.78-2.78%204.63-6.87%205.01-7.77.78-2.66%202.83-5.62%206.24-5.62a5.7%205.7%200%200%201%204.6%202.46c1-1.26%201.98-2.25%202.87-2.82A7.4%207.4%200%200%201%2077.4%2048Zm0%204c-.51%200-1.13.22-1.82.65-2.13%201.36-6.25%208.43-7.76%2011.18a2.43%202.43%200%200%201-2.14%201.31c-1.54%200-2.75-1.53-.14-3.48%203.91-2.93%202.54-7.72.67-8.01a1.54%201.54%200%200%200-.24-.02c-1.7%200-2.45%202.93-2.45%202.93s-2.2%205.52-5.97%209.3c-3.78%203.77-3.98%206.8-1.22%2010.83%201.87%202.75%205.47%203.58%209.15%203.58%203.82%200%207.73-.9%209.93-1.46.1-.03%2013.45-3.8%2011.76-7-.29-.54-.75-.76-1.34-.76-2.38%200-6.71%203.54-8.57%203.54-.42%200-.71-.17-.83-.6-.8-2.85%2012.05-4.05%2010.97-8.17-.19-.73-.7-1.02-1.44-1.02-3.14%200-10.2%205.53-11.68%205.53-.1%200-.19-.03-.23-.1-.74-1.2-.34-2.04%204.88-5.2%205.23-3.16%208.9-5.06%206.8-7.33-.23-.26-.57-.38-.98-.38-3.18%200-10.67%206.82-10.67%206.82s-2.02%202.1-3.24%202.1a.74.74%200%200%201-.68-.38c-.87-1.46%208.05-8.22%208.55-11.01.34-1.9-.24-2.85-1.31-2.85Z%22%20%2F%3E%20%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M56.33%2076.69c-2.75-4.04-2.56-7.07%201.22-10.84%203.77-3.77%205.97-9.3%205.97-9.3s.82-3.2%202.7-2.9c1.86.3%203.23%205.08-.68%208.01-3.92%202.93.78%204.92%202.28%202.17%201.51-2.75%205.63-9.82%207.76-11.18%202.13-1.35%203.64-.6%203.13%202.2-.5%202.79-9.42%209.55-8.55%2011%20.86%201.47%203.92-1.71%203.92-1.71s9.58-8.71%2011.66-6.44c2.08%202.27-1.58%204.17-6.8%207.33-5.23%203.16-5.63%204-4.9%205.2.75%201.2%2012.28-8.53%2013.36-4.4%201.08%204.11-11.76%205.3-10.97%208.15.8%202.85%209.05-5.38%2010.74-2.18%201.69%203.21-11.65%206.98-11.76%207.01-4.31%201.12-15.26%203.49-19.08-2.12Z%22%20%2F%3E%20%3C%2Fsvg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
}

.header-icon-hf .hf-icon-mask {
    width: 1.12em;
    height: 1.04em;
}

/* Header/footer desktop: npm & HF — bundled SVGs (same as mobile; mask data-URIs unreliable) */
.header-social .header-icon-npm .social-icon--npm,
.footer-social-link .social-icon--npm {
    background-color: transparent;
    -webkit-mask-image: none;
    mask-image: none;
    background-image: url("icons/npm.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.header-social .header-icon-hf .hf-icon-mask,
.footer-social-link .hf-icon-mask {
    background-color: transparent;
    -webkit-mask-image: none;
    mask-image: none;
    background-image: url("icons/huggingface.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.product-card-hub .hf-icon-mask,
.footer-links .hf-icon-mask {
    display: inline-block;
    vertical-align: -0.18em;
    margin-inline-end: 0.35em;
    width: 1.05em;
    height: 0.98em;
}

/* هارمونی سه آیکون هدر: یک اندازهٔ دیداری با آیکن‌های FA */
.header-social .header-icon-link i {
    font-size: 1.08rem;
    line-height: 1;
    color: inherit;
}


.header .btn-outline {
    flex-shrink: 0;
    justify-self: end;
}

.header .btn-outline i {
    display: inline-flex;
    align-items: center;
}

.btn-outline {
    color: var(--accent-light);
    border: 1px solid rgba(99, 102, 241, 0.4);
    background: transparent;
}

.btn-outline:hover {
    background: rgba(99, 102, 241, 0.15);
    border-color: var(--accent);
}

.btn-primary {
    background: linear-gradient(135deg, var(--accent), #4f46e5);
    color: #fff;
}

.btn-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 24px rgba(99, 102, 241, 0.35);
}

.btn-ghost {
    color: var(--text-muted);
    background: transparent;
}

.btn-ghost:hover {
    color: var(--text);
    background: var(--surface-2);
}

.btn-lg {
    padding: 0.9rem 1.75rem;
    font-size: 1rem;
}

.nav-toggle {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    color: var(--text);
    cursor: pointer;
    padding: 0.5rem;
}

.nav-toggle span {
    width: 22px;
    height: 2px;
    background: currentColor;
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.2s ease;
}

/* Mobile-only nav elements — hidden on desktop */
.nav-cta-mobile,
.nav-close {
    display: none;
}

/* ----- Hero ----- */
.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6rem 1.5rem 4rem;
    gap: 2rem;
}

/* Desktop: extra inset on visual right — RTL hero text column sits there */
@media (min-width: 901px) {
    /* نوار لینک‌های دسکتاپ: بیرون از .header، بدون transform روی #main-nav */
    #main-nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 101;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: clamp(0.45rem, 1.1vw, 1.15rem);
        /* فضای امن برای لوگو (راست) و آیکن‌های اجتماعی (چپ) — جلوگیری از هم‌پوشانی */
        padding-inline: clamp(10.5rem, 26vw, 15.5rem);
        padding-block: 1rem;
        min-height: calc(3.5rem + 2rem);
        box-sizing: border-box;
        pointer-events: none;
        background: transparent;
        width: 100%;
        max-width: none;
        margin: 0;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    #main-nav::-webkit-scrollbar {
        display: none;
    }

    #main-nav a {
        pointer-events: auto;
        white-space: nowrap;
        flex-shrink: 0;
        font-size: clamp(0.78rem, 0.85vw, 0.875rem);
    }

    /* ساختار مگا منوی موبایل را روی دسکتاپ باز می‌کنیم تا همان لینک‌ها در ردیف بمانند */
    #main-nav .mobile-nav-backdrop {
        display: none;
    }

    #main-nav .mobile-nav-sheet {
        display: contents;
    }

    #main-nav .mobile-nav-sheet-inner {
        display: contents;
    }

    #main-nav .mobile-nav-sheet-header {
        display: none;
    }

    #main-nav .mobile-nav-header-menu {
        display: none;
    }

    #main-nav .mobile-nav-contact,
    #main-nav .mobile-nav-social {
        display: none;
    }

    #main-nav .mobile-nav-links {
        display: contents;
    }

    #main-nav .mobile-nav-industries {
        display: none !important;
    }

    #main-nav .mobile-nav-chevron {
        display: none;
    }

    /* لینک‌های کم‌اولویت — فقط در منوی موبایل */
    #main-nav .nav-link--mobile-only {
        display: none;
    }

    /* گروه‌بندی دسکتاپ: خدمات/صنایع | نمونه‌کار | شرکت */
    #main-nav a[href$="#products"],
    #main-nav a[href$="#tech"] {
        margin-inline-start: 0.35rem;
        padding-inline-start: 0.85rem;
        border-inline-start: 1px solid var(--border);
    }

    /* در عرض متوسط دسکتاپ چند لینک ثانویه مخفی می‌شوند */
    @media (min-width: 901px) and (max-width: 1280px) {
        #main-nav a[href="#faq"],
        #main-nav a[href="#about"] {
            display: none;
        }
    }

    .header-actions {
        position: relative;
        z-index: 102;
    }

    .header-inner .logo {
        position: relative;
        z-index: 102;
    }

    .header-inner {
        padding-left: 1.5rem;
        padding-right: clamp(2rem, 4vw, 3.25rem);
    }

    .hero {
        padding-top: 6rem;
        padding-bottom: 4rem;
        padding-left: 1.5rem;
        padding-right: clamp(2rem, 4vw, 3.25rem);
        gap: clamp(1.75rem, 3vw, 2.75rem);
    }
}

.hero-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.gradient-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
    animation: orb-float 18s ease-in-out infinite;
}

.orb-1 {
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, var(--accent) 0%, transparent 70%);
    top: -20%;
    right: -10%;
    animation-delay: 0s;
}

.orb-2 {
    width: 400px;
    height: 400px;
    background: radial-gradient(circle, var(--cyan) 0%, transparent 70%);
    bottom: -10%;
    left: -5%;
    animation-delay: -8s;
}

.grid-pattern {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 60px 60px;
}

@keyframes orb-float {
    0%, 100% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(30px, -30px) scale(1.05); }
    66% { transform: translate(-20px, 20px) scale(0.95); }
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 640px;
    text-align: right;
    /* ثابت به rem — درصد با تغییر ارتفاع بعد از لود فونت باعث CLS می‌شد */
    transform: translateY(-1.5rem);
}

.hero-badge {
    display: inline-block;
    padding: 0.35rem 0.9rem;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--text-muted);
    margin-bottom: 1.5rem;
    animation: fadeUp 0.8s ease-out;
}

/* min-height reduces CLS when webfont loads (font swap) */
.hero-title {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    line-height: 1.2;
    letter-spacing: -0.02em;
    margin-bottom: 1.25rem;
    min-height: 4.2em;
    animation: fadeUp 0.8s ease-out 0.1s both;
}

.hero-title .line {
    display: block;
}

.hero-title .accent {
    background: linear-gradient(135deg, var(--accent-light), var(--cyan));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-desc {
    font-family: var(--font-body);
    color: var(--text-muted);
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.7;
    max-width: 100%;
    margin-inline-start: 0;
    margin-inline-end: 0;
    margin-bottom: 2rem;
    animation: fadeUp 0.8s ease-out 0.2s both;
}

.hero-cta {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
    animation: fadeUp 0.8s ease-out 0.3s both;
}

.hero-visual {
    position: relative;
    bottom: auto;
    left: auto;
    transform: none;
    width: 100%;
    max-width: 640px;
    margin-inline: auto;
    margin-top: 2.5rem;
    z-index: 1;
}

/* LTR island: English domain tags — چپ‌چین در ستون هیرو (ردیف اول چیدمان) */
.floating-cards {
    display: flex;
    justify-content: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
    direction: ltr;
    unicode-bidi: isolate;
}

.float-card {
    padding: 0.75rem 1.25rem;
    background: rgba(26, 29, 40, 0.8);
    border: 1px solid var(--border);
    border-radius: 14px;
    font-family: var(--font-display);
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    direction: ltr;
    gap: 0.5rem;
    animation: float 4s ease-in-out infinite;
    animation-delay: calc(var(--delay) * 0.4s);
}

.float-card i {
    color: var(--accent);
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}

@keyframes fadeUp {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* ----- Sections ----- */
.section {
    padding: 5rem 0;
}

/* Below-the-fold: content-visibility improves LCP by deferring off-screen work */
section.section:not(.hero) {
    content-visibility: auto;
    contain-intrinsic-size: auto 500px;
}

.section-title {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    letter-spacing: -0.02em;
    margin-bottom: 0.5rem;
}

.section-sub {
    font-family: var(--font-body);
    color: var(--text-muted);
    font-size: 1rem;
    font-weight: 400;
    margin-bottom: 2.5rem;
}

.section-sub-link {
    color: var(--accent-light);
    text-decoration: none;
    font-weight: 600;
}

.section-sub-link:hover {
    text-decoration: underline;
}

.hub-callout {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin: -1.25rem 0 2rem;
    padding: 1.05rem 1.2rem;
    font-family: var(--font-body);
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.14) 0%, rgba(34, 211, 238, 0.05) 100%);
    border: 1px solid rgba(99, 102, 241, 0.28);
    border-radius: 14px;
    box-shadow:
        0 4px 28px rgba(99, 102, 241, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.05);
    position: relative;
    overflow: hidden;
}

.hub-callout::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 3px;
    background: linear-gradient(180deg, var(--accent-light), var(--cyan));
    border-radius: 0 14px 14px 0;
}

.hub-callout__icon {
    flex-shrink: 0;
    width: 2.35rem;
    height: 2.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(99, 102, 241, 0.2);
    border: 1px solid rgba(129, 140, 248, 0.35);
    border-radius: 10px;
    color: var(--accent-light);
    font-size: 1.05rem;
    box-shadow: 0 2px 8px rgba(99, 102, 241, 0.15);
}

.hub-callout__content {
    flex: 1;
    min-width: 0;
}

.hub-callout__label {
    display: inline-block;
    margin-bottom: 0.4rem;
    padding: 0.18rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--accent-light);
    background: rgba(99, 102, 241, 0.18);
    border: 1px solid rgba(129, 140, 248, 0.25);
    border-radius: 6px;
}

.hub-callout__text {
    font-size: 0.9rem;
    line-height: 1.75;
    color: var(--text-muted);
    text-wrap: pretty;
}

.hub-callout__text strong {
    color: var(--text);
    font-weight: 600;
}

.hub-callout--compact {
    margin: 1rem 0 0;
    padding: 0.8rem 1rem;
    gap: 0.75rem;
}

.hub-callout--compact .hub-callout__icon {
    width: 1.9rem;
    height: 1.9rem;
    font-size: 0.85rem;
    border-radius: 8px;
}

.hub-callout--compact .hub-callout__label {
    margin-bottom: 0.25rem;
    font-size: 0.68rem;
}

.hub-callout--compact .hub-callout__text {
    font-size: 0.85rem;
    line-height: 1.65;
}

.hub-poc-badge {
    display: inline-block;
    align-self: flex-start;
    margin-bottom: 0.65rem;
    padding: 0.2rem 0.55rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--accent-light);
    background: rgba(99, 102, 241, 0.14);
    border: 1px solid rgba(99, 102, 241, 0.28);
    border-radius: 6px;
}

/* ----- Services ----- */
.services {
    position: relative;
    background:
        radial-gradient(ellipse 70% 55% at 100% 0%, rgba(34, 211, 238, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse 55% 40% at 0% 100%, rgba(99, 102, 241, 0.07) 0%, transparent 52%),
        var(--surface);
}

.services-header {
    text-align: center;
    max-width: 42rem;
    margin-inline: auto;
    margin-bottom: 3rem;
}

.services-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 0.85rem;
    padding: 0.35rem 0.9rem;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--accent-light);
    background: rgba(99, 102, 241, 0.12);
    border: 1px solid rgba(99, 102, 241, 0.28);
    border-radius: 100px;
}

.services-eyebrow i {
    font-size: 0.72rem;
    opacity: 0.9;
}

.services-header .section-title {
    margin-bottom: 0.65rem;
}

.services-sub {
    margin-bottom: 1.35rem;
    line-height: 1.75;
}

.services-stats {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.65rem 1rem;
    padding: 0.65rem 1.15rem;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid var(--border);
    border-radius: 100px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.services-stat {
    font-family: var(--font-body);
    font-size: 0.82rem;
    color: var(--text-muted);
}

.services-stat strong {
    color: var(--text);
    font-weight: 700;
}

.services-stat-divider {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--accent);
    opacity: 0.55;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(272px, 1fr));
    gap: 1.25rem;
    counter-reset: service-idx;
}

.service-card {
    --card-accent: var(--accent-light);
    --card-glow: rgba(99, 102, 241, 0.12);
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.65rem 1.55rem 1.75rem;
    background:
        linear-gradient(
            155deg,
            color-mix(in srgb, var(--card-glow) 45%, var(--surface-2)) 0%,
            var(--surface-2) 38%,
            color-mix(in srgb, var(--card-accent) 3%, var(--surface)) 100%
        );
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 18px;
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 10px 32px rgba(0, 0, 0, 0.16);
    overflow: hidden;
    isolation: isolate;
    counter-increment: service-idx;
    transition:
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.service-card:nth-child(5n + 1) {
    --card-accent: var(--accent-light);
    --card-glow: rgba(99, 102, 241, 0.14);
}

.service-card:nth-child(5n + 2) {
    --card-accent: var(--cyan);
    --card-glow: rgba(34, 211, 238, 0.12);
}

.service-card:nth-child(5n + 3) {
    --card-accent: var(--emerald);
    --card-glow: rgba(52, 211, 153, 0.12);
}

.service-card:nth-child(5n + 4) {
    --card-accent: #f472b6;
    --card-glow: rgba(244, 114, 182, 0.11);
}

.service-card:nth-child(5n + 5) {
    --card-accent: #fbbf24;
    --card-glow: rgba(251, 191, 36, 0.12);
}

.service-card::before {
    content: '';
    position: absolute;
    inset-inline: 1.25rem;
    top: 0;
    height: 2px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(90deg, transparent, var(--card-accent), transparent);
    opacity: 0.85;
    pointer-events: none;
}

.service-card::after {
    content: '';
    position: absolute;
    width: 200px;
    height: 200px;
    inset-inline-start: -60px;
    bottom: -90px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--card-glow) 0%, transparent 68%);
    pointer-events: none;
    z-index: -1;
    transition: transform 0.35s ease, opacity 0.35s ease;
}

.service-card:hover {
    border-color: color-mix(in srgb, var(--card-accent) 35%, transparent);
    transform: translateY(-5px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 18px 48px rgba(0, 0, 0, 0.28),
        0 0 0 1px color-mix(in srgb, var(--card-accent) 12%, transparent);
}

.service-card:hover::after {
    transform: scale(1.15) translateY(-8px);
    opacity: 1.2;
}

.service-icon {
    position: relative;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.1rem;
    background: color-mix(in srgb, var(--card-accent) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--card-accent) 28%, transparent);
    border-radius: 14px;
    color: var(--card-accent);
    font-size: 1.28rem;
    box-shadow: 0 8px 24px color-mix(in srgb, var(--card-accent) 18%, transparent);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.service-icon::before {
    content: counter(service-idx, decimal-leading-zero);
    position: absolute;
    inset-inline-start: -0.35rem;
    top: -0.35rem;
    min-width: 1.35rem;
    height: 1.35rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.25rem;
    font-family: var(--font-display);
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.02em;
    color: var(--card-accent);
    background: var(--surface);
    border: 1px solid color-mix(in srgb, var(--card-accent) 35%, transparent);
    border-radius: 6px;
}

.service-card:hover .service-icon {
    transform: scale(1.06);
    box-shadow: 0 10px 28px color-mix(in srgb, var(--card-accent) 28%, transparent);
}

.service-card h3 {
    font-family: var(--font-display);
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 0.55rem;
    line-height: 1.45;
}

.service-card p {
    font-family: var(--font-body);
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.65;
    flex: 1;
}

.service-demo-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.85rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--accent-light);
    text-decoration: none;
    transition: opacity 0.2s;
}

.service-demo-link:hover {
    opacity: 0.85;
}

.office-automation-featured {
    padding-top: 0;
}

.office-automation-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    margin-top: 1.5rem;
}

.case-study-card--pilot {
    border-color: color-mix(in srgb, var(--accent-light) 22%, transparent);
}

.case-study-card--pilot .case-study-client a {
    color: inherit;
    text-decoration: none;
}

.case-study-card--pilot .case-study-client a:hover {
    color: var(--accent-light);
}

@media (max-width: 640px) {
    .services-header {
        margin-bottom: 2.25rem;
    }

    .services-stats {
        border-radius: 14px;
        padding: 0.75rem 1rem;
    }

    .services-stat-divider {
        display: none;
    }

    .services-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .service-card {
        padding: 1.45rem 1.25rem 1.55rem;
        border-radius: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-card,
    .service-card::after,
    .service-icon {
        transition: none;
    }

    .service-card:hover {
        transform: none;
    }

    .service-card:hover .service-icon {
        transform: none;
    }
}

/* ----- Industries (upstream) ----- */
.industries {
    background:
        radial-gradient(ellipse 80% 50% at 50% 0%, rgba(34, 211, 238, 0.04) 0%, transparent 55%),
        var(--bg);
}

.industry-rows {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}

.industry-row {
    --row-accent: var(--cyan);
    --row-glow: rgba(34, 211, 238, 0.08);
    position: relative;
    padding: 2rem 1.75rem 2.25rem;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background:
        linear-gradient(
            145deg,
            color-mix(in srgb, var(--row-glow) 55%, var(--surface)) 0%,
            var(--surface) 42%,
            color-mix(in srgb, var(--row-accent) 4%, var(--bg)) 100%
        );
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 12px 40px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    isolation: isolate;
}

.industry-row::before {
    content: '';
    position: absolute;
    inset-inline-end: 0;
    top: 1.25rem;
    bottom: 1.25rem;
    width: 3px;
    border-radius: 3px 0 0 3px;
    background: linear-gradient(180deg, transparent, var(--row-accent), transparent);
    opacity: 0.75;
    pointer-events: none;
}

.industry-row::after {
    content: '';
    position: absolute;
    width: 280px;
    height: 280px;
    inset-inline-start: -80px;
    top: -100px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--row-glow) 0%, transparent 68%);
    pointer-events: none;
    z-index: -1;
}

.industry-row--energy {
    --row-accent: #fbbf24;
    --row-glow: rgba(251, 191, 36, 0.14);
}

.industry-row--steel {
    --row-accent: #94a3b8;
    --row-glow: rgba(148, 163, 184, 0.12);
}

.industry-row--pharma {
    --row-accent: #34d399;
    --row-glow: rgba(52, 211, 153, 0.12);
}

.industry-row--supply {
    --row-accent: var(--accent-light);
    --row-glow: rgba(99, 102, 241, 0.12);
}

.industry-row--agriculture {
    --row-accent: #84cc16;
    --row-glow: rgba(132, 204, 22, 0.14);
}

.industry-row--laser {
    --row-accent: #f97316;
    --row-glow: rgba(249, 115, 22, 0.14);
}

.industry-row--construction {
    --row-accent: #f59e0b;
    --row-glow: rgba(245, 158, 11, 0.14);
}

.industry-row--refrigeration {
    --row-accent: #22d3ee;
    --row-glow: rgba(34, 211, 238, 0.14);
}

.industry-row--mining {
    --row-accent: #d97706;
    --row-glow: rgba(217, 119, 6, 0.14);
}

.industry-row--page {
    margin-top: 0.5rem;
}

.industry-card-title {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--text);
    line-height: 1.35;
}

.industry-values {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-bottom: 0.75rem;
}

.industry-value-tag {
    font-size: 0.72rem;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--row-accent) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--row-accent) 22%, transparent);
    color: var(--row-accent, var(--accent-light));
    font-family: var(--font-body);
}

.industry-row-title {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 1.25rem;
    color: var(--text);
}

.industry-row-title i {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--row-accent) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--row-accent) 28%, transparent);
    border-radius: 10px;
    color: var(--row-accent);
    font-size: 0.95rem;
    flex-shrink: 0;
    box-shadow: 0 2px 12px color-mix(in srgb, var(--row-accent) 12%, transparent);
}

.industry-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
}

.industry-card {
    padding: 1.5rem;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 16px;
    transition: border-color 0.2s, transform 0.2s;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}

.industry-card:hover {
    border-color: color-mix(in srgb, var(--row-accent, var(--cyan)) 32%, transparent);
    transform: translateY(-3px);
}

.industry-card h4 {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    line-height: 1.4;
}

.industry-card p {
    font-family: var(--font-body);
    color: var(--text-muted);
    font-size: 0.88rem;
    line-height: 1.65;
    flex: 1;
}

.industry-tech {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.25rem;
}

.industry-tech-tag {
    padding: 0.25rem 0.6rem;
    background: rgba(99, 102, 241, 0.1);
    border: 1px solid rgba(99, 102, 241, 0.2);
    border-radius: 100px;
    font-family: var(--font-body);
    font-size: 0.72rem;
    font-weight: 500;
    color: var(--accent-light);
    white-space: nowrap;
}

.industry-demo-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid var(--border);
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--row-accent, var(--cyan));
    text-decoration: none;
    transition: color 0.2s, gap 0.2s;
}

.industry-demo-link:hover {
    color: color-mix(in srgb, var(--row-accent, var(--cyan)) 75%, #fff);
    gap: 0.6rem;
}

.industry-demo-link .fa-flask {
    font-size: 0.75rem;
    opacity: 0.85;
}

.industry-demo-link .fa-arrow-left {
    font-size: 0.7rem;
    margin-inline-start: auto;
}

.industries-footer {
    margin-top: 3rem;
    padding-top: 0;
    border-top: none;
    text-align: center;
}

.industries-impact {
    padding: 2.25rem 2rem 1.75rem;
    margin-bottom: 2rem;
    background: linear-gradient(
        165deg,
        var(--surface-2) 0%,
        rgba(34, 211, 238, 0.04) 45%,
        rgba(99, 102, 241, 0.07) 100%
    );
    border: 1px solid var(--border);
    border-radius: 20px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

.industries-impact-header {
    margin-bottom: 1.75rem;
}

.industries-impact-title {
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--text);
    margin-bottom: 0.4rem;
}

.industries-impact-sub {
    font-family: var(--font-body);
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.55;
    max-width: 36rem;
    margin: 0 auto;
}

.industries-kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.industry-kpi-stat {
    --kpi-accent: var(--cyan);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 1.5rem 1rem 1.35rem;
    background: rgba(10, 11, 15, 0.45);
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}

.industry-kpi-stat::before {
    content: '';
    position: absolute;
    top: 0;
    inset-inline: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--kpi-accent), transparent);
    opacity: 0.85;
}

.industry-kpi-stat:hover {
    border-color: color-mix(in srgb, var(--kpi-accent) 35%, transparent);
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
}

.industry-kpi-stat--downtime { --kpi-accent: var(--cyan); }
.industry-kpi-stat--quality { --kpi-accent: var(--accent-light); }
.industry-kpi-stat--anomaly { --kpi-accent: var(--emerald); }
.industry-kpi-stat--energy { --kpi-accent: #fbbf24; }

.industry-kpi-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.9rem;
    border-radius: 12px;
    background: color-mix(in srgb, var(--kpi-accent) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--kpi-accent) 22%, transparent);
    color: var(--kpi-accent);
    font-size: 1rem;
}

.industry-kpi-value {
    display: block;
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 2.5vw, 1.85rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 0.45rem;
    background: linear-gradient(135deg, var(--kpi-accent) 0%, color-mix(in srgb, var(--kpi-accent) 65%, #fff) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.industry-kpi-label {
    display: block;
    font-family: var(--font-body);
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--text-muted);
    line-height: 1.5;
    max-width: 11rem;
}

.industries-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0;
}

.industries-kpi-note {
    margin: 0;
    font-family: var(--font-body);
    font-size: 0.76rem;
    color: var(--text-muted);
    line-height: 1.55;
    opacity: 0.85;
}

@media (max-width: 900px) {
    .industries-kpis {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 520px) {
    .industry-row {
        padding: 1.5rem 1.15rem 1.75rem;
        border-radius: 16px;
    }

    .industries-impact {
        padding: 1.75rem 1.25rem 1.5rem;
    }

    .industries-kpis {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .industry-kpi-stat {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        text-align: right;
        gap: 0 1rem;
        padding: 1.15rem 1.1rem;
    }

    .industry-kpi-icon {
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .industry-kpi-value {
        flex: 1;
        text-align: right;
        margin-bottom: 0;
        font-size: 1.45rem;
    }

    .industry-kpi-label {
        width: 100%;
        max-width: none;
        padding-inline-start: calc(42px + 1rem);
        text-align: right;
    }
}

/* ----- Sections: content-visibility for CWV (paint only when near viewport) ----- */
.section:not(.hero) {
    content-visibility: auto;
    contain-intrinsic-size: auto 400px;
}

/* ----- Products ----- */
.products {
    background:
        radial-gradient(ellipse 70% 45% at 50% 100%, rgba(99, 102, 241, 0.05) 0%, transparent 55%),
        var(--surface);
}

.products-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 2rem;
}

.filter-btn {
    padding: 0.5rem 1rem;
    border-radius: 100px;
    border: 1px solid var(--border);
    background: var(--surface-2);
    color: var(--text-muted);
    font-family: var(--font-body);
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
}

.filter-btn:hover,
.filter-btn.active {
    border-color: var(--accent);
    color: var(--accent-light);
    background: rgba(99, 102, 241, 0.1);
}

/* Screen-reader-only headings (valid outline without visual noise) */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Reserve space to avoid CLS when JS injects product cards */
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.25rem;
    min-height: 420px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-card {
    display: flex;
    flex-direction: column;
    padding: 0;
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 16px;
    color: inherit;
    transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
    overflow: hidden;
}

.product-card:hover {
    border-color: rgba(99, 102, 241, 0.4);
    transform: translateY(-4px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
}

.product-card-main {
    display: block;
    padding: 1.5rem;
    text-decoration: none;
    color: inherit;
    flex: 1;
}

.product-card .hub-poc-badge {
    margin: 1rem 1.5rem 0;
}

.product-card-hub {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.65rem 1rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--accent-light);
    text-decoration: none;
    border-top: 1px solid var(--border);
    background: rgba(0, 0, 0, 0.2);
    transition: background 0.2s;
}

.product-card-hub:hover {
    background: rgba(99, 102, 241, 0.12);
    color: var(--text);
}

.product-card .product-emoji {
    font-size: 1.5rem;
    margin-bottom: 0.75rem;
}

.product-card .product-title {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
    margin-bottom: 0.4rem;
    direction: ltr;
    text-align: left;
    unicode-bidi: isolate;
}

.product-card .product-desc {
    font-family: var(--font-body);
    color: var(--text-muted);
    font-size: 0.85rem;
    line-height: 1.55;
}

.product-card .product-link {
    margin-top: 0.75rem;
    font-size: 0.8rem;
    color: var(--accent-light);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.product-card:hover .product-link {
    text-decoration: underline;
}

.product-card-main:focus-visible {
    outline: 2px solid var(--accent-light);
    outline-offset: -2px;
}

.product-card-hub:focus-visible {
    outline: 2px solid var(--accent-light);
    outline-offset: -2px;
}

/* ----- FAQ ----- */
.faq-section {
    background:
        radial-gradient(ellipse 55% 40% at 0% 80%, rgba(52, 211, 153, 0.03) 0%, transparent 50%),
        var(--bg);
}

.faq-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.faq-item {
    border-bottom: 1px solid var(--border);
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-question {
    font-family: var(--font-display);
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--accent-light);
    margin: 0;
    padding: 1.25rem 1rem 0.5rem;
    cursor: default;
}

.faq-answer {
    font-family: var(--font-body);
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.7;
    margin: 0;
    padding: 0 1rem 1.25rem;
}

.faq-answer p {
    margin: 0;
}

/* ----- Models ----- */
.models-section {
    background:
        radial-gradient(ellipse 65% 40% at 20% 30%, rgba(129, 140, 248, 0.06) 0%, transparent 50%),
        radial-gradient(ellipse 50% 35% at 85% 70%, rgba(34, 211, 238, 0.04) 0%, transparent 50%),
        var(--bg);
}

.models-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: center;
    align-items: center;
    margin-top: 0.5rem;
}

.models-tags-wrap {
    margin: 0;
    padding: 0;
}

.models-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: center;
    margin-top: 1rem;
}

nav.hero-cta,
nav.models-cta {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ----- Technologies ----- */
.tech-section {
    background:
        radial-gradient(ellipse 55% 45% at 8% 15%, rgba(99, 102, 241, 0.07) 0%, transparent 52%),
        radial-gradient(ellipse 50% 40% at 92% 85%, rgba(34, 211, 238, 0.05) 0%, transparent 50%),
        linear-gradient(180deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 90%, var(--bg)) 100%);
}

.tech-section .section-sub {
    max-width: 40rem;
}

.tech-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 1.25rem;
}

.tech-category {
    --cat-accent: var(--accent-light);
    --cat-glow: rgba(99, 102, 241, 0.1);
    position: relative;
    padding: 1.45rem 1.4rem 1.55rem;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.06);
    background:
        linear-gradient(
            155deg,
            color-mix(in srgb, var(--cat-glow) 50%, var(--surface-2)) 0%,
            var(--surface-2) 55%,
            color-mix(in srgb, var(--cat-accent) 3%, var(--bg)) 100%
        );
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 10px 32px rgba(0, 0, 0, 0.14);
    overflow: hidden;
    isolation: isolate;
    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}

.tech-category::before {
    content: '';
    position: absolute;
    inset-inline-end: 0;
    top: 1rem;
    bottom: 1rem;
    width: 3px;
    border-radius: 3px 0 0 3px;
    background: linear-gradient(180deg, transparent, var(--cat-accent), transparent);
    opacity: 0.7;
    pointer-events: none;
}

.tech-category::after {
    content: '';
    position: absolute;
    width: 200px;
    height: 200px;
    inset-inline-start: -60px;
    top: -70px;
    border-radius: 50%;
    background: radial-gradient(circle, var(--cat-glow) 0%, transparent 68%);
    pointer-events: none;
    z-index: -1;
}

.tech-category:hover {
    border-color: color-mix(in srgb, var(--cat-accent) 28%, transparent);
    transform: translateY(-3px);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.05) inset,
        0 16px 40px rgba(0, 0, 0, 0.2),
        0 0 0 1px color-mix(in srgb, var(--cat-accent) 8%, transparent);
}

.tech-category:nth-child(1) { --cat-accent: #c084fc; --cat-glow: rgba(192, 132, 252, 0.12); }
.tech-category:nth-child(2) { --cat-accent: #60a5fa; --cat-glow: rgba(96, 165, 250, 0.12); }
.tech-category:nth-child(3) { --cat-accent: #22d3ee; --cat-glow: rgba(34, 211, 238, 0.12); }
.tech-category:nth-child(4) { --cat-accent: #818cf8; --cat-glow: rgba(129, 140, 248, 0.14); }
.tech-category:nth-child(5) { --cat-accent: #fbbf24; --cat-glow: rgba(251, 191, 36, 0.12); }
.tech-category:nth-child(6) { --cat-accent: #34d399; --cat-glow: rgba(52, 211, 153, 0.12); }
.tech-category:nth-child(7) { --cat-accent: #a78bfa; --cat-glow: rgba(167, 139, 250, 0.12); }
.tech-category:nth-child(8) { --cat-accent: #94a3b8; --cat-glow: rgba(148, 163, 184, 0.12); }
.tech-category:nth-child(9) { --cat-accent: #f472b6; --cat-glow: rgba(244, 114, 182, 0.12); }
.tech-category:nth-child(10) { --cat-accent: #fb923c; --cat-glow: rgba(251, 146, 60, 0.12); }
.tech-category:nth-child(11) { --cat-accent: #2dd4bf; --cat-glow: rgba(45, 212, 191, 0.12); }
.tech-category:nth-child(12) { --cat-accent: #fde047; --cat-glow: rgba(253, 224, 71, 0.1); }

@media (min-width: 768px) {
    .tech-category:nth-child(4) {
        grid-column: 1 / -1;
    }

    .tech-category:nth-child(4) .tech-tags {
        gap: 0.55rem 0.5rem;
    }
}

.tech-category-title {
    font-family: var(--font-display);
    font-size: 1.02rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--text);
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.tech-category-title i {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 0.88rem;
    color: var(--cat-accent);
    background: color-mix(in srgb, var(--cat-accent) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--cat-accent) 26%, transparent);
    border-radius: 10px;
    opacity: 1;
    box-shadow: 0 2px 10px color-mix(in srgb, var(--cat-accent) 10%, transparent);
}

.tech-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.tech-tag {
    font-family: var(--font-display);
    display: inline-block;
    padding: 0.38rem 0.8rem;
    background: rgba(10, 11, 15, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 100px;
    font-size: 0.76rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--text-muted);
    direction: ltr;
    unicode-bidi: isolate;
    transition: border-color 0.2s, color 0.2s, background 0.2s, transform 0.2s, box-shadow 0.2s;
}

.tech-category .tech-tag:hover {
    border-color: color-mix(in srgb, var(--cat-accent) 45%, transparent);
    color: var(--text);
    background: color-mix(in srgb, var(--cat-accent) 12%, rgba(10, 11, 15, 0.5));
    transform: translateY(-1px);
    box-shadow: 0 4px 14px color-mix(in srgb, var(--cat-accent) 12%, transparent);
}

.models-tags .tech-tag {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 500;
    background: var(--surface-2);
    border-color: var(--border);
    direction: rtl;
}

.models-tags .tech-tag:hover {
    border-color: rgba(99, 102, 241, 0.4);
    color: var(--text);
    background: rgba(99, 102, 241, 0.08);
    transform: none;
    box-shadow: none;
}

@media (max-width: 520px) {
    .tech-categories {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .tech-category {
        padding: 1.25rem 1.15rem 1.35rem;
        border-radius: 16px;
    }

    .tech-category:nth-child(4) {
        grid-column: auto;
    }
}

/* ----- About ----- */
.about {
    background:
        radial-gradient(ellipse 55% 50% at 0% 40%, rgba(99, 102, 241, 0.06) 0%, transparent 52%),
        radial-gradient(ellipse 45% 40% at 100% 70%, rgba(34, 211, 238, 0.04) 0%, transparent 50%),
        var(--bg);
}

.about-inner {
    display: grid;
    grid-template-columns: 1fr minmax(220px, 260px);
    gap: 1.75rem;
    align-items: stretch;
}

.about-content {
    position: relative;
    padding: 2.25rem 2rem 2.35rem;
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    background:
        linear-gradient(
            155deg,
            rgba(99, 102, 241, 0.07) 0%,
            var(--surface) 38%,
            color-mix(in srgb, var(--surface) 88%, var(--bg)) 100%
        );
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.04) inset,
        0 16px 48px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    isolation: isolate;
}

.about-content::before {
    content: '';
    position: absolute;
    inset-inline-end: 0;
    top: 1.5rem;
    bottom: 1.5rem;
    width: 3px;
    border-radius: 3px 0 0 3px;
    background: linear-gradient(180deg, transparent, var(--accent-light), var(--cyan), transparent);
    opacity: 0.8;
    pointer-events: none;
}

.about-content::after {
    content: '';
    position: absolute;
    width: 320px;
    height: 320px;
    inset-inline-start: -100px;
    top: -120px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.1) 0%, transparent 68%);
    pointer-events: none;
    z-index: -1;
}

.about-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-bottom: 1rem;
    padding: 0.35rem 0.85rem;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--accent-light);
    background: rgba(99, 102, 241, 0.12);
    border: 1px solid rgba(129, 140, 248, 0.28);
    border-radius: 100px;
}

.about-badge i {
    font-size: 0.72rem;
    opacity: 0.9;
}

.about-content .section-title {
    margin-bottom: 1.1rem;
}

.about-lead {
    font-family: var(--font-body);
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 1.1rem;
    max-width: 600px;
    text-wrap: pretty;
}

.about-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0 0 1.35rem;
    padding: 0;
    list-style: none;
}

.about-highlights li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.38rem 0.75rem;
    font-family: var(--font-body);
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted);
    background: rgba(10, 11, 15, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 100px;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.about-highlights li i {
    font-size: 0.72rem;
    color: var(--accent-light);
    opacity: 0.9;
}

.about-highlights li:hover {
    color: var(--text);
    border-color: rgba(129, 140, 248, 0.35);
    background: rgba(99, 102, 241, 0.1);
}

.about-body {
    padding-top: 1.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.about-body p {
    font-family: var(--font-body);
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.75;
    margin-bottom: 0.9rem;
    max-width: 600px;
    text-wrap: pretty;
}

.about-body p:last-child {
    margin-bottom: 0;
}

.about-cta {
    margin-top: 1.5rem;
}

/* ===== Case Studies ===== */
.case-studies {
    background: linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--accent) 3%, var(--bg)) 50%, transparent 100%);
}

.case-studies-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.case-study-card {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
    background: var(--surface-2);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 18px;
    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}

.case-study-card:hover {
    border-color: color-mix(in srgb, var(--accent-light) 28%, transparent);
    transform: translateY(-3px);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.22);
}

.case-study-header {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.case-study-industry {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    width: fit-content;
    padding: 0.25rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    color: var(--cyan);
    background: color-mix(in srgb, var(--cyan) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--cyan) 22%, transparent);
}

.case-study-client {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text);
}

.case-study-body {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    flex: 1;
}

.case-study-block h4 {
    margin: 0 0 0.35rem;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--accent-light);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.case-study-block p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.7;
    color: var(--text-muted);
}

.case-study-results {
    list-style: none;
    margin: 0;
    padding: 0.85rem 1rem;
    display: grid;
    gap: 0.45rem;
    background: color-mix(in srgb, var(--emerald) 6%, var(--surface));
    border: 1px solid color-mix(in srgb, var(--emerald) 18%, transparent);
    border-radius: 12px;
}

.case-study-results li {
    font-size: 0.9rem;
    color: var(--text);
}

.case-study-results strong {
    color: var(--emerald);
    font-weight: 800;
}

.case-study-quote {
    margin: 0;
    padding: 1rem 1.1rem;
    border-inline-start: 3px solid var(--accent-light);
    background: color-mix(in srgb, var(--accent) 5%, var(--surface));
    border-radius: 0 12px 12px 0;
}

.case-study-quote p {
    margin: 0 0 0.5rem;
    font-size: 0.9rem;
    line-height: 1.75;
    color: var(--text);
    font-style: italic;
}

.case-study-quote footer {
    font-size: 0.8rem;
    color: var(--text-muted);
}

.case-studies-block {
    margin-bottom: 2.5rem;
}

.case-studies-block:last-of-type {
    margin-bottom: 1.5rem;
}

.case-studies-block-title {
    font-family: var(--font-display);
    font-size: clamp(1.15rem, 2.2vw, 1.4rem);
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--text);
}

.case-studies-block-sub {
    color: var(--text-muted);
    font-size: 0.95rem;
    margin-bottom: 1.25rem;
    max-width: 42rem;
}

.metric-note {
    display: inline;
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--text-muted);
}

.case-studies-note {
    margin-top: 1.5rem;
    font-size: 0.85rem;
    color: var(--text-muted);
    text-align: center;
    line-height: 1.7;
}

.about-stats {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.stat {
    --stat-accent: var(--accent-light);
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: right;
    padding: 1.35rem 1.25rem 1.25rem;
    background:
        linear-gradient(
            160deg,
            color-mix(in srgb, var(--stat-accent) 6%, var(--surface-2)) 0%,
            var(--surface-2) 55%,
            color-mix(in srgb, var(--stat-accent) 3%, var(--bg)) 100%
        );
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    min-width: 0;
    overflow: hidden;
    transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
}

.stat::before {
    content: '';
    position: absolute;
    top: 0;
    inset-inline: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, var(--stat-accent), transparent);
    opacity: 0.85;
}

.stat:hover {
    border-color: color-mix(in srgb, var(--stat-accent) 30%, transparent);
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.2);
}

.stat--founding { --stat-accent: var(--cyan); }
.stat--products { --stat-accent: var(--accent-light); }
.stat--clients { --stat-accent: var(--emerald); }

.stat-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.85rem;
    border-radius: 11px;
    font-size: 0.95rem;
    color: var(--stat-accent);
    background: color-mix(in srgb, var(--stat-accent) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--stat-accent) 24%, transparent);
    box-shadow: 0 2px 10px color-mix(in srgb, var(--stat-accent) 10%, transparent);
}

.stat-num {
    display: block;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.45rem, 2.5vw, 1.85rem);
    letter-spacing: -0.03em;
    line-height: 1.15;
    margin-bottom: 0.35rem;
    background: linear-gradient(135deg, var(--stat-accent) 0%, color-mix(in srgb, var(--stat-accent) 65%, #fff) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.stat--clients .stat-num {
    font-size: clamp(1.1rem, 2vw, 1.35rem);
    line-height: 1.35;
}

.stat-label {
    font-family: var(--font-body);
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-muted);
    line-height: 1.45;
}

/* ----- CTA ----- */
.cta {
    padding: 5rem 0;
    background:
        radial-gradient(ellipse 80% 60% at 50% 100%, rgba(99, 102, 241, 0.08) 0%, transparent 60%),
        var(--surface);
}

.cta-box {
    text-align: right;
    padding: 3.5rem 2rem;
    background: linear-gradient(135deg, var(--surface-2) 0%, rgba(99, 102, 241, 0.08) 100%);
    border: 1px solid var(--border);
    border-radius: 24px;
}

.cta-box h2 {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: clamp(1.5rem, 3vw, 2rem);
    letter-spacing: -0.02em;
    margin-bottom: 0.75rem;
}

.cta-box p {
    font-family: var(--font-body);
    color: var(--text-muted);
    font-size: 1.05rem;
    margin-bottom: 1.5rem;
}

.contact-lead-form {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.75rem;
    text-align: right;
}

.contact-lead-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem 1rem;
}

.contact-lead-form__field {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.contact-lead-form__field--full {
    grid-column: 1 / -1;
}

.contact-lead-form label,
.contact-lead-form__consent {
    font-size: 0.9rem;
    color: var(--text);
}

.contact-lead-form input,
.contact-lead-form textarea {
    width: 100%;
    padding: 0.7rem 0.85rem;
    border-radius: 12px;
    border: 1px solid var(--border);
    background: rgba(10, 11, 15, 0.65);
    color: var(--text);
    font-family: var(--font-body);
}

.contact-lead-form__consent {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    line-height: 1.6;
    color: var(--text-muted);
}

.contact-lead-form__consent input {
    width: auto;
    margin-top: 0.25rem;
}

.contact-lead-form__status {
    margin: 0;
    font-size: 0.9rem;
    color: var(--emerald);
}

@media (max-width: 720px) {
    .contact-lead-form__grid {
        grid-template-columns: 1fr;
    }
}

.cta-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.75rem;
}

.cta-buttons .btn-lg {
    white-space: nowrap;
}

.cta-address {
    margin-top: 2rem;
    max-width: 32rem;
    margin-inline-start: auto;
    padding: 1.25rem 1.5rem;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.03);
    font-style: normal;
}

.cta-address-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 600;
    color: var(--text);
    margin-bottom: 0.5rem;
}

.cta-address p {
    margin-bottom: 0;
    font-size: 0.95rem;
    line-height: 1.7;
}

.cta-address-note {
    margin-top: 0.75rem !important;
    font-size: 0.85rem !important;
    color: var(--text-muted);
}

/* ----- Footer ----- */
.footer {
    position: relative;
    padding: 3.5rem 0 2rem;
    border-top: 1px solid var(--border);
    background:
        radial-gradient(ellipse 80% 60% at 50% 0%, rgba(99, 102, 241, 0.08) 0%, transparent 70%),
        var(--bg);
}

.footer-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
    gap: 2.5rem 2rem;
    align-items: start;
}

.footer-col-title {
    font-family: var(--font-display);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 1.1rem;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 1.35rem;
    line-height: 1;
    color: var(--text);
    text-decoration: none;
    margin-bottom: 1rem;
    transition: opacity 0.2s;
}

.footer-brand:hover {
    opacity: 0.88;
}

.footer-tagline {
    font-size: 0.9rem;
    line-height: 1.75;
    color: var(--text-muted);
    margin-bottom: 0.85rem;
    max-width: 28rem;
}

.footer-founded {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 1.1rem;
}

.footer-founded i {
    color: var(--accent-light);
    font-size: 0.85rem;
}

.footer-highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
}

.footer-highlights li {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.7rem;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-muted);
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: 999px;
}

.footer-highlights li i {
    font-size: 0.72rem;
    color: var(--accent-light);
}

.footer-nav-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.footer-nav-list a {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s, transform 0.2s;
}

.footer-nav-list a::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--accent);
    opacity: 0;
    transform: scale(0.5);
    transition: opacity 0.2s, transform 0.2s;
    flex-shrink: 0;
}

.footer-nav-list a:hover,
.footer-nav-list a:focus-visible {
    color: var(--text);
    transform: translateX(-3px);
}

.footer-nav-list a:hover::before,
.footer-nav-list a:focus-visible::before {
    opacity: 1;
    transform: scale(1);
}

.footer-address {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    margin-bottom: 1.25rem;
}

.footer-contact-item {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.footer-contact-item i {
    width: 1.1rem;
    text-align: center;
    font-size: 0.95rem;
    color: var(--accent-light);
    flex-shrink: 0;
}

a.footer-contact-item:hover,
a.footer-contact-item:focus-visible {
    color: var(--text);
}

.footer-contact-static {
    margin: 0;
}

.footer-cta {
    width: 100%;
    justify-content: center;
    font-size: 0.85rem;
    padding: 0.65rem 1rem;
}

.footer-divider {
    height: 1px;
    margin: 2.5rem 0 1.75rem;
    background: linear-gradient(
        90deg,
        transparent 0%,
        var(--border) 20%,
        rgba(99, 102, 241, 0.25) 50%,
        var(--border) 80%,
        transparent 100%
    );
}

.footer-bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

.footer-social {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    color: var(--text-muted);
    background: var(--surface-2);
    border: 1px solid var(--border);
    text-decoration: none;
    transition: color 0.2s, border-color 0.2s, background 0.2s, transform 0.2s;
}

.footer-social-link i {
    font-size: 1.05rem;
    line-height: 1;
}

.footer-social-link:hover,
.footer-social-link:focus-visible {
    color: var(--accent-light);
    border-color: rgba(99, 102, 241, 0.45);
    background: rgba(99, 102, 241, 0.1);
    transform: translateY(-2px);
}

.footer-social-link:focus-visible {
    outline: 2px solid var(--accent-light);
    outline-offset: 2px;
}

.footer-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.2rem;
    text-align: end;
}

.footer-copy small {
    display: block;
    font-family: var(--font-display);
    font-size: 0.85rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    color: var(--text-muted);
    line-height: 1.5;
}

.footer-copy-sub {
    font-family: var(--font-body) !important;
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    opacity: 0.75;
}

/* Legacy internal-footer (صفحات دمو و مدل) */
.footer-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.5rem;
}

.footer-links a {
    font-family: var(--font-body);
    color: var(--text-muted);
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.footer-links a:hover {
    color: var(--accent-light);
}

.internal-footer .footer-copy {
    width: 100%;
    text-align: center;
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
    align-items: center;
}

/* ----- Footer: Responsive ----- */
@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2rem 1.5rem;
    }

    .footer-brand-col {
        grid-column: 1 / -1;
    }

    .footer-tagline {
        max-width: none;
    }
}

@media (max-width: 600px) {
    .footer {
        padding: 2.5rem 0 1.75rem;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .footer-col {
        padding-bottom: 1.5rem;
        margin-bottom: 1.5rem;
        border-bottom: 1px solid var(--border);
    }

    .footer-col:last-child {
        border-bottom: none;
        margin-bottom: 0;
        padding-bottom: 0;
    }

    .footer-brand-col {
        text-align: center;
        padding-bottom: 1.75rem;
    }

    .footer-brand {
        justify-content: center;
        font-size: 1.5rem;
    }

    .footer-tagline {
        text-align: center;
        margin-inline: auto;
    }

    .footer-highlights {
        justify-content: center;
    }

    .footer-founded {
        justify-content: center;
        width: 100%;
    }

    .footer-col-title {
        font-size: 0.85rem;
        margin-bottom: 0.9rem;
    }

    .footer-nav-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem 1rem;
    }

    .footer-nav-list a::before {
        display: none;
    }

    .footer-nav-list a:hover,
    .footer-nav-list a:focus-visible {
        transform: none;
    }

    .footer-address {
        gap: 0.75rem;
    }

    .footer-contact-item {
        padding: 0.7rem 0.9rem;
        background: var(--surface-2);
        border: 1px solid var(--border);
        border-radius: 10px;
    }

    .footer-contact-static {
        background: transparent;
        border: none;
        padding: 0.25rem 0;
    }

    .footer-divider {
        margin: 1.75rem 0 1.5rem;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.5rem;
    }

    .footer-social {
        justify-content: center;
        flex-wrap: wrap;
    }

    .footer-social-link {
        width: 2.75rem;
        height: 2.75rem;
    }

    .footer-copy {
        align-items: center;
        text-align: center;
    }
}

/* ----- Responsive ----- */
@media (max-width: 900px) {
    /* موبایل: واتساپ+تلفن چپ | لوگو وسط | همبرگر راست */
    .header-inner {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        grid-template-areas: "actions logo contact";
        align-items: center;
        gap: 0.5rem 0.75rem;
        min-height: 56px;
        padding: 0 1rem;
    }

    .header-contact {
        display: flex;
        grid-area: contact;
        justify-self: end;
    }

    .header-inner .logo {
        grid-area: logo;
        justify-self: center;
        flex-shrink: 0;
    }

    .header-actions {
        grid-area: actions;
        justify-self: start;
        display: flex;
        align-items: center;
        gap: 0.25rem;
    }

    .header-social {
        display: none;
    }

    .header-icon-link {
        width: 2.35rem;
        height: 2.35rem;
        font-size: 1rem;
    }

    .nav-toggle {
        display: flex;
        flex-shrink: 0;
        align-items: center;
        justify-content: center;
        padding: 0.5rem;
    }

    /* منوی موبایل: #main-nav به‌صورت overlay */
    #main-nav {
        display: none;
        position: static;
        left: auto;
        right: auto;
        top: auto;
        width: auto;
        max-width: none;
        min-height: 0;
        padding: 0;
        margin: 0;
        pointer-events: auto;
        background: transparent;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    /* ----- مگا منوی اسلایدی موبایل (RTL: پنل از راست) ----- */
    #main-nav.open,
    #main-nav.is-animating-close {
        display: block;
        position: fixed;
        inset: 0;
        /* بالاتر از لایهٔ نویز و دکمهٔ شناور */
        z-index: 10050;
        padding: 0;
        margin: 0;
        pointer-events: none;
        box-sizing: border-box;
        background: transparent;
        border: none;
        width: 100%;
        max-width: none;
        min-height: 0;
    }

    /* بستن: بعد از اسلاید، کلیک روی بک‌دراپ غیرفعال */
    #main-nav.is-animating-close .mobile-nav-backdrop {
        pointer-events: none;
    }

    #main-nav .mobile-nav-backdrop {
        display: block;
        position: absolute;
        inset: 0;
        background: rgba(6, 7, 12, 0.72);
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
        opacity: 0;
        pointer-events: auto;
        cursor: pointer;
        transition: opacity 0.6s cubic-bezier(0.45, 0.05, 0.55, 0.95);
    }

    #main-nav.open .mobile-nav-backdrop {
        opacity: 1;
    }

    #main-nav .mobile-nav-sheet {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: min(100%, 320px);
        max-width: 100%;
        pointer-events: auto;
        background: var(--surface);
        border-left: 1px solid rgba(255, 255, 255, 0.08);
        box-shadow: -16px 0 40px rgba(0, 0, 0, 0.4);
        border-radius: 0;
        transform: translateX(100%);
        transition: transform 0.6s cubic-bezier(0.45, 0.05, 0.55, 0.95);
        overflow: hidden;
        will-change: transform;
    }

    #main-nav.open .mobile-nav-sheet {
        transform: translateX(0);
    }

    #main-nav .mobile-nav-sheet-glow {
        display: none;
    }

    #main-nav .mobile-nav-sheet-inner {
        display: flex;
        flex-direction: column;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    #main-nav .mobile-nav-sheet-header {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: max(0.85rem, env(safe-area-inset-top)) 1rem 0.85rem;
        border-bottom: 1px solid var(--border);
        background: rgba(10, 11, 15, 0.6);
    }

    #main-nav .mobile-nav-logo {
        flex: 1;
        min-width: 0;
        justify-content: flex-start;
    }

    #main-nav .mobile-nav-logo .logo-img {
        height: 2rem;
        max-width: min(9.5rem, 52vw);
    }

    #main-nav .mobile-nav-sheet-title {
        font-family: var(--font-display);
        font-size: 0.95rem;
        font-weight: 700;
        letter-spacing: 0;
        text-transform: none;
        color: var(--text);
    }

    #main-nav .mobile-nav-header-menu {
        flex-shrink: 0;
        padding: 0.75rem 1rem;
        border-bottom: 1px solid var(--border);
        background: rgba(10, 11, 15, 0.35);
    }

    #main-nav .mobile-nav-header-menu__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    #main-nav .mobile-nav-header-menu__list li {
        margin: 0;
        padding: 0;
    }

    #main-nav .mobile-nav-header-menu__list a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        padding: 0.5rem 0.75rem;
        border-radius: 10px;
        font-size: 0.85rem;
        font-weight: 600;
        color: var(--text);
        text-decoration: none;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid var(--border);
        transition: background 0.2s, color 0.2s, border-color 0.2s;
    }

    #main-nav .mobile-nav-header-menu__list a:hover,
    #main-nav .mobile-nav-header-menu__list a:focus-visible {
        background: rgba(99, 102, 241, 0.1);
        color: var(--accent-light);
        border-color: rgba(99, 102, 241, 0.35);
    }

    #main-nav .mobile-nav-links {
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        overflow-x: hidden;
        -webkit-overflow-scrolling: touch;
        padding: 0.25rem 0;
    }

    #main-nav .mobile-nav-links a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        width: 100%;
        box-sizing: border-box;
        min-height: 48px;
        padding: 0.75rem 1rem;
        font-size: 0.95rem;
        font-weight: 500;
        color: var(--text);
        text-decoration: none;
        border: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        background: transparent;
        text-align: right;
        transition: background 0.2s, color 0.2s;
        opacity: 1;
    }

    #main-nav .mobile-nav-chevron {
        flex-shrink: 0;
        font-size: 0.6rem;
        color: var(--text-muted);
        opacity: 0.45;
        transition: opacity 0.2s, transform 0.2s;
    }

    #main-nav .mobile-nav-links a:hover,
    #main-nav .mobile-nav-links a:focus-visible {
        background: rgba(99, 102, 241, 0.1);
        color: var(--accent-light);
    }

    #main-nav .mobile-nav-links a:hover .mobile-nav-chevron,
    #main-nav .mobile-nav-links a:focus-visible .mobile-nav-chevron {
        opacity: 0.85;
        color: var(--accent-light);
    }

    #main-nav .mobile-nav-links .mobile-nav-industries {
        display: block;
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        background: rgba(10, 11, 15, 0.28);
    }

    #main-nav .mobile-nav-industries__label {
        display: block;
        font-size: 0.72rem;
        font-weight: 600;
        color: var(--text-muted);
        padding: 0.65rem 1rem 0.35rem;
        margin: 0;
        letter-spacing: 0.02em;
    }

    #main-nav .mobile-nav-industries__list {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    #main-nav .mobile-nav-industries__list li {
        margin: 0;
        padding: 0;
    }

    #main-nav .mobile-nav-links .mobile-nav-industries a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        width: 100%;
        box-sizing: border-box;
        min-height: 44px;
        padding: 0.55rem 1rem 0.55rem 1.35rem;
        font-size: 0.88rem;
        font-weight: 500;
        color: var(--text-muted);
        text-decoration: none;
        border: none;
        border-bottom: 1px solid rgba(255, 255, 255, 0.04);
        background: transparent;
        text-align: right;
        border-radius: 0;
        opacity: 1;
    }

    #main-nav .mobile-nav-industries__list li:last-child a {
        border-bottom: none;
    }

    #main-nav .mobile-nav-links .mobile-nav-industries a:hover,
    #main-nav .mobile-nav-links .mobile-nav-industries a:focus-visible,
    #main-nav .mobile-nav-links .mobile-nav-industries a.active {
        background: rgba(99, 102, 241, 0.1);
        color: var(--accent-light);
    }

    #main-nav .mobile-nav-links .mobile-nav-industries a:hover .mobile-nav-chevron,
    #main-nav .mobile-nav-links .mobile-nav-industries a:focus-visible .mobile-nav-chevron,
    #main-nav .mobile-nav-links .mobile-nav-industries a.active .mobile-nav-chevron {
        opacity: 0.85;
        color: var(--accent-light);
    }

    #main-nav .mobile-nav-contact {
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.65rem;
        padding: 0.65rem 1rem;
        border-bottom: 1px solid var(--border);
        background: rgba(10, 11, 15, 0.45);
    }

    #main-nav .mobile-nav-contact-wa {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 12px;
        color: #4ade80;
        border: 1px solid rgba(37, 211, 102, 0.35);
        background: rgba(37, 211, 102, 0.12);
        text-decoration: none;
        font-size: 1.2rem;
        transition: color 0.2s, border-color 0.2s, background 0.2s;
        flex-shrink: 0;
    }

    #main-nav .mobile-nav-contact-wa:hover,
    #main-nav .mobile-nav-contact-wa:focus-visible {
        color: #86efac;
        border-color: rgba(37, 211, 102, 0.5);
        background: rgba(37, 211, 102, 0.18);
    }

    #main-nav .mobile-nav-contact-phone {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        min-height: 2.75rem;
        padding: 0.45rem 0.9rem;
        border-radius: 12px;
        color: var(--text);
        text-decoration: none;
        font-size: 0.82rem;
        font-weight: 600;
        font-family: var(--font-body);
        letter-spacing: 0.02em;
        border: 1px solid var(--border);
        background: rgba(255, 255, 255, 0.04);
        transition: color 0.2s, border-color 0.2s, background 0.2s;
        min-width: 0;
    }

    #main-nav .mobile-nav-contact-phone i {
        font-size: 1rem;
        color: var(--accent-light);
        flex-shrink: 0;
    }

    #main-nav .mobile-nav-contact-phone:hover,
    #main-nav .mobile-nav-contact-phone:focus-visible {
        color: var(--text);
        border-color: rgba(99, 102, 241, 0.35);
        background: rgba(99, 102, 241, 0.1);
    }

    #main-nav .mobile-nav-contact-phone__num {
        white-space: nowrap;
    }

    #main-nav .mobile-nav-social {
        flex-shrink: 0;
        margin-top: auto;
        padding: 0.85rem 1rem max(1rem, env(safe-area-inset-bottom));
        background: rgba(8, 9, 14, 0.85);
        border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    #main-nav .mobile-nav-social .mobile-nav-quick-icons {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.5rem;
    }

    #main-nav .mobile-quick-icon {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        min-height: 64px;
        padding: 0.5rem 0.25rem;
        border-radius: 12px;
        text-decoration: none;
        color: var(--text-muted);
        background: rgba(255, 255, 255, 0.03);
        border: 1px solid rgba(255, 255, 255, 0.06);
        transition: background 0.2s, border-color 0.2s, color 0.2s;
    }

    #main-nav .mobile-quick-icon__glyph {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2rem;
        height: 2rem;
        border-radius: 10px;
        font-size: 1.05rem;
        line-height: 1;
    }

    #main-nav .mobile-quick-icon__glyph .social-icon {
        width: 1.1em;
        height: 1.05em;
    }

    #main-nav .mobile-quick-icon--gh .social-icon--github,
    #main-nav .mobile-quick-icon--mail .social-icon--email,
    #main-nav .mobile-quick-icon--npm .social-icon--npm {
        background-color: transparent;
        -webkit-mask-image: none;
        mask-image: none;
    }

    #main-nav .mobile-quick-icon--gh .social-icon--github {
        background-image: url("icons/github.svg");
    }

    #main-nav .mobile-quick-icon--mail .social-icon--email {
        background-image: url("icons/email.svg");
    }

    #main-nav .mobile-quick-icon--npm .social-icon--npm {
        background-image: url("icons/npm.svg");
    }

    #main-nav .mobile-quick-icon__glyph-hf {
        background: rgba(255, 255, 255, 0.06);
    }

    #main-nav .mobile-quick-icon--hf .hf-icon-mask {
        width: 1.12em;
        height: 1.04em;
        background-color: transparent;
        background-image: url("icons/huggingface.svg");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        -webkit-mask-image: none;
        mask-image: none;
    }

    #main-nav .mobile-quick-icon__label {
        font-size: 0.65rem;
        font-weight: 600;
        line-height: 1.2;
        text-align: center;
    }

    #main-nav .mobile-quick-icon--wa .mobile-quick-icon__glyph {
        direction: ltr;
        background: rgba(37, 211, 102, 0.15);
        color: #4ade80;
    }

    #main-nav .mobile-quick-icon--wa:hover,
    #main-nav .mobile-quick-icon--wa:focus-visible {
        background: rgba(37, 211, 102, 0.1);
        border-color: rgba(37, 211, 102, 0.35);
        color: #86efac;
    }

    #main-nav .mobile-quick-icon--gh .mobile-quick-icon__glyph {
        background: rgba(255, 255, 255, 0.08);
        color: #e8eaef;
    }

    #main-nav .mobile-quick-icon--gh:hover,
    #main-nav .mobile-quick-icon--gh:focus-visible {
        border-color: rgba(255, 255, 255, 0.18);
        color: var(--text);
    }

    #main-nav .mobile-quick-icon--hf:hover,
    #main-nav .mobile-quick-icon--hf:focus-visible {
        background: rgba(255, 255, 255, 0.06);
        border-color: rgba(255, 255, 255, 0.18);
        color: var(--text);
    }

    #main-nav .mobile-quick-icon--npm .mobile-quick-icon__glyph {
        background: rgba(203, 56, 55, 0.15);
        color: #f87171;
    }

    #main-nav .mobile-quick-icon--npm:hover,
    #main-nav .mobile-quick-icon--npm:focus-visible {
        background: rgba(203, 56, 55, 0.1);
        border-color: rgba(203, 56, 55, 0.35);
        color: #fca5a5;
    }

    #main-nav .mobile-quick-icon--mail .mobile-quick-icon__glyph {
        background: rgba(99, 102, 241, 0.18);
        color: var(--accent-light);
    }

    #main-nav .mobile-quick-icon--mail:hover,
    #main-nav .mobile-quick-icon--mail:focus-visible {
        background: rgba(99, 102, 241, 0.1);
        border-color: rgba(129, 140, 248, 0.4);
        color: var(--accent-light);
    }

    #main-nav .nav-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        min-width: 44px;
        margin: 0;
        padding: 0;
        font-size: 1.2rem;
        color: var(--text-muted);
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid var(--border);
        border-radius: 12px;
        cursor: pointer;
        transition: color 0.2s, background 0.2s, border-color 0.2s, transform 0.2s;
    }

    #main-nav .nav-close:hover {
        color: var(--text);
        background: rgba(99, 102, 241, 0.15);
        border-color: rgba(99, 102, 241, 0.35);
    }

    #main-nav .nav-close:active {
        transform: scale(0.96);
    }

    #main-nav .nav-close i {
        display: block;
        line-height: 1;
    }

    /* Hamburger → X when menu open (nav دیگر فرزند header-inner نیست) */
    body.menu-open .header .nav-toggle span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }
    body.menu-open .header .nav-toggle span:nth-child(2) {
        opacity: 0;
    }
    body.menu-open .header .nav-toggle span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }

    /* Hero: ستون کامل — متن و کارت‌ها زیر هم، نه کنار هم */
    .hero {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        min-height: auto;
        padding-top: 5.5rem;
        padding-bottom: 3rem;
    }

    .hero-content {
        width: 100%;
        max-width: none;
        transform: none;
        flex: 0 0 auto;
    }

    .hero-visual {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        width: 100%;
        max-width: none;
        margin-top: 2rem;
        margin-inline: 0;
    }

    .about-inner {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .case-studies-grid {
        grid-template-columns: 1fr;
    }

    .about-content {
        padding: 1.75rem 1.35rem 1.85rem;
        border-radius: 18px;
    }

    .about-stats {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.85rem;
    }

    .about-stats .stat {
        flex: 1 1 calc(50% - 0.5rem);
        min-width: 140px;
    }

    .about-stats .stat--clients {
        flex: 1 1 100%;
    }
}

@media (max-width: 520px) {
    .about-highlights li {
        flex: 1 1 calc(50% - 0.25rem);
        justify-content: center;
        font-size: 0.72rem;
        padding: 0.35rem 0.55rem;
    }

    .about-stats .stat {
        flex: 1 1 100%;
    }

    .stat-icon {
        width: 36px;
        height: 36px;
        font-size: 0.88rem;
    }
}

@media (max-width: 600px) {
    /* ردیف اول هدر: واتساپ+تلفن | لوگو وسط | همبرگر */
    .header {
        padding: max(0.65rem, env(safe-area-inset-top)) 0 0.65rem;
    }

    .header-inner {
        min-height: 44px;
        padding: 0 max(0.75rem, env(safe-area-inset-right)) 0 max(0.75rem, env(safe-area-inset-left));
        gap: 0.75rem;
    }

    .header-actions {
        gap: 0;
        flex-shrink: 0;
    }

    .nav-toggle {
        width: 44px;
        height: 44px;
    }

    .logo-img {
        height: 2rem;
        max-width: min(9.5rem, 40vw);
    }

    .header-contact-wa,
    .header-contact-phone {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 1.05rem;
    }

    .hero {
        padding: 4.75rem max(0.75rem, env(safe-area-inset-right)) 2.5rem max(0.75rem, env(safe-area-inset-left));
    }

    .hero-content {
        width: 100%;
        max-width: 100%;
        transform: none;
    }

    .hero-badge {
        margin-bottom: 1rem;
        font-size: 0.72rem;
        padding: 0.35rem 0.7rem;
        max-width: 100%;
        line-height: 1.45;
        text-wrap: pretty;
    }

    .hero-title {
        min-height: unset;
        font-size: clamp(1.75rem, 8vw, 2.25rem);
        margin-bottom: 1rem;
        line-height: 1.25;
    }

    .hero-title .line {
        display: block;
    }

    .hero-desc {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }

    .hero-cta {
        flex-direction: column;
        gap: 0.75rem;
    }

    .hero-cta .btn {
        width: 100%;
        justify-content: center;
    }

    .hero-visual {
        margin-top: 1.5rem;
    }

    /* کارت‌های شناور: گرید ۲ ستونه — فشرده‌تر از ۱۲ ردیف عمودی */
    .floating-cards {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .float-card {
        padding: 0.55rem 0.65rem;
        font-size: 0.72rem;
        width: auto;
        justify-content: flex-start;
        animation: none;
    }

    .products-grid {
        grid-template-columns: 1fr;
    }
}

@keyframes mobileMenuBackdrop {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mobileNavBackdropIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes mobileNavLinkIn {
    from {
        opacity: 0;
        transform: translateX(12px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes mobileNavMegaIn {
    from {
        opacity: 0;
        transform: translateY(10px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
    #main-nav .mobile-nav-sheet {
        transition: none;
    }

    #main-nav .mobile-nav-backdrop {
        animation: none;
        opacity: 1;
    }

    #main-nav .mobile-nav-links a,
    #main-nav .mobile-quick-icon {
        animation: none;
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 480px) {
    #main-nav .mobile-nav-sheet {
        width: 100%;
        border-left: none;
        box-shadow: none;
    }
}

body.menu-open {
    overflow: hidden;
}

/* ----- Contact CTA Modal & Floating Button ----- */
body.contact-modal-open {
    overflow: hidden;
}

.contact-float {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    width: 56px;
    height: 56px;
    border: none;
    background: linear-gradient(135deg, var(--accent), #4f46e5);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    box-shadow: 0 4px 20px rgba(99, 102, 241, 0.45);
    z-index: 999;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.contact-float:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 24px rgba(99, 102, 241, 0.55);
}

.contact-float:focus-visible {
    outline: 2px solid var(--accent-light);
    outline-offset: 3px;
}

.contact-modal {
    position: fixed;
    inset: 0;
    z-index: 1002;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.25rem;
}

.contact-modal[hidden] {
    display: none;
}

.contact-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(5, 6, 10, 0.72);
    backdrop-filter: blur(6px);
}

.contact-modal__dialog {
    position: relative;
    width: min(100%, 420px);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 2rem 1.75rem 1.75rem;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
    animation: contactModalIn 0.28s ease;
}

@keyframes contactModalIn {
    from {
        opacity: 0;
        transform: translateY(12px) scale(0.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.contact-modal__close {
    position: absolute;
    top: 0.85rem;
    left: 0.85rem;
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 10px;
    background: var(--surface-2);
    color: var(--text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.2s, background 0.2s;
}

.contact-modal__close:hover {
    color: var(--text);
    background: rgba(255, 255, 255, 0.08);
}

.contact-modal__icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 1rem;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(99, 102, 241, 0.2), rgba(34, 211, 238, 0.12));
    color: var(--accent-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
}

.contact-modal__title {
    font-family: var(--font-display);
    font-size: 1.35rem;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5rem;
}

.contact-modal__desc {
    text-align: center;
    color: var(--text-muted);
    font-size: 0.92rem;
    line-height: 1.7;
    margin-bottom: 1.5rem;
}

.contact-modal__actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.contact-modal__action {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    padding: 0.9rem 1rem;
    border-radius: 14px;
    text-decoration: none;
    color: var(--text);
    border: 1px solid var(--border);
    background: var(--surface-2);
    transition: transform 0.2s, border-color 0.2s, background 0.2s;
}

.contact-modal__action:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 255, 255, 0.12);
}

.contact-modal__action--wa:hover {
    border-color: rgba(37, 211, 102, 0.45);
    background: rgba(37, 211, 102, 0.08);
}

.contact-modal__action--phone:hover {
    border-color: rgba(99, 102, 241, 0.45);
    background: rgba(99, 102, 241, 0.08);
}

.contact-modal__action-icon {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    flex-shrink: 0;
}

.contact-modal__action--wa .contact-modal__action-icon {
    background: rgba(37, 211, 102, 0.15);
    color: #25d366;
}

.contact-modal__action--phone .contact-modal__action-icon {
    background: rgba(99, 102, 241, 0.15);
    color: var(--accent-light);
}

.contact-modal__action-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.contact-modal__action-label {
    font-weight: 600;
    font-size: 0.95rem;
}

.contact-modal__action-value {
    font-size: 0.88rem;
    color: var(--text-muted);
    letter-spacing: 0.02em;
}

.contact-modal__action-arrow {
    color: var(--text-muted);
    font-size: 0.8rem;
    flex-shrink: 0;
}

@media (prefers-reduced-motion: reduce) {
    .contact-modal__dialog {
        animation: none;
    }
}
