/* Shared editorial layout: bounded photographs and consistent reading scales. */
:root { --fdn-layout-width: 1280px; --fdn-reading-width: 780px; --fdn-layout-gap: clamp(24px, 3vw, 40px); }
body { font-size: 1.0625rem; line-height: 1.65; }
body.is-rtl { font-family: Tahoma, "Segoe UI", Arial, sans-serif; }
.container, .fdn-topbar .container, .fdn-subbar .container,
.page-hero > .container.narrow, .local-hero > .container.narrow,
.section > .container.narrow, .section > .container.narrow.prose {
  max-width: var(--fdn-layout-width); padding-inline: clamp(20px, 3vw, 32px);
}
.container > :last-child { margin-bottom: 0; }
main .row > *, main [class*="-grid"] > *, main .content-grid > * { min-width: 0; }
main h1, main h2, main h3, .careers-recruitment-card p { overflow-wrap: anywhere; }
.page-hero h1, .hero h1, .local-hero h1, .pricing-hero-copy h1,
.directory-hero-copy h1, .glossary-hero h1, .careers-hero-copy h1,
.intl-hero-copy h1, .news-hero h1 {
  font-size: clamp(2rem, 2.6vw + 1rem, 3rem); line-height: 1.14;
  letter-spacing: -.025em; margin-bottom: 20px;
}
main h2 { font-size: clamp(1.5rem, 1vw + 1.2rem, 2rem); line-height: 1.25; }
main h3 { font-size: clamp(1.2rem, .35vw + 1.1rem, 1.4rem); line-height: 1.3; }
.section { padding-block: clamp(28px, 3vw, 44px); }
.page-hero, .hero, .local-hero, .directory-hero, .glossary-hero, .careers-hero, .pricing-hero, .news-hero {
  padding-block: clamp(30px, 4vw, 52px) clamp(28px, 3vw, 40px);
}
.section-heading { gap: 24px; margin-bottom: 24px; align-items: start; }
.section-heading > div { min-width: 0; flex: 1 1 55%; }
.section-heading > p { flex: 1 1 38%; max-width: 48ch; }
.prose, .guide-body, .article-body, .enrichment-reading { font-size: 1.0625rem; line-height: 1.75; }
.page-hero-copy, .guide-body, .guide-outline { min-width: 0; overflow-wrap: anywhere; }
.article-body { max-width: var(--fdn-reading-width); }
.enrichment-reading { max-width: 920px; }
.enrichment-reading > section, .enrichment-reading > nav { max-width: var(--fdn-reading-width); margin-inline: auto; }
.enrichment-reading > nav { padding: 24px; border: 1px solid var(--fdn-border); border-radius: 12px; background: var(--fdn-soft); }
.enrichment-reading > section:first-of-type { margin-top: 32px; }
.section > .container.narrow.prose > *, .section > .container.narrow > .prose > * { max-width: var(--fdn-reading-width); }
.content-grid { grid-template-columns: minmax(0, 1fr) minmax(280px, 330px); gap: var(--fdn-layout-gap); align-items: start; }
.article-body p, .guide-body p, .prose > p { max-width: 78ch; }
.prose h2, .guide-body h2 { font-size: clamp(1.5rem, .6vw + 1.25rem, 1.8rem); }
.site-hero-grid, .page-hero--contact .site-hero-grid, .page-hero--faq .site-hero-grid,
.local-hero--visual > .container.narrow, .pricing-hero-grid, .careers-hero-grid,
.directory-hero-grid, .glossary-hero-grid, .news-hero-grid, .legal-hero-grid {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .85fr); gap: var(--fdn-layout-gap); align-items: center;
}
.site-hero-figure, .hero-visual-stack .site-hero-figure, .local-hero-figure {
  min-height: 0; max-height: 340px; aspect-ratio: 16 / 10; width: 100%;
}
.hero-visual-stack { padding: 14px 16px 28px 0; }
.hero-visual-stack .site-hero-figure { min-height: 0; }
.directory-hero-panel, .careers-hero-panel, .intl-hero-panel { min-height: 300px; max-height: none; border-radius: 18px; }
.glossary-hero-visual { min-height: 260px; border-radius: 18px; }
.news-hero-panel { min-height: 260px; padding: 26px; }
.pricing-hero-image { max-height: 250px; }
.article-visual { max-width: 800px; margin-top: 24px; }
.article-visual img { max-height: 420px; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.content-photo { max-height: 320px; }
.content-photo--compact { height: auto; aspect-ratio: 16 / 9; }
.visual-story-grid { height: 440px; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(0, 1fr)); }
.visual-story-card, .visual-story-card--large { min-height: 0; }
.visual-story-card img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.visual-story-card > div { padding: 22px; }
.visual-story-card h3 { font-size: 1.35rem; }
.guides-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.guide-card { padding: 24px; height: 100%; }
.guide-card h3 { font-size: 1.35rem; line-height: 1.3; margin: 8px 0 14px; }
.guide-card-image { margin: -12px -12px 18px; }
.guide-card-image img { aspect-ratio: 16 / 10; max-height: 240px; }
.guide-card p { font-size: 1rem; line-height: 1.65; }
.article-card h2, .article-card h3, .news-card h2, .directory-card h3, .career-resource-card h3 { font-size: 1.35rem; line-height: 1.3; }
.example-card h2, .example-card h3, .service-row h3 { font-size: 1.4rem; line-height: 1.3; }
.service-row__visual figcaption, .deliverable-card-visual figcaption, .service-editorial-photo figcaption { font-size: .9rem; }
.service-row__visual--captioned, .deliverable-card-visual--captioned { max-height: none; }
.career-training-check li p, .career-training-check li strong, .career-resource-toolbar label,
.example-card p, .example-scenario-decision, .career-review, .example-review { font-size: 1rem; line-height: 1.65; }
.career-path-grid article, .career-resource-card, .directory-card, .news-card, .intl-card { min-height: 0; }
.service-selector-grid > a { min-height: 0; }
.timeline--graphic > div { min-height: 0; }
.career-path-grid article > span { margin-bottom: 22px; }
.fdn-footer { font-size: 1rem; }
.fdn-footer-grid { gap: 28px; }
.fdn-nav .nav-link { min-height: 36px; padding-block: 7px; }
@media (min-width: 992px) {
  .page-hero > .container:not(:has(.site-hero-grid, .legal-hero-grid)):not(.site-hero-grid) { max-width: 1000px; }
  .site-hero-grid--home { align-items: center; }
}
@media (max-width: 1100px) {
  .guides-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-grid { grid-template-columns: minmax(0, 1fr) minmax(250px, 300px); gap: 28px; }
  .section-heading { flex-wrap: wrap; }
}
@media (max-width: 991px) {
  .site-hero-grid, .page-hero--contact .site-hero-grid, .page-hero--faq .site-hero-grid,
  .local-hero--visual > .container.narrow, .pricing-hero-grid, .careers-hero-grid,
  .directory-hero-grid, .glossary-hero-grid, .news-hero-grid, .legal-hero-grid,
  .content-grid { grid-template-columns: minmax(0, 1fr); }
  .site-hero-figure, .local-hero-figure { width: min(100%, 640px); max-height: 340px; }
  .content-grid > aside { max-width: 780px; }
  .visual-story-grid { height: 400px; }
  .section-heading > div, .section-heading > p { flex-basis: 100%; }
}
@media (max-width: 767px) {
  .guides-grid { grid-template-columns: minmax(0, 1fr); }
  .section-heading { gap: 12px; }
  .site-hero-grid, .local-hero--visual > .container.narrow { gap: 22px; }
  .visual-story-grid { height: auto; grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .visual-story-card, .visual-story-card--large { height: 280px; grid-column: auto; grid-row: auto; }
  .article-visual img, .site-hero-figure, .hero-visual-stack .site-hero-figure { max-height: 260px; }
  .guide-card { padding: 22px; }
  .guide-card-image img { max-height: 230px; }
  .directory-hero-panel { min-height: 300px; padding: 30px 24px; }
  .directory-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .directory-metrics div { min-height: 0; padding: 12px 8px; }
  .directory-metrics strong { font-size: 1.45rem; }
  .directory-metrics span { font-size: .8rem; overflow-wrap: anywhere; }
  .service-row--photo .service-row__visual { max-width: 440px; }
  .fdn-footer-grid { gap: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .guide-card-image img, .visual-story-card img, .article-card-visual img { transition: none; }
}
.resource-hero { align-items: center; }
.careers-hero-grid { align-items: center; }
.careers-hero-panel { padding: 30px; }
.careers-hero-panel > strong { font-size: 80px; }
.careers-panel-title { margin-bottom: 18px; }
.careers-panel-label, .careers-panel-metrics span { font-size: .875rem; }
.resource-photo { width: 100%; margin: 0; overflow: hidden; border-radius: 14px; background: #fff; box-shadow: 0 10px 24px rgba(6, 32, 65, .10); }
.resource-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; max-height: 310px; object-fit: cover; }
.resource-photo figcaption { padding: 10px 14px; color: #4c5c70; font-size: .875rem; line-height: 1.5; }
.resource-photo figcaption a { color: #163a64; }
.resource-card { height: auto; }
.resource-card .resource-photo { margin-bottom: 20px; box-shadow: none; }
.resource-photo--card img { max-height: 215px; }
.resource-photo--card figcaption { padding-inline: 0; }
.resource-card > a { font-size: 1rem; }
.guide-card .guide-photo-credit { font-size: .875rem; line-height: 1.5; margin-top: -6px; margin-bottom: 14px; }
.guide-method-diagram { margin-block: 28px; }
.guide-method-diagram img { display: block; width: 100%; height: auto; }
.guide-method-diagram figcaption { margin-top: 10px; color: #4c5c70; font-size: .875rem; }
.resource-acceptance { padding-inline-start: 24px; }
.resource-acceptance li { padding-inline-start: 8px; margin-block: 12px; }
.resource-acceptance li::marker { color: #c90016; font-weight: 700; }
.enrichment-reading > section { margin-block: 36px; }
.fdn-nav .nav-link { font-size: .875rem; }
.portfolio-note, .closing-cta-benefits li, .tag-list li, .example-count,
.glossary-toolbar label, .form-note, .news-sources-section p,
.local-hero-figure figcaption { font-size: .875rem; line-height: 1.6; }
@media (max-width: 991px) { .resource-photo--hero { max-width: 640px; } }
@media (max-width: 767px) { .resource-photo--hero img { max-height: 240px; } }
