

/* ============ FONT FACES ============ */

  /* ===== Modam Font - برای تایتل‌ها ===== */
  @font-face {
    font-family: 'Modam FA';
    src: url('../fonts/Modam-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Modam FA';
    src: url('../fonts/Modam-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Modam FA';
    src: url('../fonts/Modam-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Modam FA';
    src: url('../fonts/Modam-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Modam FA';
    src: url('../fonts/Modam-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Modam FA';
    src: url('../fonts/Modam-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Modam FA';
    src: url('../fonts/Modam-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'Modam FA';
    src: url('../fonts/Modam-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
  }

  /* ===== IRANSansX Font - برای پاراگراف‌ها ===== */
  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-DemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-Heavy.ttf') format('truetype');
    font-weight: 950;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-Thin.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-UltraLight.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
  }

  @font-face {
    font-family: 'IRANSansX';
    src: url('../fonts/IRANSansX-ExtraBlack.ttf') format('truetype');
    font-weight: 980;
    font-style: normal;
    font-display: swap;
  }

  :root{
    --primary:#0077FF;
    --bg:#0F172A;
    --card:#F3F4F6;
    --title:#F8FAFC;
    --secondary:#00E676;
    --paragraph:#CBD5E1;
    --border:#334155;

    --bg-elevated:#16213A;
    --overlay-strong: rgba(15,23,42,0.72);
    --overlay-soft: rgba(15,23,42,0.30);
  }

  *{ box-sizing:border-box; margin:0; padding:0; }

  html,body{
    background:var(--bg);
    color:var(--paragraph);
    font-family:'IRANSansX', 'Modam FA', Tahoma, sans-serif;
    direction:rtl;
    text-align:right;
    -webkit-font-smoothing:antialiased;
  }

  /* روی دستگاه‌های با ماوس دقیق، کرسر پیش‌فرض سیستم مخفی می‌شه
     تا با کرسر ریتیکل تداخل نداشته باشه (روی موبایل/تاچ دست نمی‌خوره).
     چون button، .team-dot و کاروسل‌ها جای دیگه‌ی همین فایل cursor:pointer/grab
     مستقیم روی خودشون دارن، ارث‌بری رو می‌شکنن؛ برای همین با !important
     رو تک‌تک المان‌ها هم override می‌کنیم، نه فقط html,body */
  @media (pointer:fine){
    *{ cursor:none !important; }
  }

  img,svg{ display:block; }

  a{ color:inherit; text-decoration:none; }
  button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }

  .page{ max-width:1440px; margin:0 auto; }

  /* ============ FONT HELPER CLASSES ============ */

  /* Modam Font Classes */
  .font-modam { font-family: 'Modam FA', sans-serif; }
  .font-modam-light { font-family: 'Modam FA', sans-serif; font-weight: 300; }
  .font-modam-regular { font-family: 'Modam FA', sans-serif; font-weight: 400; }
  .font-modam-medium { font-family: 'Modam FA', sans-serif; font-weight: 500; }
  .font-modam-semibold { font-family: 'Modam FA', sans-serif; font-weight: 600; }
  .font-modam-bold { font-family: 'Modam FA', sans-serif; font-weight: 700; }
  .font-modam-extrabold { font-family: 'Modam FA', sans-serif; font-weight: 800; }
  .font-modam-black { font-family: 'Modam FA', sans-serif; font-weight: 900; }

  /* IRANSansX Font Classes */
  .font-iransans { font-family: 'IRANSansX', sans-serif; }
  .font-iransans-ultralight { font-family: 'IRANSansX', sans-serif; font-weight: 100; }
  .font-iransans-thin { font-family: 'IRANSansX', sans-serif; font-weight: 200; }
  .font-iransans-light { font-family: 'IRANSansX', sans-serif; font-weight: 300; }
  .font-iransans-regular { font-family: 'IRANSansX', sans-serif; font-weight: 400; }
  .font-iransans-medium { font-family: 'IRANSansX', sans-serif; font-weight: 500; }
  .font-iransans-demibold { font-family: 'IRANSansX', sans-serif; font-weight: 600; }
  .font-iransans-bold { font-family: 'IRANSansX', sans-serif; font-weight: 700; }
  .font-iransans-extrabold { font-family: 'IRANSansX', sans-serif; font-weight: 800; }
  .font-iransans-black { font-family: 'IRANSansX', sans-serif; font-weight: 900; }
  .font-iransans-heavy { font-family: 'IRANSansX', sans-serif; font-weight: 950; }
  .font-iransans-extrablack { font-family: 'IRANSansX', sans-serif; font-weight: 980; }

  /* ============ HEADER ============ */
  header.site-header{
    position:sticky;
    top:0;
    z-index:100;
    background:rgba(15,23,42,0.92);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .header-inner{
    max-width:1440px;
    margin:0 auto;
    height:76px;
    padding:0 80px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
  }
  .header-right{
    display:flex;
    align-items:center;
    gap:40px;
  }
  .logo{
    font-family:'Modam FA', sans-serif;
    font-weight:800;
    font-size:21px;
    color:var(--primary);
    letter-spacing:0.2px;
    white-space:nowrap;
  }
  nav.main-nav{ display:flex; align-items:center; gap:32px; }
  nav.main-nav a{
    font-family:'IRANSansX', sans-serif;
    font-weight:500;
    font-size:15px;
    color:var(--paragraph);
    position:relative;
    padding:6px 2px;
    transition:color .2s ease;
  }
  nav.main-nav a::after{
    content:"";
    position:absolute;
    right:0; left:0;
    bottom:0;
    height:2px;
    background:var(--primary);
    border-radius:2px;
    transform:scaleX(0);
    transition:transform .25s ease;
  }
  nav.main-nav a:hover,
  nav.main-nav a:focus-visible{ color:var(--primary); }
  nav.main-nav a:hover::after,
  nav.main-nav a:focus-visible::after{ transform:scaleX(1); }

  .header-left{ display:flex; align-items:center; gap:20px; }
  .icon-cluster{ display:flex; align-items:center; gap:10px; }
  .icon-divider{
    width:1px;
    height:20px;
    background-color:var(--border);
    margin:0 4px;
    flex-shrink:0;
  }

  .avatar-btn{
    width:40px; height:40px;
    border-radius:50%;
    background:var(--primary);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    transition:filter .2s ease, transform .2s ease;
  }
  .avatar-btn:hover{ filter:brightness(1.1); transform:translateY(-1px); }

  .icon-circle-btn{
    width:32px; height:32px;
    border-radius:50%;
    border:1px solid var(--border);
    background:transparent;
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
    transition:border-color .2s ease, background .2s ease;
  }
  .icon-circle-btn:hover{ border-color:var(--primary); background:rgba(0,119,255,0.1); }
  .icon-circle-btn svg{ width:15px; height:15px; }

  .hamburger{
    display:none;
    width:40px; height:40px;
    align-items:center; justify-content:center;
    border-radius:10px;
    border:1px solid var(--border);
  }
  .hamburger svg{ width:20px; height:20px; }

  /* mobile nav drawer */
  .mobile-nav{
    display:none;
    flex-direction:column;
    gap:2px;
    background:var(--bg);
    border-bottom:1px solid var(--border);
    padding:8px 24px 20px;
  }
  .mobile-nav a{
    padding:16px 24px; /* Increased touch target for UX */
    font-family:'IRANSansX', sans-serif;
    font-weight:500;
    font-size:15px;
    color:var(--paragraph);
    border-bottom:1px solid rgba(51,65,85,0.5);
  }
  .mobile-nav.open{ display:flex; }

  /* ============ HERO ============ */
  .hero-section{ padding:32px 40px 0; }
  .hero-card{
    position:relative;
    min-height:640px;
    background:var(--bg);
    isolation:isolate;
  }

  .hero-visual{
    position:absolute;
    inset:0;
    border-radius:24px;
    overflow:hidden;
  }

  .circuit-field{
    position:absolute; inset:0;
    width:100%; height:100%;
    overflow:hidden;
  }
  .circuit-field img{
    width:100%; height:100%;
    object-fit:cover;
    object-position:center;
  }

  .hero-gradient{
    position:absolute; inset:0;
    background:
      linear-gradient(90deg, var(--overlay-soft) 0%, var(--overlay-strong) 46%, rgba(15,23,42,0.88) 100%),
      linear-gradient(180deg, rgba(15,23,42,0.25) 0%, rgba(15,23,42,0.55) 100%);
    z-index:1;
  }

  .hero-content{
    position:relative;
    z-index:2;
    height:100%;
    min-height:640px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    align-items:flex-start;
    padding:64px 72px 120px;
    text-align:right;
    max-width:680px;
    margin-inline-end:auto;
  }
  .hero-kicker{
    display:flex;
    align-items:center;
    gap:8px;
    color:var(--secondary);
    font-family:'IRANSansX', sans-serif;
    font-weight:500;
    font-size:17px;
    margin-bottom:16px;
  }
  .hero-kicker::before{
    content:"";
    width:8px; height:8px;
    border-radius:50%;
    background:var(--secondary);
    box-shadow:0 0 10px var(--secondary);
    flex-shrink:0;
  }
  .hero-title{
    font-family:'Modam FA', sans-serif;
    font-weight:800;
    font-size:52px;
    line-height:1.15;
    color:var(--title);
    max-width:620px;
  }
  .hero-actions{
    display:flex;
    gap:16px;
    margin-top:32px;
  }
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:14px 30px;
    border-radius:999px;
    font-family:'IRANSansX', sans-serif;
    font-weight:700;
    font-size:15px;
    transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
  }
  .btn-primary{
    background:var(--primary);
    color:#FFFFFF;
    box-shadow:0 4px 12px rgba(0,119,255,0.28);
  }
  .btn-primary:hover{ transform:translateY(-2px); filter:brightness(1.08); box-shadow:0 12px 28px rgba(0,119,255,0.4); }
  .btn-secondary{
    background:var(--secondary);
    color:#06231A;
    box-shadow:0 4px 12px rgba(0,230,118,0.22);
  }
  .btn-secondary:hover{ transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 12px 28px rgba(0,230,118,0.32); }
  
  .hero-actions .btn{
    padding:16px 32px;
  }
  .hero-actions .btn:focus-visible,
  .partners-float-top:focus-visible{
    outline:none;
    box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--primary);
  }

  .slide-indicator{
    position:absolute;
    left:36px;
    top:50%;
    transform:translateY(-50%);
    z-index:2;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:16px;
  }
  .slide-indicator .ring{
    width:44px; height:44px;
    border-radius:50%;
    border:1.5px dashed rgba(248,250,252,0.4);
    background:rgba(15,23,42,0.55);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    box-shadow:0 4px 16px rgba(15,23,42,0.45);
    display:flex; align-items:center; justify-content:center;
  }
  .slide-indicator .ring svg{ width:16px; height:16px; }
  .slide-indicator .dots{ display:flex; flex-direction:column; gap:6px; }
  .slide-indicator .dot{ width:5px; height:5px; border-radius:50%; background:rgba(248,250,252,0.4); }
  .slide-indicator .dot.active{ background:var(--secondary); box-shadow:0 0 8px var(--secondary); }

  .partners-float{
    position:absolute;
    left:0px;
    bottom:0px;
    z-index:3;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    --notch-gap:12px;
    filter:drop-shadow(0 12px 28px rgba(15,23,42,0.5)) drop-shadow(0 2px 6px rgba(15,23,42,0.35));
  }

  .partners-float-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:230px;
    padding-block:14px;
    padding-inline-start:20px;
    padding-inline-end:10px;
    background-color:#1E293B;
    border-radius:18px 18px 0 0px;
    transition:transform .25s ease, box-shadow .25s ease;
    z-index: 2;
  }

  .partners-float-top .title-sm{
    font-family:'IRANSansX', sans-serif;
    font-weight:700;
    font-size:15px;
    color:var(--title);
  }
  .back-circle{
    width:32px; height:32px;
    border-radius:50%;
    background:var(--border);
    display:flex; align-items:center; justify-content:center;
    flex-shrink:0;
  }
  .back-circle svg{ width:14px; height:14px; }

  .partners-float-top:hover .back-circle{
    transform: scale(1.04);
  }
  .partners-float-top:hover .back-circle svg{
    transform: scale(1.10);
  }

  .partners-float-bottom{
    z-index: 1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    width:345px;
    padding:18px 20px;
    background:#1E293B;
    border-radius:20px 0px 20px 20px;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .partners-float-text{ min-width:0; }
  .partners-float-text .heading{
    font-family:'Modam FA', sans-serif;
    font-weight:700;
    font-size:16px;
    color:var(--title);
    margin-bottom:4px;
  }
  .partners-float-text .desc{
    font-family:'IRANSansX', sans-serif;
    font-weight:400;
    font-size:13px;
    color:var(--paragraph);
    line-height:1.6;
  }

  .thumb-stack{ display:flex; align-items:center; flex-shrink:0; }
  .thumb-stack .th{
    width:36px; height:36px;
    border-radius:50%;
    border:2px solid #16213A;
    overflow:hidden;
    background:#1E2B47;
    flex-shrink:0;
  }
  .thumb-stack .th img{ width:100%; height:100%; object-fit:cover; }
  .thumb-stack .th + .th{ margin-inline-start:-12px; }

  /* ============ TRUST / PARTNERS BAR ============ */
  .trust-bar{
    background:var(--bg);
    padding:28px 80px 32px;
  }
  .trust-inner{
    max-width:1440px;
    margin:5px auto;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:56px;
    flex-wrap:wrap;
  }
  .follow-cluster{
    display:flex;
    align-items:center;
    gap:14px;
    background:var(--bg-elevated);
    border:1px solid var(--border);
    border-radius:999px;
    padding-block:10px;
    padding-inline-start:20px;
    padding-inline-end:10px;
  }
  .follow-label{
    font-family:'IRANSansX', sans-serif;
    font-weight:500;
    font-size:14px;
    color:var(--title);
    white-space:nowrap;
  }
  .social-icons{ display:flex; align-items:center; gap:8px; }
  .social-icons .icon-circle-btn svg{ width:14px; height:14px; }

  .partners-list{
    display:flex;
    align-items:center;
    gap:40px;
    flex-wrap:wrap;
  }
  .partner-item{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--paragraph);
    font-family:'IRANSansX', sans-serif;
    font-weight:500;
    font-size:15px;
    white-space:nowrap;
  }
  .partner-item svg{ width:32px; height:32px; color:var(--paragraph); flex-shrink:0; }


  /* ============ ABOUT ============ */
  .about-section{ padding:64px 80px 130px; }
  .about-inner{ max-width:1440px; margin:0 auto; }
  .about-grid{ display:flex; align-items:stretch; gap:72px; }

  .about-text{ flex:1.05; display:flex; flex-direction:column; }
  .about-eyebrow{
    font-family:'IRANSansX', sans-serif;
    font-weight:500;
    font-size:14px;
    letter-spacing:0.5px;
    color:var(--paragraph);
    margin-bottom:16px;
  }
  .about-heading{
    font-family:'Modam FA', sans-serif;
    font-weight:800;
    font-size:40px;
    line-height:1.35;
    color:var(--title);
    margin-bottom:24px;
  }
  .about-heading-highlight{
    position: relative;
    display: inline-block;
    z-index: 1;
  }
  .about-heading-highlight::after{
    content: "";
    position: absolute;
    right: 0;
    bottom: 17px;
    width: 165px;
    height: 14px;
    border-radius: 999px;
    background: var(--primary);
    z-index: -1;
  }
  .about-paragraph{
    font-family:'IRANSansX', sans-serif;
    font-weight:400;
    font-size:15.5px;
    line-height:2;
    color:var(--paragraph);
  }
  .about-paragraph + .about-paragraph{ margin-top:18px; }

  .about-card{
    background:#1E293B;
    border-radius:16px;
    padding:26px 30px;
    margin-top:32px;
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .about-feature{ display:flex; align-items:center; gap:14px; }
  .about-feature svg{ flex-shrink:0; }
  .about-feature span{
    font-family:'IRANSansX', sans-serif;
    font-weight:600;
    font-size:15px;
    color:var(--paragraph);
    line-height:1.6;
  }

  .about-readmore{
    position:relative;
    align-self:flex-start;
    margin-top:32px;
    background:var(--bg-elevated);
    border:1px solid var(--border);
    color:var(--title);
    padding:8px 8px 8px 32px;
    gap:14px;
  }
  .about-readmore-badge{
    position:absolute;
    left:-8px;
    top:50%;
    transform:translateY(-50%);
    width:24px; height:24px;
    border-radius:50%;
    background:var(--primary);
    border:3px solid var(--bg);
    color:#FFFFFF;
    font-family:'IRANSansX', sans-serif;
    font-weight:700;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .about-visual{ flex:1; display:flex; gap:20px; aspect-ratio:1/1.02; }
  .about-visual-col{ flex:1; display:flex; flex-direction:column; gap:20px; }
  .about-block{ position:relative; border-radius:20px; overflow:hidden; }
  .about-block-image{ flex:1.3; }
  .about-block-image img{ width:100%; height:100%; object-fit:cover; }
  .about-block-image .about-block-overlay{
    position:absolute; inset:0;
    background:linear-gradient(180deg, var(--overlay-soft), var(--overlay-strong));
  }
  .about-block-solid{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    gap:14px;
    padding:24px 20px;
  }
  .about-block-solid.about-block-primary{ background:var(--primary); }
  .about-block-solid.about-block-secondary{ background:var(--secondary); }
  .about-block-solid svg{ width:32px; height:32px; }
  .about-block-solid p{
    font-family:'IRANSansX', sans-serif;
    font-weight:700;
    font-size:14.5px;
    line-height:1.75;
    color:#FFFFFF;
  }

  /* ============ SERVICES ============ */
  .services-section{
    background:#1E293B;
    padding:76px 80px 107px;
  }
  .services-inner{ max-width:1440px; margin:0 auto; }

  .services-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
    margin-bottom:56px;
  }
  .services-eyebrow{
    font-family:'IRANSansX', sans-serif;
    font-weight:500;
    font-size:14px;
    letter-spacing:0.5px;
    margin-bottom:16px;
  }
  .services-eyebrow-slashes{ color:var(--border); }
  .services-eyebrow-word{ color:var(--title); }

  .services-heading{
    font-family:'Modam FA', sans-serif;
    font-weight:800;
    font-size:40px;
    line-height:1.35;
    color:var(--title);
  }
  .services-heading-line{ display:block; }

  .services-btn{
    background:var(--primary);
    color:#F8FAFC;
    flex-shrink:0;
    border-radius: 8px;
  }
  .services-btn:hover{ transform:translateY(-2px); filter:brightness(1.08); }

  .services-grid{
    display:flex;
    align-items:stretch;
    gap:24px;
  }
  .services-card{
    flex:1;
    display:flex;
    flex-direction:column;
    background:var(--bg);
    border-radius:20px;
    padding:32px 28px;
    border-bottom: 3px solid transparent;
    transition: border-color .35s ease;
  }
  .services-card-icon{
    width:60px; height:60px;
    border-radius:16px;
    background:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    margin-bottom:24px;
  }
  .services-card-icon svg{ width:26px; height:26px; }

  .services-card-title{
    font-family:'Modam FA', sans-serif;
    font-weight:700;
    font-size:21px;
    color:var(--title);
    margin-bottom:14px;
  }
  .services-card-text{
    font-family:'IRANSansX', sans-serif;
    font-weight:400;
    font-size:14.5px;
    line-height:1.9;
    color:var(--paragraph);
  }
  .services-card-link{
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:auto;
    padding-top:24px;
    font-family:'IRANSansX', sans-serif;
    font-weight:600;
    font-size:14.5px;
    color:var(--title);
  }
  .services-card-link svg{ width:15px; height:15px; flex-shrink:0; }

  /* ============ WHY US SECTION ============ */
  .whyus-section {
    background-color: var(--bg);
    padding: 100px 80px;
    margin-bottom: 25px;
  }
  .whyus-inner {
    max-width: 1440px;
    margin: 0 auto;
  }
  .whyus-eyebrow {
    font-family:'IRANSansX', sans-serif;
    font-weight:500;
    font-size: 14px;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
    text-align: center;
  }
  .whyus-eyebrow-slashes { color: var(--border); }
  .whyus-eyebrow-word { color: var(--title); }

  .whyus-heading {
    font-family:'Modam FA', sans-serif;
    font-weight: 800;
    font-size: 40px;
    line-height: 1.35;
    color: var(--title);
    text-align: center;
    margin-bottom: 72px;
  }
  .whyus-heading-highlight {
    position: relative;
    display: inline-block;
    z-index: 1;
  }
  .whyus-heading-highlight::after {
    content: "";
    position: absolute;
    right: -2px;
    bottom: 14px;
    width: calc(100% + 4px);
    height: 14px;
    border-radius: 999px;
    background: var(--primary);
    z-index: -1;
  }

  .whyus-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 56px;
    row-gap: 64px;
  }
  .whyus-item {
    display: flex;
    align-items: flex-start;
    gap: 24px;
  }
  .whyus-number {
    font-family:'Modam FA', sans-serif;
    font-weight: 800;
    color: var(--primary);
    font-size: 32px;
    line-height: 1.2;
    flex-shrink: 0;
    min-width: 38px;
  }
  .whyus-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .whyus-item-title {
    font-family:'Modam FA', sans-serif;
    font-weight: 700;
    color: var(--title);
    font-size: 20px;
    line-height: 1.2;
    margin: 0;
  }
  .whyus-paragraph {
    font-family:'IRANSansX', sans-serif;
    font-weight: 400;
    color: var(--paragraph);
    font-size: 15px;
    line-height: 1.9;
    text-align: right;
    margin: 0;
  }

  /* ============ PROJECTS ============ */
.projects-section{
  background:#1E293B;
  padding:70px 80px 85px;
}
.projects-inner{ max-width:1440px; margin:0 auto; }

.projects-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:56px;
}
.projects-eyebrow{
  font-family:'IRANSansX', sans-serif;
  font-weight:500;
  font-size:14px;
  letter-spacing:0.5px;
  margin-bottom:16px;
}
.projects-eyebrow-slashes{ color:var(--border); }
.projects-eyebrow-word{ color:var(--title); }

.projects-heading{
  font-family:'Modam FA', sans-serif;
  font-weight:800;
  font-size:40px;
  line-height:1.35;
  color:var(--title);
}
.projects-heading-highlight{
  position: relative;
  display: inline-block;
  z-index: 1;
}
.projects-heading-highlight::after{
  content: "";
  position: absolute;
  right: 0;
  bottom: 14px;
  width: 100%;
  height: 14px;
  border-radius: 999px;
  background: var(--primary);
  z-index: -1;
}

.projects-btn{
  background:var(--primary);
  color:#FFFFFF;
  flex-shrink:0;
  border-radius:12px;
}
.projects-btn:hover{ transform:translateY(-2px); filter:brightness(1.08); }

.projects-grid{
  display:flex;
  align-items:stretch;
  gap:24px;
}

.projects-card{
  position:relative;
  flex:1;
  aspect-ratio:2/3;
  border-radius:20px;
  overflow:hidden;
}
.projects-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.projects-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 0%, transparent 45%, var(--overlay-strong) 75%, rgba(15,23,42,0.9) 100%);
}
.projects-card-content{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:24px;
  text-align:right;
}
.projects-card-title{
  font-family:'Modam FA', sans-serif;
  font-weight:700;
  font-size:19px;
  color:var(--title);
  margin-bottom:10px;
}
.projects-card-text{
  font-family:'IRANSansX', sans-serif;
  font-weight:400;
  font-size:14px;
  line-height:1.8;
  color:var(--paragraph);
}

  /* ============ TEAM ============ */
.team-section{
  background:var(--bg);
  padding:70px 80px 85px;
}
.team-inner{ max-width:1440px; margin:0 auto; }

.team-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:32px;
  margin-bottom:56px;
}
.team-eyebrow{
  font-family:'IRANSansX', sans-serif;
  font-weight:500;
  font-size:14px;
  letter-spacing:0.5px;
  margin-bottom:16px;
}
.team-eyebrow-slashes{ color:var(--border); }
.team-eyebrow-word{ color:var(--title); }

.team-heading{
  font-family:'Modam FA', sans-serif;
  font-weight:800;
  font-size:40px;
  line-height:1.35;
  color:var(--title);
}
.team-heading-highlight{
  position:relative;
  display:inline-block;
  z-index:1;
}
.team-heading-highlight::after{
  content:"";
  position:absolute;
  right:0;
  bottom:14px;
  width:100%;
  height:14px;
  border-radius:999px;
  background:var(--primary);
  z-index:-1;
}

.team-btn{
  background:var(--primary);
  color:#FFFFFF;
  flex-shrink:0;
  border-radius:12px;
}
.team-btn:hover{ transform:translateY(-2px); filter:brightness(1.08); }

.team-carousel-wrap{
  margin:0 -80px;
  overflow:hidden;
}
.team-carousel{
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 80px;
  cursor:grab;
  scrollbar-width:none;
  -ms-overflow-style:none;
  touch-action:pan-x;
  -webkit-overflow-scrolling:touch;
}
.team-carousel::-webkit-scrollbar{ display:none; }
.team-carousel.dragging{ cursor:grabbing; }

.team-track{
  display:flex;
  align-items:stretch;
  gap:24px;
  width:max-content;
  user-select:none;
}

.team-card{
  position:relative;
  width:300px;
  flex-shrink:0;
  aspect-ratio:4/5;
  border-radius:20px;
  overflow:hidden;
}
.team-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  pointer-events:none;
  -webkit-user-drag:none;
}
.team-card-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 0%, transparent 45%, var(--overlay-strong) 75%, rgba(15,23,42,0.9) 100%);
}
.team-card-content{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  padding:28px 20px;
  text-align:center;
}
.team-card-name{
  font-family:'Modam FA', sans-serif;
  font-weight:700;
  font-size:19px;
  color:var(--title);
  margin-bottom:6px;
}
.team-card-role{
  font-family:'IRANSansX', sans-serif;
  font-weight:400;
  font-size:14px;
  line-height:1.8;
  color:var(--paragraph);
}

.team-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:32px;
}
.team-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--border);
  cursor:pointer;
  transition:width .25s ease, background .25s ease;
}
.team-dot.active{
  width:26px;
  background:var(--card);
}

/* ============ FOOTER ============ */
.footer-section{
  background:var(--bg);
  padding:70px 80px 100px;
}
.footer-inner{ max-width:1440px; margin:0 auto; }

.footer-card{
  position:relative;
  background:#1E293B;
  border-radius:24px;
  padding:48px 56px 96px;
}

.footer-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:56px;
  padding-bottom:48px;
  margin-bottom:48px;
  border-bottom:1px solid var(--border);
}
.footer-logo{
  font-family:'Modam FA', sans-serif;
  font-weight:800;
  font-size:28px;
  color:var(--title);
  white-space:nowrap;
  flex-shrink:0;
}
.footer-intro{
  font-family:'IRANSansX', sans-serif;
  font-weight:400;
  font-size:15px;
  line-height:1.9;
  color:var(--paragraph);
  flex:1;
  max-width:900px;
}

.footer-columns{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:40px;
  flex-wrap:wrap;
}
.footer-col{ display:flex; flex-direction:column; min-width:140px; }
.footer-col-title{
  font-family:'Modam FA', sans-serif;
  font-weight:700;
  font-size:17px;
  color:var(--title);
  margin-bottom:22px;
}

.footer-links{ display:flex; flex-direction:column; gap:14px; }
.footer-links a{
  font-family:'IRANSansX', sans-serif;
  font-weight:400;
  font-size:14px;
  color:var(--paragraph);
  transition:color .2s ease;
}
.footer-links a:hover{ color:var(--primary); }

.footer-contact-list{ display:flex; flex-direction:column; gap:18px; }
.footer-contact-item{ display:flex; align-items:center; gap:10px; }
.footer-contact-item svg{ width:18px; height:18px; color:var(--primary); flex-shrink:0; }
.footer-contact-item span{
  font-family:'IRANSansX', sans-serif;
  font-weight:400;
  font-size:14px;
  color:var(--paragraph);
  white-space:nowrap;
}

.footer-badges-grid{
  display:grid;
  grid-template-columns:repeat(2, 44px);
  grid-auto-rows:44px;
  gap:10px;
}
.footer-badge{
  width:44px;
  height:44px;
  background:#FFFFFF;
  border-radius:10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-badge img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.footer-social-row{ display:flex; align-items:center; gap:10px; }
.footer-social-btn{
  width:36px; height:36px;
  border-radius:50%;
  background:var(--primary);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  transition:filter .2s ease, transform .2s ease;
}
.footer-social-btn:hover{ filter:brightness(1.1); transform:translateY(-2px); }
.footer-social-btn svg{ width:16px; height:16px; }

.footer-float{
  position:absolute;
  right:56px;
  left:56px;
  bottom:-32px;
  z-index:3;
  display:flex;
  align-items:stretch;
}

.footer-back-top{
  flex-shrink:0;
  width:60px;
  border-radius:0 20px 20px 0;
  background:var(--primary);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:filter .2s ease, transform .2s ease;
}
.footer-back-top:hover{ filter:brightness(1.08); transform:translateY(-2px); }
.footer-back-top svg{ width:22px; height:22px; }

.footer-newsletter{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:var(--primary);
  padding:18px 28px;
  border-radius:20px 0 0 20px;
  min-width:0;
}
.footer-newsletter-text{
  font-family:'IRANSansX', sans-serif;
  font-weight:600;
  font-size:15px;
  color:#FFFFFF;
  white-space:nowrap;
}
.footer-newsletter-form{
  display:flex;
  align-items:center;
  background:var(--card);
  border-radius:8px;
  padding:6px;
  flex-shrink:0;
}
.footer-newsletter-input{
  border:none;
  background:transparent;
  outline:none;
  padding:10px 20px;
  font-family:'IRANSansX', sans-serif;
  font-weight:400;
  font-size:14px;
  color:var(--bg);
  text-align:right;
  min-width:140px;
}
.footer-newsletter-input::placeholder{ color:#64748B; }
.footer-newsletter-btn{
  flex-shrink:0;
  background:var(--primary);
  color:#FFFFFF;
  border-radius:4px;
  padding:12px 28px;
  font-family:'IRANSansX', sans-serif;
  font-weight:700;
  font-size:14px;
  white-space:nowrap;
  transition:filter .2s ease;
}
.footer-newsletter-btn:hover{ filter:brightness(1.08); }


  /* ============ MOTION / ANIMATIONS ============ */

  /* Scroll-reveal utility. Gated behind html.js so content is fully visible
     if JavaScript fails to load (progressive enhancement). */
  html.js .reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .8s cubic-bezier(.16,.84,.44,1), transform .8s cubic-bezier(.16,.84,.44,1);
    transition-delay:var(--reveal-delay, 0s);
    will-change:opacity, transform;
  }
  html.js .reveal.in-view{
    opacity:1;
    transform:translateY(0);
  }

  /* Hero entrance sequence */
  @keyframes heroFadeUp{
    from{ opacity:0; transform:translateY(30px); }
    to{ opacity:1; transform:translateY(0); }
  }
  .hero-kicker,
  .hero-title,
  .hero-actions,
  .partners-float{
    opacity:0;
    animation:heroFadeUp .9s cubic-bezier(.16,.84,.44,1) forwards;
  }
  .hero-kicker{ animation-delay:.15s; }
  .hero-title{ animation-delay:.32s; }
  .hero-actions{ animation-delay:.52s; }
  .partners-float{ animation-delay:.68s; }

  @keyframes kickerPulse{
    0%,100%{ box-shadow:0 0 0 0 rgba(0,230,118,.5); }
    50%{ box-shadow:0 0 0 6px rgba(0,230,118,0); }
  }
  .hero-kicker::before{ animation:kickerPulse 2.6s ease-in-out infinite; }

  /* Sticky header gains a soft shadow once the page scrolls */
  header.site-header{ transition:box-shadow .3s ease; }
  header.site-header.scrolled{ box-shadow:0 8px 24px rgba(15,23,42,0.35); }

  /* Gentle image zoom on card hover */
  .about-block-image img,
  .projects-card img,
  .team-card img{
    transition:transform .7s cubic-bezier(.16,.84,.44,1);
  }
  .about-block:hover .about-block-image img,
  .projects-card:hover img,
  .team-card:hover img{
    transform:scale(1.06);
  }

  .projects-card-content,
  .team-card-content{ transition:transform .45s ease; }
  .projects-card:hover .projects-card-content,
  .team-card:hover .team-card-content{ transform:translateY(-4px); }
  .services-card-title{transition: color .35s ease;}
  .services-card:hover .services-card-title{color:var(--primary);}
  .services-card:hover{border-bottom-color:var(--primary)}
  /* Service cards lift, icon nudges */
  .services-card{transition: transform .35s ease , box-shadow .35s ease , border-color .35s ease;}
  .services-card:hover{ transform:translateY(-6px); box-shadow:0 18px 34px rgba(0,0,0,0.28); }
  .services-card-icon{ transition:transform .35s ease; }
  .services-card:hover .services-card-icon{ transform:scale(1.08) rotate(-4deg); }

  .whyus-number{ transition:transform .3s ease; }
  .whyus-item:hover .whyus-number{ transform:translateY(-3px); }

  .about-block-solid svg{ transition:transform .4s ease; }
  .about-block-solid:hover svg{ transform:translateY(-3px) scale(1.05); }

  /* ============ RESPONSIVE (MOBILE UX IMPROVEMENTS) ============ */
  
  @media (min-width: 821px) {
    .marquee-content { display: contents; }
    .marquee-duplicate { display: none !important; }
  }

  @media (max-width:1100px){
    .header-inner{ padding:0 32px; }
    .hero-section{ padding:24px 24px 0; }
    .hero-content{ padding:56px 40px 100px; max-width:520px; }
    .hero-title{ font-size:40px; line-height:1.2; }
    .trust-bar{ padding:44px 32px 28px; }
    .partners-list{ gap:26px; }
    .about-section{ padding:80px 32px 90px; }
    .about-grid{ gap:44px; }
    .about-heading{ font-size:32px; }
    .services-section{ padding:56px 32px 74px; }
    .services-heading{ font-size:32px; }
    .services-header{ margin-bottom:44px; }
    .services-grid{ gap:18px; }
    .services-card{ padding:26px 22px; }
    .whyus-section { padding: 80px 32px; }
    .whyus-heading { font-size: 32px; margin-bottom: 56px; }
    .whyus-grid { column-gap: 36px; row-gap: 48px; }
    .whyus-number { font-size: 28px; min-width: 32px; }
    .whyus-item-title { font-size: 18px; }
    .whyus-item { gap: 18px; }
    .projects-section{ padding:48px 32px 68px; }
    .projects-heading{ font-size:32px; }
    .projects-header{ margin-bottom:44px; }
    .projects-grid{ gap:18px; }
    .team-section{ padding:48px 32px 68px; }
    .team-heading{ font-size:32px; }
    .team-header{ margin-bottom:44px; }
    .team-carousel-wrap{ margin:0 -32px; }
    .team-carousel{ padding:0 32px; }
    .team-card{ width:250px; }
    .team-track{ gap:18px; }
    .footer-section{ padding:56px 32px 96px; }
    .footer-card{ padding:40px 32px 88px; }
    .footer-float{ right:32px; left:32px; }
    .footer-columns{ gap:28px; }
    .footer-intro{ max-width:560px; }
  }

  @media (max-width:820px){
    nav.main-nav{ display:none; }
    .hamburger{ display:flex; }
    .header-right{ gap:20px; }

    .hero-card{ min-height:560px; }
    /* UX CHANGE: Hide floating partners card on tablet/mobile */
    .partners-float { display: none; }
    /* UX CHANGE: Reduce bottom padding since the card is now gone */
    .hero-content{ min-height:560px; max-width:100%; padding:44px 24px 64px; }
    .hero-title{ font-size:32px; line-height:1.25; }
    .hero-kicker{ font-size:15px; }
    .btn{ padding:12px 22px; font-size:14px; }
    .hero-actions .btn{ padding:12px 24px; }

    .slide-indicator{ display:none; }

    .trust-inner{ flex-direction:column; align-items:flex-start; gap:24px; overflow: hidden; width: 100%; }
    .follow-cluster { display: none !important; }
    
    .partners-list{
      display: flex;
      flex-wrap: nowrap;
      width: 100%;
      gap: 0;
      overflow: hidden;
    }
    .marquee-content {
      display: flex;
      flex-shrink: 0;
      align-items: center;
      gap: 40px;
      padding-inline-end: 40px;
      animation: marquee-scroll-rtl 15s linear infinite;
    }
    @keyframes marquee-scroll-rtl {
      0% { transform: translateX(0); }
      100% { transform: translateX(100%); }
    }

    .about-grid{ flex-direction:column; gap:48px; }
    .about-visual{ aspect-ratio:16/10; }
    
    .services-header{ flex-direction:row; align-items:center; justify-content:space-between; gap:16px; margin-bottom:40px; }
    .services-heading-block { flex: 1; min-width: 0; }
    .services-heading-line:nth-child(2) { display: none; }
    
    .services-grid{ flex-direction:column; gap:20px; }
    .whyus-grid { grid-template-columns: 1fr; row-gap: 40px; }
    .whyus-heading { margin-bottom: 44px; }
    .projects-header{ flex-direction:column; align-items:flex-start; gap:24px; margin-bottom:40px; }
    
    /* Project Carousel Adjustments */
    .projects-carousel-wrap { margin: 0 -32px; overflow: hidden; }
    .projects-carousel {
      overflow-x: auto; overflow-y: hidden; padding: 0 32px;
      cursor: grab; scrollbar-width: none; -ms-overflow-style: none;
      touch-action: pan-x; -webkit-overflow-scrolling: touch;
    }
    .projects-carousel::-webkit-scrollbar { display: none; }
    .projects-carousel.dragging { cursor: grabbing; }
    .projects-grid { flex-wrap: nowrap; width: max-content; gap: 18px; }
    .projects-card { flex: 0 0 auto; width: 250px; aspect-ratio: 4/5; }

    .team-header{ flex-direction:row; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:40px; }
    .footer-top{ flex-direction:column; align-items:flex-start; gap:20px; padding-bottom:36px; margin-bottom:36px; }
    .footer-logo{ font-size:26px; }
    .footer-intro{ max-width:100%; }
    .footer-columns{ row-gap:36px; }
    .footer-col{ flex:1 1 45%; }
    
    .footer-contact-item { min-width: 0; overflow: hidden; }
    .footer-email {
      display: inline-block;
      max-width: 100%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      vertical-align: middle;
      transition: all 0.2s ease;
      font-family:'IRANSansX', sans-serif;
      font-weight:400;
      font-size:14px;
      color:var(--paragraph);
    }
    .footer-email:hover, .footer-email:active, .footer-email:focus {
      white-space: normal;
      word-break: break-all;
    }
    
    .footer-social-row {
      display: grid;
      grid-template-columns: repeat(3, 36px);
      gap: 10px;
    }

    .footer-card{ padding:36px 28px 40px; }
    .footer-float{
      position:static;
      flex-direction:column;
      align-items:stretch;
      gap:16px;
      margin-top:40px;
    }
    .footer-back-top{
      align-self:flex-end;
      width:52px; height:52px;
      border-radius:16px;
    }
    .footer-newsletter{ border-radius:20px; flex-wrap:wrap; }
  }

  @media (max-width:480px){
    .header-inner{ padding:0 18px; height:68px; }
    .logo{ font-size:18px; }
    
    /* UX CHANGE: Increase header icon touch targets on mobile */
    .header-left .icon-circle-btn { width: 38px; height: 38px; }
    
    .hero-section{ padding:16px 16px 0; }
    .hero-card{ min-height:520px; }
    .hero-visual{ border-radius:18px; }
    
    /* UX CHANGE: Adjusted bottom padding */
    .hero-content{ padding:36px 20px 56px; }
    .hero-title{ font-size:27px; line-height:1.3; }
    
    /* UX CHANGE: Full width stacked buttons for better tap targets */
    .hero-actions{ flex-direction:column; width:100%; gap:12px; }
    .hero-actions .btn{ width: 100%; justify-content: center; }

    .trust-bar{ padding:36px 18px 24px; }
    .partner-item span{ font-size:14px; }
    .about-section{ padding:56px 18px 64px; }
    .about-heading{ font-size:26px; }
    .about-card{ padding:20px 20px; }
    .about-visual{ aspect-ratio:4/5; gap:14px; }
    .about-visual-col{ gap:14px; }
    .services-section{ padding:40px 18px 54px; }
    .services-heading{ font-size:26px; }
    .services-header{ margin-bottom:32px; }
    .services-card{ padding:24px 20px; }
    .services-card-icon{ width:52px; height:52px; border-radius:14px; }
    .services-card-icon svg{ width:22px; height:22px; }
    .whyus-section { padding: 56px 18px; }
    .whyus-heading { font-size: 26px; }
    .whyus-item { gap: 14px; }
    .whyus-number { font-size: 24px; min-width: 28px; }
    .whyus-item-title { font-size: 17px; }
    .whyus-paragraph { font-size: 14px; }
    .projects-section{ padding:36px 18px 48px; }
    .projects-heading{ font-size:26px; }
    .projects-header{ margin-bottom:32px; }
    
    /* Project Carousel inner spacing adjustments */
    .projects-carousel-wrap { margin: 0 -18px; }
    .projects-carousel { padding: 0 18px; }
    .projects-grid { gap: 14px; }
    .projects-card { width: 210px; }
    
    .team-section{ padding:36px 18px 48px; }
    .team-heading{ font-size:26px; }
    .team-carousel-wrap{ margin:0 -18px; }
    .team-carousel{ padding:0 18px; }
    .team-card{ width:210px; }
    .team-track{ gap:14px; }
    .team-card-name{ font-size:17px; }
    .footer-section{ padding:36px 18px 64px; }
    .footer-card{ padding:28px 20px 32px; }
    .footer-logo{ font-size:22px; }
    .footer-intro{ font-size:13.5px; }
    .footer-columns{ flex-direction:column; gap:32px; }
    .footer-col{ flex:1 1 100%; }
    .footer-contact-item span{ white-space:normal; }

    .footer-newsletter{ flex-direction:column; align-items:flex-start; padding:20px; gap:16px; }
    
    /* UX CHANGE: Stack the newsletter form elements to ensure adequate input size and button touch target */
    .footer-newsletter-form{ width:100%; flex-direction: column; background: transparent; padding: 0; gap: 12px; }
    .footer-newsletter-input{ width:100%; background: var(--card); border-radius: 8px; padding: 16px; }
    .footer-newsletter-btn{ width: 100%; padding: 16px; border-radius: 8px; }
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
  }

/* ============ کرسر کراس‌هیر مهندسی (Reticle) ============ */

/* حذف کرسر پیش‌فرض در دستگاه‌های با ماوس */
@media (pointer: fine) {
    * {
        cursor: none !important;
    }
}

/* کرسر کراس‌هیر اصلی */
.cursor-reticle {
    position: fixed;
    top: 0;
    left: 0;
    width: 36px;
    height: 36px;
    pointer-events: none;
    z-index: 9999;
    transform: translate(-50%, -50%);
    transition: width 0.25s ease, height 0.25s ease, opacity 0.3s ease;
    will-change: left, top;
    opacity: 0;
    animation: reticleFadeIn 0.6s ease 0.3s forwards;
}

@keyframes reticleFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* خطوط وسط (صلیب) */
.reticle-line {
    position: absolute;
    background: var(--primary);
    transition: background 0.25s ease, transform 0.25s ease, opacity 0.25s ease;
    border-radius: 0.5px;
}

.reticle-h {
    top: 50%;
    left: 50%;
    width: 14px;
    height: 1.5px;
    transform: translate(-50%, -50%);
}

.reticle-v {
    top: 50%;
    left: 50%;
    width: 1.5px;
    height: 14px;
    transform: translate(-50%, -50%);
}

/* نقطه مرکزی (دقیقاً وسط) */
.reticle-dot {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--primary);
    transform: translate(-50%, -50%);
    transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

/* گوشه‌های براکت مانند (شبیه نشانه‌گیری) */
.reticle-corner {
    position: absolute;
    width: 10px;
    height: 10px;
    border-style: solid;
    border-color: var(--primary);
    border-width: 0;
    filter: drop-shadow(0 0 4px rgba(0, 119, 255, 0.25));
    transition: all 0.25s ease;
}

/* هر گوشه با دو ضلع */
.reticle-corner.tl {
    top: 0;
    left: 0;
    border-top-width: 1.5px;
    border-left-width: 1.5px;
    border-radius: 0 0 2px 0;
}

.reticle-corner.tr {
    top: 0;
    right: 0;
    border-top-width: 1.5px;
    border-right-width: 1.5px;
    border-radius: 0 0 0 2px;
}

.reticle-corner.bl {
    bottom: 0;
    left: 0;
    border-bottom-width: 1.5px;
    border-left-width: 1.5px;
    border-radius: 0 2px 0 0;
}

.reticle-corner.br {
    bottom: 0;
    right: 0;
    border-bottom-width: 1.5px;
    border-right-width: 1.5px;
    border-radius: 2px 0 0 0;
}

/* ===== حالت هاور (روی لینک‌ها و دکمه‌ها) ===== */
.cursor-reticle.hover {
    width: 28px;
    height: 28px;
}

.cursor-reticle.hover .reticle-line {
    background: var(--secondary);
    opacity: 0.7;
}

.cursor-reticle.hover .reticle-dot {
    background: var(--secondary);
    transform: translate(-50%, -50%) scale(0.6);
    box-shadow: 0 0 12px rgba(0, 230, 118, 0.5);
}

.cursor-reticle.hover .reticle-corner {
    border-color: var(--secondary);
    filter: drop-shadow(0 0 6px rgba(0, 230, 118, 0.3));
    width: 7px;
    height: 7px;
}

/* ===== حالت کلیک ===== */
.cursor-reticle.click {
    width: 22px;
    height: 22px;
}

.cursor-reticle.click .reticle-corner {
    width: 5px;
    height: 5px;
}

.cursor-reticle.click .reticle-dot {
    transform: translate(-50%, -50%) scale(0.4);
}

.cursor-reticle.click .reticle-line {
    opacity: 0.5;
}

/* ===== مخفی شدن هنگام خروج ماوس ===== */
.cursor-reticle.hidden {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.cursor-reticle.visible {
    opacity: 1;
    transition: opacity 0.3s ease;
}