/* Stage 43 — Yekan typography and larger, more legible public-page text. */
@font-face {
  font-family: 'Yekan';
  src: url('https://cdn.jsdelivr.net/gh/DediData/Yekan-Font@master/Yekan.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

/* Limit the new typeface to the pre-login experience; the authenticated GIS workspace is unchanged. */
.saj-landing,
.saj-login-modal,
.saj-help-modal,
.saj-about-modal {
  font-family: 'Yekan', Tahoma, Arial, sans-serif !important;
  font-synthesis: weight;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.saj-landing[data-lang="en"] { font-family: 'Yekan', Arial, Tahoma, sans-serif !important; }
.saj-login-modal[data-lang="en"],
.saj-help-modal[data-lang="en"],
.saj-about-modal[data-lang="en"] { font-family: 'Yekan', Arial, Tahoma, sans-serif !important; }
.saj-login-modal[data-lang="en"] .saj-login-card,
.saj-help-modal[data-lang="en"] .saj-help-card { font-family: 'Yekan', Arial, Tahoma, sans-serif !important; }
.saj-landing button,
.saj-landing a,
.saj-login-modal button,
.saj-login-modal input,
.saj-help-modal button,
.saj-about-modal button,
.saj-about-modal a { font-family: inherit; }

/* Main header and welcome copy */
.saj-brand-copy strong { font-size: clamp(20px, 2.1vw, 27px); }
.saj-brand-copy small { font-size: 13px; line-height: 1.9; }
.saj-nav a,.saj-nav button { font-size: 14px; min-height: 43px; }
.saj-language-label { font-size: 12px; }
.saj-language-switch button { font-size: 12px; min-height: 34px; min-width: 49px; }
.saj-kicker { font-size: 13px; }
.saj-intro-card h1 { font-size: clamp(29px, 2.65vw, 41px); line-height: 1.65; }
.saj-jnaf-context { font-size: clamp(15.5px, 1.2vw, 17px); line-height: 2.15; }
.saj-slogan { font-size: clamp(20px, 1.75vw, 25px); line-height: 1.95; }
.saj-feature strong { font-size: 16px; line-height: 1.85; }
.saj-feature small { font-size: 13px; line-height: 2; }
.saj-legal-title { font-size: 15px; }
.saj-legal-card p { font-size: 13px; line-height: 2.15; }
.saj-map-chip { font-size: 13px; }
.saj-parcel-heading { font-size: 15px; }
.saj-parcel-heading small { font-size: 11px; }
.saj-parcel-grid { font-size: 13px; }
.saj-parcel-note { font-size: 11px; }
.saj-map-cta { font-size: 13px; }
.saj-metric-top { font-size: 13px; }
.saj-metric-value { font-size: 13px; }
.saj-metric-value small { font-size: 11px; }
.saj-site-footer { font-size: 14px; }

/* Login and help dialogs */
.saj-login-card h2,.saj-help-card h2 { font-size: 24px; }
.saj-login-card p,.saj-help-card p { font-size: 15px; line-height: 2.1; }
.saj-field label { font-size: 14px; }
.saj-field input { font-size: 17px; }
.saj-login-error { font-size: 14px; }
.saj-submit-login { font-size: 16px; min-height: 52px; }
.saj-text-button { font-size: 13px; }
.saj-close-button { font-size: 14px; }
.saj-login-security { font-size: 12.5px; line-height: 2.1; }
.saj-help-card ul { font-size: 14.5px; line-height: 2.25; }

/* About profile: wider reading area, stronger hierarchy, and comfortable paragraph sizing. */
.saj-about-card { width: min(100%, 1080px); height: min(94dvh, 960px); }
.saj-about-head { padding: 27px clamp(20px, 3.2vw, 40px) 21px; }
.saj-about-eyebrow { font-size: 14px; margin-bottom: 7px; }
.saj-about-head h2 { font-size: 32px; line-height: 1.55; }
.saj-about-head p { font-size: 15px; line-height: 2; }
.saj-about-close { flex-basis: 43px; width: 43px; height: 43px; font-size: 28px; }
.saj-about-body { padding: clamp(20px, 3vw, 34px); }
.saj-about-lead { padding: 22px 24px; font-size: 16px; line-height: 2.2; }
.saj-about-section { margin-top: 27px; }
.saj-about-section h3,.saj-about-contact h3 { font-size: 20px; line-height: 1.85; margin-bottom: 14px; }
.saj-about-section p { font-size: 15px; line-height: 2.25; }
.saj-about-grid { gap: 14px; }
.saj-about-grid article { padding: 18px 19px; border-radius: 16px; background: linear-gradient(145deg,rgba(7,48,75,.82),rgba(4,31,53,.76)); }
.saj-about-grid h4 { font-size: 16px; line-height: 1.9; margin-bottom: 9px; }
.saj-about-grid p { font-size: 14px; line-height: 2.15; }
.saj-about-site-link { font-size: 14px; padding: 9px 14px; }
.saj-about-collab { padding: 20px 22px; }
.saj-about-contact { padding: 21px; }
.saj-about-contact-grid { gap: 12px; }
.saj-about-contact-grid a { padding: 15px 16px; gap: 7px; }
.saj-about-contact-grid a span { font-size: 12px; }
.saj-about-contact-grid a b { font-size: 14px; }
.saj-about-signoff { font-size: 14px; line-height: 2.1; }

@media (max-width: 1050px) {
  .saj-nav a,.saj-nav button { font-size: 13px; }
  .saj-feature strong { font-size: 14px; }
  .saj-feature small { font-size: 12px; }
  .saj-legal-card p { font-size: 12px; }
}
@media (max-width: 760px) {
  .saj-brand-copy strong { font-size: 21px; }
  .saj-brand-copy small { font-size: 12px; }
  .saj-nav a,.saj-nav button { font-size: 12.5px; min-height: 42px; }
  .saj-language-switch button { font-size: 11.5px; }
  .saj-intro-card h1 { font-size: 28px; line-height: 1.7; }
  .saj-kicker { font-size: 12px; }
  .saj-jnaf-context { font-size: 15px; line-height: 2.1; }
  .saj-slogan { font-size: 19px; }
  .saj-feature strong { font-size: 13px; }
  .saj-feature small { font-size: 11px; line-height: 1.9; }
  .saj-legal-title { font-size: 14px; }
  .saj-legal-card p { font-size: 12px; line-height: 2.1; }
  .saj-map-chip { font-size: 11.5px; }
  .saj-parcel-heading { font-size: 13px; }
  .saj-parcel-heading small { font-size: 10px; }
  .saj-parcel-grid { font-size: 11.5px; }
  .saj-parcel-note { font-size: 10.5px; }
  .saj-map-cta { font-size: 11.5px; }
  .saj-metric-top { font-size: 10.5px; }
  .saj-metric-value { font-size: 11px; }
  .saj-metric-value small { font-size: 9.5px; }
  .saj-login-card h2,.saj-help-card h2 { font-size: 22px; }
  .saj-login-card p,.saj-help-card p { font-size: 14px; }
  .saj-field label { font-size: 13.5px; }
  .saj-help-card ul { font-size: 13.5px; }
  .saj-about-card { height: min(95dvh, 960px); border-radius: 20px; }
  .saj-about-head { padding: 19px 17px 16px; }
  .saj-about-eyebrow { font-size: 12.5px; }
  .saj-about-head h2 { font-size: 25px; }
  .saj-about-head p { font-size: 13px; line-height: 1.9; }
  .saj-about-body { padding: 16px; }
  .saj-about-lead { padding: 17px; font-size: 15px; line-height: 2.15; }
  .saj-about-section { margin-top: 23px; }
  .saj-about-section h3,.saj-about-contact h3 { font-size: 18px; line-height: 1.8; }
  .saj-about-section p { font-size: 14px; line-height: 2.15; }
  .saj-about-grid { grid-template-columns: 1fr; gap: 11px; }
  .saj-about-grid article { padding: 15px 16px; }
  .saj-about-grid h4 { font-size: 15px; }
  .saj-about-grid p { font-size: 13.5px; line-height: 2.1; }
  .saj-about-site-link { font-size: 13px; }
  .saj-about-contact-grid { grid-template-columns: 1fr; }
  .saj-about-contact-grid a span { font-size: 11.5px; }
  .saj-about-contact-grid a b { font-size: 13.5px; }
  .saj-about-signoff { font-size: 13px; }
}
@media (max-width: 380px) {
  .saj-nav a,.saj-nav button { font-size: 11px; }
  .saj-brand-copy small { font-size: 11px; }
  .saj-intro-card h1 { font-size: 25px; }
  .saj-jnaf-context { font-size: 14px; }
  .saj-feature strong { font-size: 12px; }
  .saj-feature small { font-size: 10px; }
  .saj-legal-card p { font-size: 11.5px; }
  .saj-about-head h2 { font-size: 23px; }
  .saj-about-lead { font-size: 14px; }
  .saj-about-section p { font-size: 13.5px; }
  .saj-about-grid h4 { font-size: 14px; }
  .saj-about-grid p { font-size: 12.5px; }
}
