/* Editorial content surfaces shared by public pages, investor tools and chat.
   Colours are drawn from the Zawaya ivory, stone, olive and gold palette. */
:root {
  --content-surface: #faf9f5;
  --content-sand: #e7e0d0;
  --content-ink: #262820;
  --content-muted: #565c4f;
  --content-border: #d8d4c6;
  --content-gold: #745c2b;
  --content-radius: 22px;
  --content-gap: clamp(18px, 2vw, 30px);
  --content-pad: clamp(24px, 2.8vw, 44px);
}
.info-panel {
  --panel-bg: var(--content-surface);
  --panel-ink: var(--content-ink);
  --panel-muted: var(--content-muted);
  --panel-border: var(--content-border);
  --panel-accent: var(--content-gold);
  min-width: 0;
  padding: var(--content-pad);
  background: var(--panel-bg);
  border: 1px solid var(--panel-border);
  border-radius: var(--content-radius);
  color: var(--panel-ink);
  overflow-wrap: anywhere;
}
.info-panel--sand { --panel-bg: var(--content-sand); --panel-border: #d2c7b0; }
.info-panel--dark {
  --panel-bg: #2c352b;
  --panel-ink: #f4f1e8;
  --panel-muted: #d0d5c8;
  --panel-border: #505d49;
  --panel-accent: #d1b772;
}
.info-panel__icon {
  display: flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; flex: 0 0 56px;
  border: 1px solid var(--panel-accent); border-radius: 50%;
  color: var(--panel-accent); margin-bottom: 22px;
}
.content-icon { width: 28px; height: 28px; display: block; flex: none; }
.info-panel > :is(h2, h3) {
  color: var(--panel-ink); font-size: clamp(1.25rem, 1.65vw, 1.625rem);
  line-height: 1.65; margin: 0 0 18px; letter-spacing: 0;
}
.info-panel > p, .info-panel > div > p {
  font-size: clamp(1rem, 1.15vw, 1.125rem); line-height: 1.95;
  color: var(--panel-muted); max-width: 72ch;
}
.info-panel > p + p { margin-top: 16px; }
.info-panel > .eyebrow, .info-panel > .portal-eyebrow, .info-panel__eyebrow {
  display: block; font-size: .875rem; color: var(--panel-accent); margin-bottom: 14px;
}
.info-panel .text-link { margin-top: 16px; }
.info-panel--row { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 24px; align-items: start; }
.info-panel--row .info-panel__icon { margin-bottom: 0; }
.info-panel--row h3 { color: var(--panel-ink); font-size: clamp(1.2rem, 1.6vw, 1.5rem); line-height: 1.65; }
.info-panel--dark :is(h2, h3, .latin) { color: var(--panel-ink); }
.info-panel--dark p { color: var(--panel-muted); }

/* Project chapters: an individual, balanced area for each list and its heading. */
.content-section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--content-gap); align-items: stretch; }
.content-section.info-panel { display: block; grid-column: auto; padding: var(--content-pad); }
.content-section.info-panel:nth-child(4n + 2) { --panel-bg: #eae5d9; }
.content-section.info-panel:last-child:nth-child(odd) { grid-column: 1 / -1; }
.content-section.info-panel .info-panel__icon { margin-inline: auto; }
.content-section.info-panel > h3 { text-align: center; margin-bottom: 24px; }
.content-section.info-panel > p { max-width: 68ch; margin-inline: auto; }
.content-section.info-panel .editorial-list { max-width: 68ch; margin: 0 auto; color: var(--panel-muted); }
.content-section.info-panel > p + .editorial-list { margin-top: 22px; }
.content-section.info-panel .editorial-list li { margin: 0; padding: 13px 24px 13px 0; line-height: 1.95; font-size: clamp(1rem, 1.15vw, 1.125rem); }
.content-section.info-panel .editorial-list li + li { border-top: 1px solid var(--panel-border); }
.content-section.info-panel .editorial-list li::before { width: 6px; height: 6px; top: calc(13px + .78em); border: 1px solid var(--panel-accent); background: transparent; transform: rotate(45deg); }
.project-story-grid { gap: clamp(32px, 6vw, 90px); }
.project-story-copy.info-panel { max-width: none; }
.project-story-copy .project-facts { margin-top: 28px; gap: 20px; }
.project-vision-grid { gap: var(--content-gap); }
.project-vision-grid .info-panel p { font-size: clamp(1rem, 1.2vw, 1.125rem); }

/* Home and company copy retains its editorial layout inside a readable surface. */
.intro-grid { gap: clamp(32px, 6vw, 90px); }
.intro-copy.info-panel { max-width: none; padding: var(--content-pad); }
.intro-copy.info-panel p:first-of-type { font-size: clamp(1.125rem, 1.4vw, 1.375rem); color: var(--panel-ink); }
.intro-copy.info-panel .secondary-copy { margin-block: 18px; color: var(--panel-muted); }
.saudi-heading.info-panel { padding: var(--content-pad); margin-bottom: 24px; }
.saudi-heading.info-panel h3 { font-size: clamp(1.35rem, 2vw, 1.9rem); }
.investment-grid > .info-panel p { font-size: clamp(1rem, 1.3vw, 1.2rem); }

/* Development and service sequences use the same spacing, not full-width rules. */
.service-rows, .process-steps, .digital-process > ol { display: grid; gap: 18px; }
.service-rows > article.info-panel, .service-rows > article.info-panel:first-child,
.process-steps > li.info-panel { padding: var(--content-pad); gap: 24px; grid-template-columns: 56px minmax(0, 1fr); border: 1px solid var(--panel-border); }
.process-steps .info-panel .process-number { font: 400 1.25rem/1 var(--body-font); color: var(--panel-accent); width: 56px; height: 56px; display: grid; place-items: center; border: 1px solid var(--panel-border); border-radius: 50%; }
.development-values { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--content-gap); }
.development-values .value-item { padding: var(--content-pad); }
.explore-steps { gap: var(--content-gap); }
.explore-step.info-panel { padding: var(--content-pad); border-top: 1px solid var(--panel-border); }
.arc-principles { gap: var(--content-gap); }
.arc-principles > article.info-panel { padding: var(--content-pad); border: 1px solid var(--panel-border); }
.arc-principles > article.info-panel > .info-panel__icon { display: flex; margin-bottom: 22px; }
.arc-principles > article.info-panel > .info-panel__eyebrow { color: var(--panel-accent); font-size: .875rem; }
.digital-detail-body { gap: var(--content-gap); align-items: start; }
.digital-detail-description.info-panel, .digital-deliverables.info-panel { padding: var(--content-pad); }
.digital-detail-description.info-panel > h2, .digital-deliverables.info-panel > h2 { font-size: clamp(1.3rem, 1.9vw, 1.75rem); }
.digital-deliverables.info-panel li { padding-block: 13px; }
.digital-use-cases > div { gap: var(--content-gap); }
.digital-use-cases article.info-panel { padding: var(--content-pad); }
.digital-use-cases article.info-panel h3 { font-size: clamp(1.125rem, 1.4vw, 1.4rem); }
.digital-process > ol > li.info-panel { padding: 26px; border: 1px solid var(--panel-border); margin: 0; }
.digital-process .info-panel > .latin { font-size: 1rem; }

/* Reading surfaces for stories, legislation, policies and investor explanations. */
.story-chapter-copy.info-panel { padding: var(--content-pad); }
.story-chapter-copy.info-panel > h2 { font-size: clamp(1.5rem, 2.2vw, 2.2rem); }
.story-value .story-prose.info-panel { padding: var(--content-pad); }
.story-value .story-prose.info-panel p { color: var(--panel-muted); }
.policy-section.info-panel { margin-bottom: 22px; padding: clamp(24px, 3vw, 38px); }
.policy-section.info-panel > h2 { font-size: clamp(1.25rem, 1.7vw, 1.6rem); }
.policy-prose .policy-section.info-panel > p { max-width: none; }
.policy-prose .policy-section.info-panel > .policy-section-number { font-size: .8125rem; color: var(--panel-accent); }
.policy-prose .policy-section.info-panel > .policy-source { font-size: .875rem; }
.law-reading-content > section.info-panel { padding: var(--content-pad); margin-bottom: 24px; }
.study-chapter.info-panel { padding: var(--content-pad); margin-bottom: 24px; }
.study-chapter.info-panel h2 { font-size: clamp(1.35rem, 1.8vw, 1.65rem); }
.sim-insights { gap: var(--content-gap); }
.sim-insights > article.info-panel { padding: 26px; border: 1px solid var(--panel-border); }
.sim-ai-project.info-panel { margin-block: 20px; padding: 26px; }
.arc-result-grid { gap: var(--content-gap); }
.arc-result-grid > div.info-panel { padding: var(--content-pad); }
.twin-space.info-panel { padding: var(--content-pad); margin-bottom: 20px; }
.tracking-response.info-panel { padding: 26px; }
.auction-section.info-panel { padding: var(--content-pad); margin-bottom: 24px; }
.contract-description.info-panel { padding: var(--content-pad); margin-top: 24px; }

/* The assistant uses compact versions of the same surfaces, including AJAX replies. */
.assistant-side-note.info-panel { padding: 24px; margin-top: 20px; }
.assistant-side-note.info-panel > .info-panel__icon { display: flex; font-size: inherit; }
.assistant-side-note.info-panel h2 { font-size: 1.2rem; }
.assistant-side-note.info-panel p { font-size: 1rem; }
.assistant-filter-panel { background: var(--content-surface); border: 1px solid var(--content-border); border-radius: var(--content-radius); padding: 22px; }
.assistant-preferences { padding: 0; background: transparent; border: 0; }
.assistant-bubble.info-panel { border: 1px solid var(--panel-border); padding: 24px; border-radius: 20px; }
.assistant-bubble.info-panel > p { font-size: 1rem; }
.assistant-bubble.info-panel .assistant-author { color: var(--panel-accent); margin-bottom: 12px; }
.assistant-result { border-radius: 16px; }
.assistant-result-copy { padding: 20px; }
.assistant-privacy-note { background: #ece7dc; border: 1px solid var(--content-border); border-radius: 12px; padding: 14px 16px; line-height: 1.9; }
.assistant-embedded .assistant-bubble.info-panel { padding: 18px; }
.assistant-embedded .assistant-filter-panel { padding: 16px; }

@media (min-width: 1800px) {
  .content-section-grid, .project-vision-grid, .development-values { max-width: 1680px; margin-inline: auto; }
}
@media (max-width: 1000px) {
  .arc-principles { grid-template-columns: 1fr; }
  .service-rows > article.info-panel, .process-steps > li.info-panel { gap: 18px; }
}
@media (max-width: 760px) {
  :root { --content-radius: 18px; --content-pad: 24px; }
  .content-section-grid, .development-values { grid-template-columns: 1fr; gap: 18px; }
  .content-section.info-panel:last-child:nth-child(odd) { grid-column: auto; }
  .content-section.info-panel > h3 { font-size: 1.375rem; }
  .info-panel__icon { width: 48px; height: 48px; flex-basis: 48px; }
  .content-icon { width: 25px; height: 25px; }
  .service-rows > article.info-panel, .process-steps > li.info-panel { grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 22px; }
  .service-rows .info-panel__icon, .process-steps .info-panel .process-number { width: 44px; height: 44px; }
  .digital-process > ol > li.info-panel { grid-template-columns: 30px minmax(0, 1fr); gap: 14px; padding: 22px; }
  .story-chapter-copy.info-panel { padding: 24px; }
  .assistant-side-note.info-panel { margin-top: 16px; }
}
@media (max-width: 420px) {
  .service-rows > article.info-panel { display: block; }
  .service-rows .info-panel__icon { margin-bottom: 18px; }
  .digital-detail-description.info-panel, .digital-deliverables.info-panel { padding: 22px; }
}
@media print {
  .info-panel { background: white; color: black; border-color: #bbb; padding: 16px; break-inside: auto; }
  .info-panel__icon { display: none; }
  .info-panel--dark { --panel-ink: black; --panel-muted: #222; }
}
/* Supporting explanations have their own quiet area; inputs and status semantics stay intact. */
p.portal-data-note:not(:empty), p.projects-note, .service-policy-note {
  background: #e9e5da; border: 1px solid var(--content-border); border-inline-start: 3px solid var(--content-gold);
  border-radius: 12px; padding: 16px 20px; line-height: 1.95;
}
.contact-aside.info-panel { padding: var(--content-pad); align-self: start; }
.contact-aside.info-panel > p { max-width: 60ch; margin-block: 18px 28px; }
.contact-aside.info-panel .contact-direct { margin-top: 28px; }
.policy-form-aside.info-panel, .policy-directory-heading.info-panel { padding: 26px; }
.policy-directory-heading.info-panel h2 { font-size: clamp(1.375rem, 1.8vw, 1.75rem); }
.policy-directory-heading.info-panel p { font-size: 1rem; }
.about-project > .info-panel { padding: var(--content-pad); }
/* Reset older row grids before inserting the decorative icon above the copy. */
.arc-principles > article.info-panel { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.arc-principles > article.info-panel h2, .arc-principles > article.info-panel p { width: auto; min-width: 0; max-width: 68ch; }
.explore-step.info-panel { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.explore-step.info-panel .info-panel__icon { margin-inline: auto; }
.explore-step.info-panel h3 { text-align: center; }
.explore-step.info-panel p { margin: 0; }
.digital-detail-description.info-panel > h3 { margin-top: 26px; }
@media (min-width: 1800px) {
  .project-content { max-width: 1840px; margin-inline: auto; padding-inline: clamp(70px, 5vw, 120px); }
}
.explore-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--content-gap); }
.arc-principles > article.info-panel h2 { margin: 0 0 16px; }
.arc-principles > article.info-panel p { margin: 0; }
@media (max-width: 960px) { .explore-steps { grid-template-columns: 1fr; } }
.assistant-privacy-note { font-size: .8125rem; color: var(--content-muted); }
