@font-face { font-family: Vazirmatn; src: url('assets/fonts/Vazirmatn-variable.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }

/* One compact language control, using the same glass surface as navigation. */
.topbar { grid-template-columns: minmax(154px,1fr) 44px 154px; }
body.inner-body .inner-topbar { grid-template-columns: minmax(0,1fr) auto 76px auto; }
.language-toggle { position: relative; z-index: 2; display: inline-flex; align-items: center; justify-content: center; gap: 0; align-self: center; justify-self: center; width: 44px; min-height: 42px; padding: 5px; color: #e8f3fa; background: rgba(3,16,29,.9); border: 1px solid rgba(218,237,248,.2); border-radius: 999px; cursor: pointer; font: 500 11px/1.5 Vazirmatn, Arial, sans-serif; white-space: nowrap; transition: background .25s, border-color .25s; }
.topbar .language-toggle { background: rgba(3,16,29,.9); }
.language-toggle:hover { background: #071b2d; border-color: rgba(145,211,246,.5); }
.language-toggle:focus-visible, .topbar .language-toggle:focus-visible { outline: 2px solid #91d3f6; outline-offset: -3px; background: #071b2d; }

html[lang="fa"] body { font-family: Vazirmatn, Tahoma, sans-serif; }
html[lang="fa"] :is(h1,h2,h3,p,span,small,strong,b,dt,dd,time,a,button,label,li,text) { letter-spacing: 0 !important; }
html[lang="fa"] :is(h1,h2,h3) { line-height: 1.45; font-weight: 500; }
html[lang="fa"] :is(p,li,dd) { line-height: 1.9; }
html[lang="fa"] :is(.loader-signature,.loader-copy p,.loader-stops,.loader-bottomline,svg text) { font-family: Vazirmatn, Tahoma, sans-serif; }
html[lang="fa"] svg text { direction: rtl; unicode-bidi: plaintext; }
html[lang="fa"] :is(.brand,.inner-brand) { padding-inline: 4px 13px; }
html[lang="fa"] :is(.brand-copy b,.inner-brand-copy b) { line-height: 1.5; }
html[lang="fa"] :is(.brand-copy small,.inner-brand-copy small) { line-height: 1.5; }
html[lang="fa"] .header-energy { left: auto; right: 0; }
html[lang="fa"] .menu-cards { left: auto; right: 0; }
html[lang="fa"] :is(.header-project i,.home-link span,.about-button i,.pill-link i,.story-link i,.error-actions a > span,.mobile-nav a i) { transform: scaleX(-1); }
html[lang="fa"] .article-back::before { content: "→"; }
html[lang="fa"] .maritime-message :is(h1,h2) { font-size: clamp(34px,4.4vw,68px); line-height: 1.5; font-weight: 400; }
html[lang="fa"] .maritime-eyebrow { line-height: 1.8; font-size: 12px; }
html[lang="fa"] .maritime-power h2 { font-size: clamp(34px,4.3vw,66px); line-height: 1.5; }
html[lang="fa"] .maritime-capabilities { text-align: start; }
html[lang="fa"] .maritime-capabilities strong { line-height: 1.7; font-size: clamp(19px,1.7vw,26px); }
html[lang="fa"] .maritime-capabilities small { display: block; line-height: 1.9; }
html[lang="fa"] .maritime-capabilities > div { border-left: 1px solid #dae1e5; border-right: 0; }
html[lang="fa"] .maritime-capabilities > div:first-child { border-right: 1px solid #dae1e5; }
/* Keep the physical camera and card placement intact, not a mirrored 3D world. */
html[lang="fa"] .story-ui .chapter-card h2 { font-size: clamp(29px,3vw,46px); line-height: 1.5; }
html[lang="fa"] .story-ui .chapter-content > p { line-height: 1.9; }
html[lang="fa"] .story-ui .chapter-card dd { font-size: 18px; line-height: 1.8; }
html[lang="fa"] .story-ui .chapter-card dl div + div { padding-left: 0; padding-right: 0; border: 0; }
html[lang="fa"] .home-section-heading h2 { font-size: clamp(34px,3.8vw,60px); line-height: 1.5; }
html[lang="fa"] :is(.product-panel h3,.delivery-step h3,.footprint-panel h3) { line-height: 1.55; }
html[lang="fa"] .site-footer.contact-panel .contact-heading h2 { font-size: clamp(38px,4.4vw,66px); line-height: 1.45; }
html[lang="fa"] .contact-panel .contact-grid > div { border-left: 0; border-right: 1px solid #ffffff24; }
html[lang="fa"] .contact-panel .contact-grid > :first-child { padding-left: 22px; padding-right: 0; }
html[lang="fa"] .contact-panel .contact-grid > :last-child { padding-left: 0; padding-right: 22px; }
html[lang="fa"] .contact-panel .contact-grid p { line-height: 1.9; }
html[lang="fa"] :is(.contact-mail,.contact-email a,input[type="email"],input[type="tel"],.delivery-terms) { direction: ltr; unicode-bidi: isolate; }
html[lang="fa"] :is(input[type="email"],input[type="tel"]) { text-align: left; }
html[lang="fa"] .loader-meter { text-align: start; }
html[lang="fa"] .loader-copy h2 { font-size: clamp(34px,3.8vw,54px); line-height: 1.5; }
html[lang="fa"] .preloader-track > span { transform-origin: right; }
html[lang="fa"] .preloader-track > i { left: auto; right: calc(var(--loader-progress) * 100%); }

html[lang="fa"] body.inner-body .editorial-hero h1 { font-size: clamp(40px,5.1vw,76px); line-height: 1.55; }
html[lang="fa"] :is(.hero-brief p,.story-copy p,.journal-cta-side p,.contact-intro,.contact-method p,.enquiry-head p,.principles-list p) { line-height: 1.95; }
html[lang="fa"] :is(.story-copy h3,.journal-cta h2,.contact-details h2,.enquiry-head h2,.about-section h2,.about-principles h2,.about-next h2) { line-height: 1.55; }
html[lang="fa"] .story-no { left: auto; right: 18px; }
html[lang="fa"] .select-trigger, html[lang="fa"] .select-menu button { text-align: start; }
html[lang="fa"] .select-menu button[aria-selected="true"]::before { left: auto; right: 0; }
html[lang="fa"] .article-hero h1 { font-size: clamp(42px,5.5vw,82px); line-height: 1.5; }
html[lang="fa"] .article-hero-image::after { background: linear-gradient(270deg,rgba(2,15,29,.94),rgba(3,26,46,.68) 58%,rgba(2,14,26,.24)),linear-gradient(0deg,rgba(2,15,29,.7),transparent 55%); }
html[lang="fa"] .article-index a { border-left: 0; border-right: 1px solid var(--line); }
html[lang="fa"] .article-index a.is-active { transform: translateX(-7px); border-right-color: var(--navy); }
html[lang="fa"] .article-body h2 { font-size: clamp(30px,3.3vw,48px); line-height: 1.6; }
html[lang="fa"] .article-body p { line-height: 2.1; }
html[lang="fa"] .article-page .article-lead { padding: 0 26px 32px 0; border-left: 0; border-right: 3px solid var(--signal); }
html[lang="fa"] .article-body blockquote { padding: 10px 34px 10px 0; border-left: 0; border-right: 3px solid var(--signal); line-height: 1.8; font-size: clamp(24px,2.5vw,36px); }
html[lang="fa"] .about-facts dd { line-height: 1.6; }
html[lang="fa"] .site-coordinate { padding-left: 0; padding-right: 14px; }
html[lang="fa"] .about-site::before { left: auto; right: 42px; }
html[lang="fa"] .principles-list article { padding-left: 0; padding-right: 22px; }
html[lang="fa"] .principles-list article::before { left: auto; right: 0; }
html[lang="fa"] .error-copy h1 { font-size: clamp(48px,5.8vw,88px); line-height: 1.65; }
html[lang="fa"] .error-description { line-height: 2; }
html[lang="fa"] .error-diagram-labels { font-size: 11px; }
html[lang="fa"] .error-diagram-labels text { text-anchor: end; }
html[lang="fa"] .error-visual { margin-inline: -2vw -3vw; }

@media (max-width:1080px) {
  body.inner-body .inner-topbar { grid-template-columns: minmax(0,1fr) 76px auto; }
}
@media (max-width:980px) {
  .topbar { grid-template-columns: minmax(0,1fr) 40px 116px 42px; }
  .topbar .header-project { padding: 0; }
  .topbar .menu-toggle { width: 42px; }
  html[lang="fa"] .maritime-capabilities > div:nth-child(3) { border-left: 1px solid #dae1e5; border-right: 1px solid #dae1e5; }
  html[lang="fa"] .contact-panel .contact-grid > :first-child, html[lang="fa"] .contact-panel .contact-grid > :last-child { padding: 12px 14px; }
  html[lang="fa"] .contact-panel .contact-grid > :nth-child(odd) { border-right: 0; }
}
@media (max-width:720px) {
  body.inner-body .inner-topbar { grid-template-columns: minmax(0,1fr) 70px 50px; }
  .language-toggle { width: 40px; min-height: 40px; font-size: 10px; gap: 0; }
  html[lang="fa"] :is(.brand,.inner-brand) { padding: 2px 10px 2px 3px; gap: 6px; }
  html[lang="fa"] .brand-copy b { font-size: 13px; }
  html[lang="fa"] .menu-cards { left: auto; right: 0; }
  html[lang="fa"] .story-ui .chapter-card h2 { font-size: clamp(26px,7vw,34px); line-height: 1.55; margin-block: 10px; }
  html[lang="fa"] .story-ui .chapter-content > p { font-size: 13px; line-height: 1.95; }
  html[lang="fa"] .story-ui .chapter-card dd { font-size: 15px; }
  html[lang="fa"] .story-ui .chapter-card dt { font-size: 10px; line-height: 1.7; }
  html[lang="fa"] .home-section-heading h2 { font-size: clamp(30px,7.8vw,42px); }
  html[lang="fa"] .site-footer.contact-panel .contact-heading h2 { font-size: clamp(32px,8.3vw,46px); }
  html[lang="fa"] body.inner-body .editorial-hero h1 { font-size: clamp(34px,8.8vw,48px); line-height: 1.6; }
  html[lang="fa"] .article-hero h1 { font-size: clamp(34px,8.8vw,48px); line-height: 1.6; }
  html[lang="fa"] .article-index a { border: 1px solid var(--line); }
  html[lang="fa"] .article-index a.is-active { transform: none; }
  html[lang="fa"] .article-page .article-lead { padding: 0 18px 24px 0; }
  html[lang="fa"] .error-copy h1 { font-size: clamp(38px,11vw,58px); line-height: 1.6; }
  html[lang="fa"] .error-visual { margin-inline: -18px; }
  html[lang="fa"] .error-actions { flex-direction: column; }
  html[lang="fa"] .error-actions a { flex: auto; }
}
@media (max-width:620px) {
  html[lang="fa"] .maritime-message :is(h1,h2) { font-size: clamp(29px,7.8vw,40px); }
  html[lang="fa"] .maritime-eyebrow { font-size: 10px; }
  html[lang="fa"] .maritime-capabilities strong { font-size: 20px; }
  html[lang="fa"] .contact-panel .contact-grid > div { border-right: 0; }
  html[lang="fa"] .contact-panel .contact-grid > :first-child, html[lang="fa"] .contact-panel .contact-grid > :last-child { padding: 9px 0; }
  html[lang="fa"] .contact-panel .contact-grid small { font-size: 11px; }
  html[lang="fa"] .contact-panel .contact-grid p { font-size: 12px; }
  html[lang="fa"] .about-site::before { right: 26px; }
  html[lang="fa"] .about-timeline::before { left: auto; right: 9px; }
  html[lang="fa"] .about-timeline li { padding-left: 0; padding-right: 40px; }
  html[lang="fa"] .history-mark { left: auto; right: 0; }
}
@media (max-height:700px) and (max-width:720px) {
  html[lang="fa"] .story-ui .chapter-card { padding: 16px 20px; }
  html[lang="fa"] .story-ui .chapter-card h2 { font-size: 25px; line-height: 1.45; }
  html[lang="fa"] .story-ui .chapter-content > p { font-size: 12px; line-height: 1.85; }
}
@media (max-width:360px) {
  .topbar { grid-template-columns: minmax(0,1fr) 38px 100px 38px; }
  .topbar .menu-toggle { width: 38px; }
  .topbar .brand { gap: 4px; }
  .topbar .brand-mark { width: 35px; height: 36px; }
  .topbar .brand-mark img { width: 35px; height: 27px; }
  .topbar .brand-copy b { font-size: 12px; }
}
