/* کارت‌های فشرده و حرکت‌های اختصاصی صفحات عمومی؛ پنل‌ها از این لایه مستقل‌اند. */
[data-public-site] {
  --tile-gold: #c79746;
  --tile-radius: 1.5rem;
}
[data-public-site] .form-stack {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}
[data-public-site] .cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}
.contact-departments {
  display: grid;
  gap: 1.25rem;
}
[data-public-site] .contact-departments .public-tile {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  align-items: start;
  column-gap: 1rem;
}
.contact-departments .public-tile__emoji {
  grid-row: span 2;
}
[data-public-site] .contact-departments .public-tile h3 {
  margin-top: 0;
}
[data-public-site] .contact-departments .public-tile p {
  grid-column: 2;
  margin-bottom: 0;
}
[data-public-site] .section-heading {
  max-width: 54rem;
}
[data-public-site] .section-heading h2 {
  text-wrap: balance;
}
.public-closing {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.65rem 2rem;
  max-width: 68rem;
  margin-inline: auto;
  padding-block: clamp(2rem, 5vw, 4rem);
}
.public-closing > .eyebrow,
.public-closing > h2,
.public-closing > p {
  grid-column: 1;
  margin: 0;
}
.public-closing > h2 {
  max-width: 30ch;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  text-wrap: balance;
}
.public-closing > p:not(.eyebrow) {
  max-width: 56ch;
  color: var(--color-muted);
}
.public-closing > a {
  grid-column: 2;
  grid-row: 1 / span 3;
}
.visual-tiles {
  display: grid;
  gap: clamp(1rem, 2vw, 1.75rem);
}
.visual-tiles--illustrated {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  align-items: stretch;
}
.visual-tiles__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: clamp(0.85rem, 1.5vw, 1.25rem);
  min-width: 0;
}
.visual-tiles--illustrated .visual-tiles__grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
[data-public-site] .public-tile {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding: clamp(1.15rem, 2.4vw, 1.8rem);
  border: 1px solid var(--color-border);
  border-radius: var(--tile-radius);
  background: linear-gradient(
    145deg,
    color-mix(in srgb, var(--tile-gold) 6%, var(--color-surface)),
    var(--color-surface) 70%
  );
  box-shadow: 0 0.5rem 1.8rem rgb(8 20 38 / 0.035);
  transition:
    border-color 220ms ease,
    box-shadow 220ms ease,
    translate 220ms ease;
}
[data-public-site] .public-tile::after {
  content: "";
  position: absolute;
  width: 2rem;
  height: 2px;
  inset-inline-end: 1.5rem;
  bottom: 1.5rem;
  border-radius: 1rem;
  background: var(--tile-gold);
  opacity: 0.4;
}
.visual-tiles .public-tile {
  aspect-ratio: 1.2;
}
[data-public-site] .public-tile h3 {
  margin-block: 1rem 0.6rem;
  font-size: clamp(1.1rem, 1.7vw, 1.45rem);
  line-height: 1.25;
  text-wrap: balance;
}
[data-public-site] .public-tile p {
  max-width: 36ch;
  margin-block: 0 0.75rem;
  color: var(--color-muted);
  font-size: 0.96rem;
  line-height: 1.65;
}
[data-public-site] .public-tile > a:last-child {
  margin-top: auto;
}
.public-tile__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
}
.public-tile__emoji {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border: 1px solid color-mix(in srgb, var(--tile-gold) 24%, transparent);
  border-radius: 1rem;
  background: color-mix(in srgb, var(--tile-gold) 11%, var(--color-surface));
  font-size: 1.6rem;
  line-height: 1;
}
.public-tile__number {
  color: var(--color-subtle);
  font: 500 0.8rem/1 var(--font-mono);
  letter-spacing: 0.08em;
}
[data-public-site] .public-tile > .eyebrow {
  margin-top: 1rem;
}
[data-public-site] .grid-2:has(> .public-tile) {
  grid-template-columns: repeat(2, minmax(0, 26rem));
  justify-content: center;
}
[data-public-site] .grid-3:has(> .public-tile) {
  max-width: 78rem;
  margin-inline: auto;
}
[data-public-site] .grid-4 > .public-tile {
  min-height: 14rem;
}
.visual-tiles__art {
  position: relative;
  isolation: isolate;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  min-height: 24rem;
  margin: 0;
  overflow: hidden;
  border: 1px solid
    color-mix(in srgb, var(--tile-gold) 38%, var(--color-border));
  border-radius: var(--tile-radius);
  background: #10233a;
}
.visual-tiles__art::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 45%, rgb(5 15 29 / 0.75)),
    linear-gradient(135deg, rgb(229 184 101 / 0.1), transparent 50%);
  pointer-events: none;
}
.visual-tiles__art > img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.visual-tiles__signature {
  position: absolute;
  z-index: 2;
  inset-inline: 1.5rem;
  bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  color: #f7e5bc;
  font-size: 0.85rem;
  letter-spacing: 0.2em;
}
.visual-tiles__signature > span {
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid rgb(235 191 110 / 0.5);
  border-radius: 50%;
  font-family: var(--font-display);
  font-size: 1.25rem;
}
.visual-tiles__signature > i {
  margin-inline-start: auto;
  font-style: normal;
  font-size: 1.8rem;
}
.visual-tiles__orbit {
  position: absolute;
  z-index: 1;
  top: 15%;
  inset-inline-start: 12%;
  width: 76%;
  aspect-ratio: 1;
  border: 1px solid rgb(242 200 121 / 0.35);
  border-radius: 50%;
  transform: rotateX(52deg) rotate(-24deg);
  pointer-events: none;
}
.visual-tiles__orbit > i {
  position: absolute;
  inset: 12%;
  border: 1px dashed rgb(242 200 121 / 0.2);
  border-radius: 50%;
}
.visual-tiles__orbit > span {
  position: absolute;
  top: 10%;
  inset-inline-start: 10%;
  color: #ffe2a1;
  font-size: 2rem;
  text-shadow: 0 0 1.5rem #daa34c;
}
/* محتوای پایه همیشه دیده می‌شود؛ فقط عناصر ثبت‌شده در مشاهده‌گر آمادهٔ حرکت‌اند. */
@media (prefers-reduced-motion: no-preference) {
  [data-public-site] [data-reveal].reveal-ready {
    opacity: 0;
    transform: translateY(1.3rem);
    transition:
      opacity 600ms ease,
      transform 600ms cubic-bezier(0.2, 0.7, 0.2, 1);
    transition-delay: var(--reveal-delay, 0ms);
  }
  [data-public-site] [data-reveal="card"].reveal-ready {
    transform: translateY(1.6rem) scale(0.97);
  }
  [data-public-site] [data-reveal="image"].reveal-ready {
    transform: scale(0.96);
    transition-duration: 700ms;
  }
  [data-public-site] [data-reveal="title"].reveal-ready {
    transform: translateY(0.8rem);
    transition-duration: 450ms;
  }
  [data-public-site] [data-reveal].is-revealed,
  [data-public-site] [data-reveal].reveal-ready:focus-within {
    opacity: 1;
    transform: none;
  }
  .visual-tiles__art.is-revealed .visual-tiles__orbit {
    animation: public-orbit 18s ease-in-out infinite alternate;
  }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  [data-public-site] .public-tile:hover {
    translate: 0 -4px;
    border-color: color-mix(in srgb, var(--tile-gold) 65%, var(--color-border));
    box-shadow: 0 1rem 2.5rem rgb(8 20 38 / 0.08);
  }
}
@keyframes public-orbit {
  to {
    transform: rotateX(52deg) rotate(20deg);
  }
}
/* پردهٔ ورودی تنها با راه‌اندازی موفق اسکریپت پیش‌بارگذاری فعال می‌شود. */
.market-intro {
  display: none;
  position: fixed;
  z-index: 2500;
  inset: 0;
  overflow: hidden;
  color: #f9e9c4;
  background: radial-gradient(
    ellipse at center,
    #162b42 0,
    #081321 48%,
    #030912 100%
  );
}
.market-intro-pending .market-intro {
  display: grid;
  place-items: center;
  animation: market-intro-failsafe 1ms 5s forwards;
}
.market-intro-pending {
  overflow: hidden;
}
.market-intro__canvas {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
}
.market-intro__brand {
  position: relative;
  z-index: 2;
  display: grid;
  justify-items: center;
  gap: 1rem;
  padding: 2rem;
  text-align: center;
  text-shadow: 0 0 2rem #0a1726;
}
.market-intro__brand img {
  filter: sepia(1) saturate(1.2) brightness(1.5);
}
.market-intro__brand strong {
  color: #fff3d6;
  font: 700 clamp(2.6rem, 7vw, 4.5rem)/1 var(--font-display);
  letter-spacing: 0.3em;
  padding-inline-start: 0.3em;
}
.market-intro__brand > span {
  color: #d9bd8b;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
}
.market-intro__progress {
  width: 9rem;
  height: 2px;
  margin-top: 0.5rem;
  background: rgb(235 192 111 / 0.15);
  overflow: hidden;
}
.market-intro__progress i {
  display: block;
  height: 100%;
  background: #ecc37b;
  transform-origin: left;
  animation: market-intro-progress 2.5s ease-out both;
}
.market-intro__skip {
  position: absolute;
  z-index: 3;
  inset-inline-end: clamp(1rem, 4vw, 3rem);
  bottom: max(2rem, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 44px;
  padding: 0.65rem 1rem;
  border: 1px solid rgb(235 192 111 / 0.35);
  border-radius: 999px;
  color: #f4e4c2;
  background: rgb(7 18 31 / 0.75);
  font: inherit;
  font-size: 0.8rem;
  cursor: pointer;
}
.market-intro__skip:focus-visible {
  outline: 2px solid #f4c66d;
  outline-offset: 5px;
}
.market-intro__rings {
  position: absolute;
  width: min(70vw, 35rem);
  aspect-ratio: 1;
  perspective: 800px;
  opacity: 0.4;
}
.market-intro__rings i {
  position: absolute;
  inset: 0;
  border: 1px solid rgb(235 192 111 / 0.45);
  border-radius: 50%;
  transform: rotateX(65deg) rotateZ(-30deg);
}
.market-intro__rings i:nth-child(2) {
  transform: rotateY(65deg) rotateZ(30deg);
}
.market-intro__rings i:nth-child(3) {
  inset: 12%;
  border-style: dashed;
  transform: rotateX(-35deg) rotateY(30deg);
}
.market-intro-pending .market-intro__brand {
  animation: market-brand-reveal 2.5s both;
}
.market-intro-pending .market-intro__rings {
  animation: market-rings-reveal 2.5s both;
}
@keyframes market-brand-reveal {
  0%,
  30% {
    opacity: 0;
    transform: scale(0.86) translateY(12px);
  }
  65%,
  100% {
    opacity: 1;
    transform: none;
  }
}
@keyframes market-rings-reveal {
  0%,
  20% {
    opacity: 0;
    transform: scale(0.3) rotate(-20deg);
  }
  80%,
  100% {
    opacity: 0.4;
    transform: scale(1) rotate(0);
  }
}
@keyframes market-intro-progress {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}
@keyframes market-intro-failsafe {
  to {
    visibility: hidden;
    pointer-events: none;
  }
}
@media (max-width: 64rem) {
  .visual-tiles--illustrated {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.75fr);
  }
  .visual-tiles .public-tile {
    aspect-ratio: auto;
    min-height: 14rem;
  }
}
@media (max-width: 48rem) {
  .public-closing {
    grid-template-columns: minmax(0, 1fr);
  }
  .public-closing > a {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin-top: 0.75rem;
  }
  .visual-tiles--illustrated {
    grid-template-columns: 1fr;
  }
  .visual-tiles__art {
    height: clamp(18rem, 65vw, 26rem);
    min-height: 0;
    aspect-ratio: auto;
  }
  [data-public-site] .grid-2:has(> .public-tile) {
    grid-template-columns: minmax(0, 26rem);
  }
  [data-public-site] .grid-3:has(> .public-tile) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  [data-public-site] .public-tile {
    padding: 1.15rem;
  }
}
@media (max-width: 26rem) {
  .visual-tiles--illustrated .visual-tiles__grid,
  [data-public-site] .grid-3:has(> .public-tile) {
    grid-template-columns: 1fr;
  }
  .visual-tiles .public-tile {
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .market-intro {
    display: none !important;
  }
  .market-intro-pending {
    overflow: auto;
  }
  [data-public-site] .public-tile {
    transition: none;
  }
}
