html {
      scroll-behavior: smooth;
    }

    body {
      font-family: 'Vazirmatn', sans-serif;
      background: #F5F2E9;
      color: #202521;
    }

    ::selection {
      background: #173C2B;
      color: #F5F2E9;
    }

    .glass {
      background: rgba(245, 242, 233, 0.92);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
    }

    .hero-overlay {
      background:
        linear-gradient(
          90deg,
          rgba(23, 60, 43, 0.15) 0%,
          rgba(23, 60, 43, 0.42) 45%,
          rgba(23, 60, 43, 0.88) 100%
        );
    }

    .image-overlay {
      background: linear-gradient(
        to top,
        rgba(23, 60, 43, 0.88),
        rgba(23, 60, 43, 0.05)
      );
    }

    .project-image {
      transition: opacity 0.7s ease, transform 0.7s ease;
    }

    .project-card:hover .project-image {
      transform: scale(1.03);
    }

    .featured-image {
      transition: opacity 0.5s ease;
    }

    .nav-link {
      position: relative;
    }

    .nav-link::after {
      content: '';
      position: absolute;
      right: 0;
      bottom: -8px;
      width: 0;
      height: 2px;
      background: #CDBB99;
      transition: width 0.3s ease;
    }

    .nav-link:hover::after,
    .nav-link.active::after {
      width: 100%;
    }

    .js-reveal .reveal {
      opacity: 0;
      transform: translateY(25px);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }

    .js-reveal .reveal.show {
      opacity: 1;
      transform: translateY(0);
    }

    .mobile-menu {
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.35s ease;
    }

    .mobile-menu.open {
      max-height: 500px;
    }

    .slider-dot.active {
      width: 28px;
      background: #CDBB99;
    }

    .counter-number {
      font-variant-numeric: tabular-nums;
    }

    .line-decoration {
      width: 48px;
      height: 2px;
      background: #CDBB99;
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .reveal, .js-reveal .reveal { opacity: 1; transform: none; transition: none; }
      .project-image, .featured-image { transition: none; }
    }

    @media (max-width: 767px) {
      .hero-overlay {
        background:
          linear-gradient(
            to top,
            rgba(23, 60, 43, 0.94) 0%,
            rgba(23, 60, 43, 0.55) 48%,
            rgba(23, 60, 43, 0.18) 100%
          );
      }
    }
/* Studio credit: compact, legible and transparent on dark footer */
.studio-credit { display:flex; align-items:center; gap:12px; flex-wrap:wrap; direction:ltr; unicode-bidi:isolate; }
.studio-credit-label { color:rgba(255,255,255,.68); white-space:nowrap; font-size:12px; }
.studio-credit-brand { display:inline-flex; align-items:center; gap:7px; direction:ltr; white-space:nowrap; }
.studio-credit-brand img { width:36px; height:36px; object-fit:contain; flex:none; }
.studio-credit-name { color:#f5f2e9; font-size:12px; font-weight:650; letter-spacing:.07em; }
.studio-credit-name strong { color:#C9A96A; font-weight:750; }
@media(max-width:420px) { .studio-credit { gap:6px; } .studio-credit-brand img { width:30px; height:30px; } .studio-credit-name { font-size:11px; } }

/* Approved brand signature: use the original selected artwork, not a substitute monogram. */
.studio-credit-final { display:flex; align-items:center; justify-content:flex-start; max-width:100%; }
.studio-credit-final img { display:block; width:min(100%, 440px); height:auto; max-height:90px; object-fit:contain; object-position:left center; }
@media (max-width:640px) { .studio-credit-final img { width:min(100%, 350px); } }

/* Language / theme controls */
.site-controls{display:flex;align-items:center;gap:7px;flex-shrink:0;margin-inline-start:auto;margin-inline-end:12px}
.site-control{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;border:1px solid currentColor;color:inherit;background:rgba(128,128,128,.08);font-size:13px;font-weight:800;cursor:pointer;transition:background .2s}
.site-control:hover,.site-control:focus-visible{background:rgba(205,187,153,.35);outline-offset:2px}
#site-header .site-control{border-color:currentColor}
#mobile-menu{position:relative;z-index:5}
#mobile-menu .glass{color:#173C2B}
#mobile-menu a{min-height:44px}
#mobile-menu-button{flex-shrink:0}
body.english{font-family:Arial,'Vazirmatn',sans-serif}
body.english .hero-overlay{background:linear-gradient(270deg,rgba(23,60,43,.15),rgba(23,60,43,.48) 45%,rgba(23,60,43,.9))}
body.english .nav-link::after{right:auto;left:0}
/* Dark mode: preserve branded dark-green sections and recolor light surfaces */
html.theme-dark body{background:#111d18;color:#e9eee7}
html.theme-dark .bg-ivory,html.theme-dark .bg-white{background-color:#172820!important;color:#e9eee7!important}
html.theme-dark .bg-ivory .bg-white,html.theme-dark .bg-white .bg-ivory,html.theme-dark .bg-white .bg-white{background-color:#20362b!important}
html.theme-dark .bg-ivory .text-forest,html.theme-dark .bg-white .text-forest,html.theme-dark .bg-ivory .text-charcoal,html.theme-dark .bg-white .text-charcoal{color:#edf2e9!important}
html.theme-dark .bg-ivory .text-moss,html.theme-dark .bg-white .text-moss{color:#c3d3b9!important}
html.theme-dark .bg-ivory .text-charcoal\/70,html.theme-dark .bg-white .text-charcoal\/70{color:#d4ded1!important}
html.theme-dark .glass{background:rgba(19,36,28,.96);color:#f5f2e9}
html.theme-dark #mobile-menu .glass{color:#f5f2e9}
html.theme-dark #site-header.glass{color:#f5f2e9!important}
html.theme-dark #site-header.glass .text-forest{color:#f5f2e9!important}
html.theme-dark .border-forest\/10{border-color:rgba(226,236,223,.18)!important}
html.theme-dark .bg-sand{color:#173C2B}
html.theme-dark .bg-forest{background-color:#173C2B}
html.theme-dark .bg-charcoal{background-color:#111713}
html.theme-dark .shadow-soft{box-shadow:0 8px 32px rgba(0,0,0,.25)}
@media(max-width:1023px){
  #site-header .site-controls{margin-inline-start:auto;margin-inline-end:8px}
  #site-header .site-control{width:38px;height:38px}
  #mobile-menu .glass{max-height:calc(100dvh - 96px);overflow-y:auto}
}
@media(max-width:639px){
  #site-header .h-20{height:72px}
  #site-header .site-controls{gap:4px}
  #site-header .site-control{width:36px;height:36px}
  #site-header .w-12.h-12{width:42px;height:42px}
  #home{min-height:100svh}
  #home h1{font-size:clamp(2rem,8vw,3.1rem);overflow-wrap:anywhere}
  main img{max-width:100%}
  #contact iframe{max-width:100%;border-radius:14px}
  footer .studio-credit-final img{width:min(100%,340px);max-height:none}
  footer .max-w-7xl>div:last-child{align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){.site-control{transition:none}}

/* Approved Narenj Sabz Fars logo — enlarged without distorting the navbar */
.brand-logo {display:block;object-fit:contain;object-position:center;flex-shrink:0;width:auto;max-width:none;}
.brand-logo-header {height:64px;max-width:94px;}
.brand-logo-footer {height:74px;max-width:105px;}
@media (min-width: 640px) and (max-width: 1023px) { .brand-logo-header {height:60px;max-width:90px;} }
@media (max-width: 639px) { .brand-logo-header {height:54px;max-width:76px;} .brand-logo-footer {height:66px;max-width:92px;} }
