/* Keep navigation and contact controls visible on laptop-sized screens. */
.portal-options-grid,
.statement-gateway-grid {
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.portal-option-card,
.portal-option-card > div,
.portal-modal-card {
  min-width: 0;
  max-width: 100%;
}
.portal-option-card .option-title,
.portal-option-card .option-desc,
.portal-option-card .portal-domains {
  overflow-wrap: anywhere;
}
.portal-card-logo-box img { max-width: 100%; }
.portal-option-card.card-com .option-title,
.portal-option-card.card-ir .option-title { text-align: center !important; }
.industry-icon-badge {
  flex: none;
  display: grid;
  place-items: center;
  margin-inline: auto;
}
.industry-icon-badge svg {
  display: block;
  margin: 0;
}
.portal-modal-card {
  width: min(860px, 100%);
  max-height: calc(100vh - 3rem);
  max-height: calc(100dvh - 3rem);
  overflow-y: auto;
}
@media (max-width: 820px) {
  .portal-options-grid,
  .statement-gateway-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .portal-modal-overlay {
    width: 100%;
    height: 100dvh;
    padding: 12px;
  }
  .portal-modal-card {
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    padding: 3.5rem 1rem 1.25rem;
  }
  .portal-option-card { padding: 1.25rem 1rem; }
  .portal-modal-close-btn { min-width: 44px; min-height: 44px; }
  .portal-modal-footer { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  .industry-cards-grid { grid-template-columns: minmax(0, 1fr); }
  .catalog-nav .nav-container { flex-wrap: wrap; gap: .5rem; }
  .catalog-nav .nav-controls { max-width: 100%; }
  #about, #coverage, #hero { scroll-margin-top: 8rem; }
}
/* Keep the language choice short; full industry details remain on the page. */
@media (max-width: 820px) {
  .portal-modal-card { padding: 4.25rem .875rem .875rem; }
  .portal-modal-header { margin-bottom: .875rem; }
  .portal-modal-header .modal-brand-mark { display: none; }
  .portal-modal-title { font-size: 1.2rem; margin-bottom: .375rem; }
  .portal-modal-subtitle { font-size: .8rem; line-height: 1.5; }
  .portal-options-grid,
  .statement-gateway-grid { gap: .75rem; margin-bottom: .875rem; }
  .portal-options-grid .card-ir,
  .statement-gateway-grid .card-ir { order: -1; }
  .portal-options-grid .portal-option-card,
  .statement-gateway-grid .portal-option-card { padding: .75rem; gap: .5rem; }
  .portal-options-grid .portal-card-logo-box,
  .statement-gateway-grid .portal-card-logo-box {
    height: 48px;
    padding: .375rem .75rem;
    margin-bottom: .5rem;
  }
  .portal-options-grid .modal-card-logo-img,
  .statement-gateway-grid .modal-card-logo-img { max-height: 36px; }
  .portal-options-grid .option-title,
  .statement-gateway-grid .option-title { font-size: 1.05rem; margin-bottom: 0; }
  .portal-options-grid .option-desc,
  .portal-options-grid .portal-domains,
  .statement-gateway-grid .option-desc,
  .statement-gateway-grid .portal-domains { display: none; }
  .portal-options-grid .option-btn,
  .statement-gateway-grid .option-btn { min-height: 44px; padding: .5rem .875rem; }
  .portal-modal-footer { padding-top: .75rem; }
  .portal-modal-footer .modal-checkbox-label { font-size: .75rem; line-height: 1.5; }
}
/* Two short cards fit better beside each other on landscape phones. */
@media (max-width: 820px) and (max-height: 600px) {
  .portal-modal-subtitle { display: none; }
  .portal-modal-header { margin-bottom: .5rem; }
}
@media (min-width: 600px) and (max-width: 820px) and (max-height: 500px) {
  .portal-options-grid,
  .statement-gateway-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
.exhibition-announcement {
  background: linear-gradient(145deg, #0d1a36, #081124);
  color: #e2e8f0;
  border-color: rgba(47, 199, 211, .35);
  box-shadow: 0 12px 36px rgba(0, 0, 0, .45);
}
.exhibition-announcement .edition-number { color: #2fc7d3; }
.exhibition-announcement small { color: #b5c6df; }
.exhibition-announcement button { color: #b5c6df; }
.exhibition-announcement button:hover,
.exhibition-announcement button:focus-visible {
  color: #fff;
  background: rgba(47, 199, 211, .16);
  border-radius: 50%;
}
@media (min-width: 901px) and (max-width: 1500px) {
  .catalog-nav .nav-container {
    flex-wrap: wrap;
    row-gap: .65rem;
  }
  .catalog-nav .nav-menu-pill {
    order: 3;
    flex: 1 0 100%;
    justify-content: center;
  }
  #about, #coverage, #hero { scroll-margin-top: 9rem; }
}

/* Company introduction only: follow the selected language, not the gateway cards. */
#about > .statement-headline-box {
  box-sizing: border-box;
  max-width: 1120px;
  min-width: 0;
  width: 100%;
  margin-inline: auto;
  padding: clamp(1rem, 2.2vw, 2rem);
  border: 1px solid rgba(47, 199, 211, .25);
  border-inline-start: 3px solid var(--rastak-cyan, #2fc7d3);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(12, 25, 48, .96), rgba(7, 15, 30, .96));
  box-shadow: 0 16px 42px rgba(0, 0, 0, .22);
  direction: rtl;
  text-align: right;
  overflow-wrap: anywhere;
}
html[lang="fa"] #about > .statement-headline-box,
html[dir="rtl"] #about > .statement-headline-box {
  direction: rtl;
  text-align: right;
}
html[lang="en"] #about > .statement-headline-box,
html[dir="ltr"] #about > .statement-headline-box {
  direction: ltr;
  text-align: left;
}
#about > .statement-headline-box .statement-text {
  margin: 0;
  direction: inherit;
  text-align: inherit !important;
}
#about > .statement-headline-box .company-focus-list li::marker { color: #2fc7d3; }
#about > .statement-headline-box .company-focus-list {
  max-width: none;
  margin: 1rem 0 0;
  padding-inline-start: 1.25rem;
  padding-inline-end: 0;
  direction: inherit;
  text-align: inherit !important;
}
