/* Najwa Hamdan — responsive bilingual editorial text treatment (2026-10-15)
   Justification is a visitor preference, not a prerequisite for comprehension.
   Names, nav, headings, labels and short UI strings stay aligned normally. */
:root { --nh-reading-width: 76ch; }
main p, main li, main dd, main blockquote, main figcaption,
footer p, .writing-original, .review-card blockquote p,
.case-card dd, .writing-card p, .writing-feature-card p,
.service-card-detail p, .rich-copy p {
  text-align: justify;
  text-align-last: start;
  text-justify: inter-word;
  overflow-wrap: break-word;
}
html[lang="en"] main p, html[lang="en"] main li,
html[lang="en"] main dd,html[lang="en"] main blockquote,
html[lang="en"] main figcaption,html[lang="en"] footer p,
html[lang="en"] .writing-original {
  hyphens: auto;
  -webkit-hyphens: auto;
  hyphenate-limit-chars: 7 3 3;
}
/* Improve line rhythm and limit eye travel in longer passages. */
.writing-original, .writing-single-main, .insight-article,
.testimonial-grid > .review-card > blockquote { max-width: 100%; }
.writing-original p, .rich-copy p, .insight-article p { line-height: 2.05; }
html[lang="en"] .writing-original p,
html[lang="en"] .rich-copy p,html[lang="en"] .insight-article p {line-height: 1.88;}
/* Alternative reading alignment is available to each visitor (WCAG 2.2 SC 1.4.8 AAA). */
html.nh-align-natural main p, html.nh-align-natural main li,
html.nh-align-natural main dd, html.nh-align-natural main blockquote,
html.nh-align-natural main figcaption, html.nh-align-natural footer p,
html.nh-align-natural .writing-original,html.nh-align-natural .review-card blockquote p,
html.nh-align-natural .case-card dd,html.nh-align-natural .writing-card p,
html.nh-align-natural .writing-feature-card p,
html.nh-align-natural .service-card-detail p,
html.nh-align-natural .rich-copy p{
  text-align: start;
  hyphens: manual;
}
.nh-align-toggle{
  display: inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.38);
  color: #e7ecf3;
  background: transparent;
  padding: 8px 13px;
  border-radius: 3px;
  cursor:pointer;
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1.6;
  text-align:center;
}
.nh-align-toggle:hover,.nh-align-toggle:focus-visible{
  background: rgba(255,255,255,.12);
  outline-offset:3px;
}
/* Give the footer control its own measured space without squeezing copyright text. */
.footer .bottom {flex-wrap: wrap; align-items:center; row-gap:13px;}
.nh-align-preference{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
@media (max-width:700px){
  main p, main li, main dd, main blockquote, main figcaption,
  .writing-original,.review-card blockquote p {
     overflow-wrap:break-word;
  }
  .writing-original p,.rich-copy p{line-height:1.97;}
  .footer .bottom{align-items:flex-start}
}

/* Small screens and brief, poetic paragraphs need natural spacing by default.
   Visitors can explicitly opt back into justification using the footer toggle. */
@media(max-width:700px){
  html:not(.nh-align-justified) main p,
  html:not(.nh-align-justified) main li,
  html:not(.nh-align-justified) main dd,
  html:not(.nh-align-justified) main blockquote,
  html:not(.nh-align-justified) main figcaption,
  html:not(.nh-align-justified) .writing-original,
  html:not(.nh-align-justified) .review-card blockquote p,
  html:not(.nh-align-justified) .case-card dd,
  html:not(.nh-align-justified) .writing-card p,
  html:not(.nh-align-justified) .writing-feature-card p,
  html:not(.nh-align-justified) .service-card-detail p,
  html:not(.nh-align-justified) .rich-copy p {text-align:start;hyphens:manual;}
}
