:root{
    --bg-dark:#0b2625;
    --bg-dark-2:#0e302e;
    --teal:#0f5c56;
    --teal-light:#1c7f77;
    --green:#4caf6d;
    --green-light:#8fd19e;
    --concrete:#ece8de;
    --concrete-dark:#d8d3c4;
    --steel-blue:#2f6f8f;
    --text-dark:#12201f;
    --text-light:#eef3f1;
    --text-muted:#5c6b68;
    --font-display:'Space Grotesk', sans-serif;
    --font-body:'Inter', sans-serif;
    --font-fa:'Vazirmatn', sans-serif;
    --radius-sm:4px;
    --radius-md:10px;
    --container:1180px;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:var(--font-body);
    color:var(--text-dark);
    background:var(--concrete);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  html[lang="fa"] body, html[lang="fa"] h1, html[lang="fa"] h2, html[lang="fa"] h3{
    font-family:var(--font-fa);
  }
  html[lang="fa"] .eyebrow{ letter-spacing:0; }

  img,svg{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  button{font-family:inherit; cursor:pointer;}
  ul{list-style:none;}

  h1,h2,h3{
    font-family:var(--font-display);
    font-weight:600;
    line-height:1.15;
    color:var(--bg-dark);
  }

  .container{
    max-width:var(--container);
    margin-inline:auto;
    padding-inline:28px;
  }

  section{padding-block:96px;}
  @media (max-width:760px){ section{padding-block:56px;} }

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(11,38,37,0.92);
    backdrop-filter:blur(8px);
    border-block-end:1px solid rgba(255,255,255,0.08);
  }
  .nav-wrap{
    display:flex; align-items:center; justify-content:space-between;
    padding-block:16px;
  }
  .logo{
    font-family:var(--font-display);
    font-weight:700;
    font-size:1.15rem;
    color:var(--text-light);
    display:flex; align-items:center; gap:10px;
  }
  .logo-mark{
    width:30px; height:30px; flex-shrink:0;
  }
  nav ul{
    display:flex; gap:32px;
  }
  nav a{
    color:var(--text-light);
    opacity:0.82;
    font-size:0.94rem;
    transition:opacity 0.2s;
  }
  nav a:hover{opacity:1;}
  .nav-right{display:flex; align-items:center; gap:20px;}
  .lang-toggle{
    display:flex; border:1px solid rgba(255,255,255,0.25); border-radius:20px; overflow:hidden;
  }
  .lang-toggle button{
    background:transparent; border:none; color:var(--text-light);
    padding:6px 14px; font-size:0.82rem; font-weight:600; opacity:0.65;
    transition:all 0.2s;
  }
  .lang-toggle button.active{
    background:var(--green); color:var(--bg-dark); opacity:1;
  }
  .nav-toggle{
    display:none; background:none; border:none;
    width:40px; height:40px; padding:9px 8px;
    flex-direction:column; justify-content:space-between;
  }
  .nav-toggle span{
    display:block; height:2px; width:100%; background:var(--text-light);
    border-radius:2px; transition:transform 0.25s ease, opacity 0.2s ease;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }
  @media (max-width:860px){
    .nav-toggle{display:flex;}
    .nav-right{gap:10px;}
    nav{
      display:none;
      position:absolute; inset-inline:0; top:100%;
      background:rgba(11,38,37,0.98);
      border-block-end:1px solid rgba(255,255,255,0.08);
      padding:8px 28px 18px;
    }
    nav.open{display:block;}
    nav ul{flex-direction:column; gap:0;}
    nav li a{display:block; padding:14px 0; font-size:1rem; border-block-end:1px solid rgba(255,255,255,0.07);}
    nav li:last-child a{border-block-end:none;}
  }

  /* ---------- Hero ---------- */
  .hero{
    background:linear-gradient(160deg, var(--bg-dark) 0%, var(--bg-dark-2) 60%, var(--teal) 130%);
    color:var(--text-light);
    padding-block:110px 90px;
    position:relative;
    overflow:hidden;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:48px;
    align-items:center;
    position:relative; z-index:2;
  }
  .hero-grid > *{ min-width:0; }
  @media (max-width:900px){
    .hero{ padding-block:56px 56px; }
    .hero-grid{ grid-template-columns:1fr; gap:36px; }
    .hero h1{ max-width:none; }
    .hero-visual{ order:-1; }
  }

  .hero .eyebrow{
    color:var(--green-light);
    font-size:0.85rem;
    font-weight:600;
    margin-block-end:18px;
  }
  .hero h1{
    color:var(--text-light);
    font-size:clamp(2.1rem, 4.2vw, 3.4rem);
    max-width:14ch;
  }
  .hero p.lead{
    margin-block-start:22px;
    font-size:1.08rem;
    max-width:46ch;
    color:rgba(238,243,241,0.82);
  }
  .hero-ctas{
    display:flex; gap:16px; margin-block-start:34px; flex-wrap:wrap;
  }
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:13px 26px;
    border-radius:var(--radius-sm);
    font-weight:600;
    font-size:0.95rem;
    transition:transform 0.2s ease, background 0.2s ease;
    border:1px solid transparent;
  }
  .btn-primary{background:var(--green); color:var(--bg-dark);}
  .btn-primary:hover{transform:translateY(-2px); background:var(--green-light);}
  .btn-ghost{border-color:rgba(238,243,241,0.35); color:var(--text-light);}
  .btn-ghost:hover{border-color:var(--text-light); transform:translateY(-2px);}

  /* Hero logo */
  .hero-visual{ display:flex; justify-content:center; align-items:center; }
  .hero-logo{
    display:block;
    width:100%; max-width:340px;
    height:auto; aspect-ratio:922 / 1084;
    object-fit:contain;
    border-radius:var(--radius-md);
    box-shadow:0 20px 50px rgba(0,0,0,0.35);
  }
  @media (max-width:900px){ .hero-logo{ max-width:200px; } }

  /* ---------- Stats ---------- */
  .stats{
    background:var(--bg-dark-2);
    color:var(--text-light);
    padding-block:52px;
  }
  .stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    text-align:center;
  }
  @media (max-width:760px){ .stats-grid{grid-template-columns:repeat(2,1fr);} }
  .stat-num{
    font-family:var(--font-display);
    font-size:2.1rem;
    font-weight:700;
    color:var(--green-light);
  }
  .stat-label{
    font-size:0.85rem;
    color:rgba(238,243,241,0.72);
    margin-block-start:6px;
  }

  /* ---------- About ---------- */
  .about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:start;
  }
  @media (max-width:820px){ .about-grid{grid-template-columns:1fr; gap:36px;} }
  .about-grid h2{
    font-size:clamp(1.7rem,3vw,2.3rem);
    max-width:12ch;
    margin-block-end:20px;
  }
  .about-grid p{ color:var(--text-muted); font-size:1.02rem; max-width:52ch; }
  .value-list{
    border-inline-start:2px solid var(--concrete-dark);
    padding-inline-start:24px;
  }
  html[dir="rtl"] .value-list{
    border-inline-start:none;
    border-inline-end:2px solid var(--concrete-dark);
    padding-inline-start:0;
    padding-inline-end:24px;
  }
  .value-list li{
    padding-block:16px;
    border-block-end:1px solid var(--concrete-dark);
    font-weight:500;
  }
  .value-list li:first-child{ padding-block-start:0; }
  .value-list li:last-child{ border-block-end:none; }

  /* ---------- Products ---------- */
  .products{ background:#fff; }
  .section-head{
    display:flex; justify-content:space-between; align-items:flex-end;
    margin-block-end:44px; gap:24px; flex-wrap:wrap;
  }
  .section-head h2{ font-size:clamp(1.7rem,3vw,2.3rem); max-width:14ch; }
  .section-head p{ color:var(--text-muted); max-width:40ch; }

  .product-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--concrete-dark);
    border:1px solid var(--concrete-dark);
  }
  @media (max-width:820px){ .product-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .product-grid{grid-template-columns:1fr;} }
  .product-card{
    background:#fff;
    padding:36px 30px;
    transition:background 0.25s ease;
  }
  .product-card:hover{ background:var(--concrete); }
  .product-icon{
    width:42px; height:42px;
    color:var(--teal);
    margin-block-end:20px;
  }
  .product-card:hover .product-icon{ color:var(--green); }
  .product-card h3{ font-size:1.08rem; margin-block-end:8px; }
  .product-card p{ color:var(--text-muted); font-size:0.92rem; }

  /* ---------- Process ---------- */
  .process{ background:var(--concrete); }
  .process-list{
    display:flex; flex-direction:column;
  }
  .process-item{
    display:grid;
    grid-template-columns:80px 1fr;
    gap:28px;
    padding-block:30px;
    border-block-start:1px solid var(--concrete-dark);
  }
  .process-item:last-child{ border-block-end:1px solid var(--concrete-dark); }
  .process-num{
    font-family:var(--font-display);
    font-size:1.6rem;
    font-weight:700;
    color:var(--teal-light);
  }
  .process-item h3{ font-size:1.12rem; margin-block-end:6px; }
  .process-item p{ color:var(--text-muted); max-width:56ch; }

  /* ---------- Contact ---------- */
  .contact-cards{
    display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  }
  @media (max-width:760px){ .contact-cards{grid-template-columns:1fr;} }
  .contact-card{
    background:#fff;
    border:1px solid var(--concrete-dark);
    border-block-start:3px solid var(--green);
    padding:28px 26px;
    display:flex; flex-direction:column; gap:6px;
  }
  .contact-card svg{ width:28px; height:28px; color:var(--teal); margin-block-end:10px; }
  .contact-card strong{ font-size:0.82rem; color:var(--text-muted); font-weight:600; }
  .contact-card a, .contact-card span{ font-size:1.05rem; font-weight:500; color:var(--bg-dark); }
  .contact-card a{ align-self:flex-start; direction:ltr; unicode-bidi:isolate; }
  .contact-card a:hover{ color:var(--teal-light); }
  #contact{ padding-block-start:0; }

  /* ---------- Footer ---------- */
  footer{
    background:var(--bg-dark);
    color:rgba(238,243,241,0.75);
    padding-block:48px 28px;
  }
  .footer-grid{
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px;
    padding-block-end:28px;
    border-block-end:1px solid rgba(255,255,255,0.12);
  }
  .footer-logo{
    font-family:var(--font-display);
    font-weight:700;
    color:var(--text-light);
    font-size:1.1rem;
    margin-block-end:10px;
  }
  .footer-tagline{ max-width:32ch; font-size:0.9rem; }
  .footer-links{ display:flex; gap:14px; flex-wrap:wrap; }
  .footer-links a{ font-size:0.88rem; opacity:0.85; }
  .footer-links a:hover{ opacity:1; }
  .footer-bottom{
    padding-block-start:20px;
    font-size:0.8rem;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    opacity:0.7;
  }

  .js .reveal{
    opacity:0;
    transform:translateY(16px);
    transition:opacity 0.6s ease, transform 0.6s ease;
  }
  .js .reveal.is-visible{ opacity:1; transform:none; }

  /* ---------- Mobile polish ---------- */
  html, body{ overflow-x:hidden; }
  @media (max-width:760px){
    .container{ padding-inline:20px; }
    .section-head{ margin-block-end:28px; }
    .section-head h2, .about-grid h2{ max-width:none; }
    .product-card{ padding:26px 22px; }
    .process-item{ grid-template-columns:52px 1fr; gap:16px; padding-block:22px; }
    .stat-num{ font-size:1.7rem; }
    .btn{ padding:12px 20px; }
    .footer-grid{ flex-direction:column; }
    .contact-card a, .contact-card span{ overflow-wrap:anywhere; }
  }
  @media (max-width:420px){
    .hero-ctas .btn{ flex:1 1 100%; justify-content:center; }
  }

  @media (prefers-reduced-motion: reduce){
    *{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; }
  }