/* Public institutional content layer for ICS. Uses the existing design tokens. */

.site-header-row { display: flex; align-items: center; gap: var(--ics-space-4); }
.brand-copy { display: grid; gap: var(--ics-space-1); }
.brand-copy strong { line-height: var(--ics-line-height-tight); }
.brand-copy small { color: var(--ics-color-text-muted); font-size: var(--ics-font-size-xs); font-weight: var(--ics-font-weight-regular); }
.site-actions { display: flex; align-items: center; gap: var(--ics-space-3); margin-inline-start: auto; }
.language-link { text-decoration: none; font-weight: var(--ics-font-weight-bold); white-space: nowrap; }

.btn-site {
  min-height: var(--ics-btn-height);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ics-space-2);
  border-radius: var(--ics-radius-md);
  padding: var(--ics-space-3) var(--ics-space-5);
  font-weight: var(--ics-font-weight-bold);
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform var(--ics-duration-fast) var(--ics-easing-standard), box-shadow var(--ics-duration-fast) var(--ics-easing-standard), background var(--ics-duration-fast) var(--ics-easing-standard);
}
.btn-site:hover { transform: translateY(-0.1rem); box-shadow: var(--ics-shadow-hover); }
.btn-site-primary { background: var(--ics-color-primary); color: var(--ics-color-text-inverse); }
.btn-site-primary:hover { background: var(--ics-color-primary-dark); }
.btn-site-secondary { background: var(--ics-color-secondary-soft); color: var(--ics-color-secondary-dark); border-color: var(--ics-color-secondary); }
.btn-site-light { background: var(--ics-color-surface); color: var(--ics-color-primary-deep); }
.btn-site-outline-light { color: var(--ics-color-text-inverse); border-color: var(--ics-color-surface); background: transparent; }
.button-row { display: flex; flex-wrap: wrap; gap: var(--ics-space-3); align-items: center; }
.text-link { font-weight: var(--ics-font-weight-bold); text-decoration: none; }
.text-link:hover { text-decoration: underline; }

.eyebrow {
  display: inline-flex;
  color: var(--ics-color-secondary-dark);
  font-size: var(--ics-font-size-sm);
  font-weight: var(--ics-font-weight-bold);
  letter-spacing: 0.03em;
  margin-bottom: var(--ics-space-2);
}
.eyebrow-light { color: var(--ics-color-secondary-soft); }
.section-pad { padding-block: var(--ics-space-9); }
.section-stone { background: var(--ics-color-stone); }
.section-deep { background: var(--ics-color-primary-deep); color: var(--ics-color-text-inverse); }
.section-heading { margin-bottom: var(--ics-space-7); }
.section-heading h2, .section-copy h2 { font-size: clamp(var(--ics-font-size-2xl), 4vw, var(--ics-font-size-3xl)); margin-bottom: var(--ics-space-3); }
.section-heading p, .section-copy p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); }
.section-heading.centered { text-align: center; margin-inline: auto; }
.section-heading.narrow { max-width: 48rem; }
.heading-row { display: flex; align-items: end; justify-content: space-between; gap: var(--ics-space-5); }
.heading-inverse h2, .heading-inverse p { color: var(--ics-color-text-inverse); }

.home-hero {
  background: linear-gradient(145deg, var(--ics-color-primary-deep), var(--ics-color-primary-dark));
  color: var(--ics-color-text-inverse);
  overflow: hidden;
}
.home-hero-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr); gap: var(--ics-space-8); align-items: center; padding-block: var(--ics-space-9); }
.home-hero-copy h1 { font-size: clamp(var(--ics-font-size-3xl), 5vw, var(--ics-heading-xl)); max-width: 16ch; margin-bottom: var(--ics-space-4); }
.home-hero-copy > p { font-size: var(--ics-font-size-lg); line-height: var(--ics-line-height-loose); max-width: 42rem; margin-bottom: var(--ics-space-5); }
.home-hero-photo { position: relative; padding: var(--ics-space-4); }
.home-hero-photo::before { content: ''; position: absolute; inset: 0; border: 1px solid var(--ics-color-secondary); border-radius: var(--ics-radius-lg); transform: rotate(-2deg); }
html[dir="rtl"] .home-hero-photo::before { transform: rotate(2deg); }
.home-hero-photo img { position: relative; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ics-radius-lg); box-shadow: var(--ics-shadow-lg); display: block; }
.photo-note { position: relative; margin: calc(0rem - var(--ics-space-5)) var(--ics-space-5) 0; background: var(--ics-color-surface); color: var(--ics-color-text); border-radius: var(--ics-radius-md); box-shadow: var(--ics-shadow-md); padding: var(--ics-space-4); display: grid; gap: var(--ics-space-1); }
.photo-note span { color: var(--ics-color-text-muted); font-size: var(--ics-font-size-sm); }
.hero-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--ics-space-3); margin-top: var(--ics-space-6); }
.hero-facts div { padding: var(--ics-space-4); border-block-start: 1px solid var(--ics-color-secondary); }
.hero-facts strong { display: block; font-size: var(--ics-font-size-xl); margin-bottom: var(--ics-space-1); }
.hero-facts span { display: block; font-size: var(--ics-font-size-sm); }

.split-feature { display: grid; grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 1.25fr); gap: var(--ics-space-8); align-items: center; }
.feature-photo { position: relative; }
.feature-photo img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; border-radius: var(--ics-radius-lg); box-shadow: var(--ics-shadow-md); }
.feature-photo::after { content: ''; position: absolute; inset-inline-end: calc(0rem - var(--ics-space-4)); inset-block-end: calc(0rem - var(--ics-space-4)); width: 44%; height: 44%; background: var(--ics-color-secondary-soft); border-radius: var(--ics-radius-lg); z-index: -1; }
.wide-photo img { aspect-ratio: 4 / 3; }
.section-copy p { margin-bottom: var(--ics-space-4); }
.registration-line, .registration-box { padding: var(--ics-space-4); background: var(--ics-color-primary-soft); color: var(--ics-color-primary-deep); border-inline-start: 0.25rem solid var(--ics-color-primary); border-radius: var(--ics-radius-sm); font-size: var(--ics-font-size-sm); }
.registration-box { margin-top: var(--ics-space-5); }

.vision-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ics-space-5); }
.feature-card { background: var(--ics-color-surface); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-lg); padding: var(--ics-space-7); box-shadow: var(--ics-shadow-sm); }
.feature-card h2, .feature-card h3 { margin-bottom: var(--ics-space-3); }
.feature-card p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); }
.feature-card-green { background: var(--ics-color-primary); color: var(--ics-color-text-inverse); border-color: var(--ics-color-primary); }
.feature-card-green p { color: var(--ics-color-text-inverse); }
.card-icon { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: var(--ics-radius-pill); background: var(--ics-color-secondary-soft); color: var(--ics-color-secondary-dark); font-size: var(--ics-font-size-xl); margin-bottom: var(--ics-space-4); }

.program-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ics-space-5); }
.program-card { overflow: hidden; background: var(--ics-color-surface); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-lg); box-shadow: var(--ics-shadow-sm); transition: transform var(--ics-duration-normal) var(--ics-easing-standard), box-shadow var(--ics-duration-normal) var(--ics-easing-standard); }
.program-card:hover { transform: translateY(-0.2rem); box-shadow: var(--ics-shadow-hover); }
.program-card img { width: 100%; height: 14rem; object-fit: cover; display: block; }
.program-card-body { padding: var(--ics-space-5); }
.program-card-body h3 { font-size: var(--ics-font-size-xl); margin: var(--ics-space-1) 0 var(--ics-space-3); }
.program-card-body p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); }
.card-kicker { color: var(--ics-color-secondary-dark); font-size: var(--ics-font-size-sm); font-weight: var(--ics-font-weight-bold); }

.priority-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ics-space-4); }
.priority-card { background: var(--ics-color-surface); color: var(--ics-color-text); border-radius: var(--ics-radius-lg); padding: var(--ics-space-6); }
.priority-card > span { display: inline-flex; background: var(--ics-color-secondary-soft); color: var(--ics-color-secondary-dark); border-radius: var(--ics-radius-pill); padding: var(--ics-space-1) var(--ics-space-3); font-size: var(--ics-font-size-xs); font-weight: var(--ics-font-weight-bold); margin-bottom: var(--ics-space-4); }
.priority-card h3 { margin-bottom: var(--ics-space-3); }
.priority-card p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); }

.gallery-preview { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--ics-space-3); }
.gallery-preview-item { overflow: hidden; border-radius: var(--ics-radius-md); min-height: 12rem; box-shadow: var(--ics-shadow-sm); }
.gallery-preview-item:nth-child(2), .gallery-preview-item:nth-child(5) { transform: translateY(var(--ics-space-4)); }
.gallery-preview img { width: 100%; height: 100%; min-height: 12rem; object-fit: cover; display: block; transition: transform var(--ics-duration-normal) var(--ics-easing-standard); }
.gallery-preview-item:hover img { transform: scale(1.04); }

.partner-panel { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: var(--ics-space-8); align-items: center; }
.partner-panel h2 { font-size: var(--ics-font-size-3xl); margin-bottom: var(--ics-space-3); }
.partner-panel p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); }
.partner-list { display: flex; flex-wrap: wrap; gap: var(--ics-space-3); }
.partner-list span { background: var(--ics-color-surface); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-pill); padding: var(--ics-space-3) var(--ics-space-4); font-size: var(--ics-font-size-sm); box-shadow: var(--ics-shadow-sm); }

.cta-panel { margin-block: var(--ics-space-9); padding: var(--ics-space-7); background: linear-gradient(135deg, var(--ics-color-primary-dark), var(--ics-color-primary)); color: var(--ics-color-text-inverse); border-radius: var(--ics-radius-lg); display: flex; justify-content: space-between; align-items: center; gap: var(--ics-space-7); box-shadow: var(--ics-shadow-lg); }
.cta-panel h2 { font-size: var(--ics-font-size-2xl); margin-bottom: var(--ics-space-2); }
.cta-panel p { max-width: 46rem; }

.page-hero { background: var(--ics-color-primary-deep); color: var(--ics-color-text-inverse); }
.page-hero-inner { padding-block: var(--ics-space-9); max-width: 58rem; }
.page-hero h1 { font-size: clamp(var(--ics-font-size-3xl), 5vw, var(--ics-heading-xl)); margin-bottom: var(--ics-space-4); }
.page-hero p { font-size: var(--ics-font-size-lg); line-height: var(--ics-line-height-loose); max-width: 48rem; }
.page-hero-about { background: linear-gradient(135deg, var(--ics-color-primary-deep), var(--ics-color-info)); }
.page-hero-programs { background: linear-gradient(135deg, var(--ics-color-primary-deep), var(--ics-color-primary)); }
.page-hero-projects { background: linear-gradient(135deg, var(--ics-color-primary-deep), var(--ics-color-secondary-dark)); }
.page-hero-gallery { background: linear-gradient(135deg, var(--ics-color-info), var(--ics-color-primary-deep)); }
.page-hero-contact { background: linear-gradient(135deg, var(--ics-color-primary-dark), var(--ics-color-info)); }

.longform-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr); gap: var(--ics-space-8); align-items: start; }
.content-figure { margin: 0; }
.content-figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--ics-radius-lg); box-shadow: var(--ics-shadow-md); display: block; }
.content-figure figcaption { color: var(--ics-color-text-muted); font-size: var(--ics-font-size-sm); margin-top: var(--ics-space-3); line-height: var(--ics-line-height-normal); }
.values-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ics-space-4); }
.value-card { background: var(--ics-color-surface); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-lg); padding: var(--ics-space-5); }
.value-card h3 { color: var(--ics-color-primary-deep); margin-bottom: var(--ics-space-2); }
.value-card p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); }
.goals-layout { display: grid; grid-template-columns: minmax(18rem, 0.8fr) minmax(0, 1.2fr); gap: var(--ics-space-8); }
.goal-list { list-style: none; counter-reset: goal; display: grid; gap: var(--ics-space-3); }
.goal-list li { counter-increment: goal; background: var(--ics-color-surface); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-md); padding: var(--ics-space-4); display: grid; grid-template-columns: 2.5rem 1fr; gap: var(--ics-space-3); align-items: start; }
.goal-list li::before { content: counter(goal); display: inline-flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; background: var(--ics-color-primary-soft); color: var(--ics-color-primary-deep); border-radius: var(--ics-radius-pill); font-weight: var(--ics-font-weight-bold); }
.governance-panel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr); gap: var(--ics-space-8); align-items: center; }
.governance-panel p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); }
.org-chart { background: var(--ics-color-stone); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-lg); padding: var(--ics-space-5); display: grid; gap: var(--ics-space-2); justify-items: center; text-align: center; }
.org-chart > div:not(.org-branches) { background: var(--ics-color-surface); border: 1px solid var(--ics-color-border-strong); border-radius: var(--ics-radius-md); padding: var(--ics-space-3) var(--ics-space-5); min-width: 12rem; font-weight: var(--ics-font-weight-bold); }
.org-chart > span { color: var(--ics-color-primary); font-size: var(--ics-font-size-xl); }
.org-branches { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--ics-space-3); width: 100%; }
.org-branches b { background: var(--ics-color-primary-soft); color: var(--ics-color-primary-deep); border-radius: var(--ics-radius-md); padding: var(--ics-space-3); }

.program-detail-list { display: grid; gap: var(--ics-space-9); }
.program-detail { display: grid; grid-template-columns: minmax(18rem, 0.9fr) minmax(0, 1.1fr); gap: var(--ics-space-8); align-items: center; }
.program-detail-reverse .program-detail-media { order: 2; }
.program-detail-media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: var(--ics-radius-lg); box-shadow: var(--ics-shadow-md); }
.program-detail-copy h2 { font-size: var(--ics-font-size-3xl); margin-bottom: var(--ics-space-3); }
.program-detail-copy p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); margin-bottom: var(--ics-space-4); }
.check-list { list-style: none; display: grid; gap: var(--ics-space-2); }
.check-list li { position: relative; padding-inline-start: var(--ics-space-6); }
.check-list li::before { content: '✓'; position: absolute; inset-inline-start: 0; color: var(--ics-color-success); font-weight: var(--ics-font-weight-bold); }
.achievement-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--ics-space-3); }
.achievement-grid article { background: var(--ics-color-surface); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-md); padding: var(--ics-space-4); }
.achievement-grid article > span { color: var(--ics-color-success); font-weight: var(--ics-font-weight-bold); }
.achievement-grid h3 { font-size: var(--ics-font-size-md); margin: var(--ics-space-2) 0; }
.achievement-grid p { color: var(--ics-color-text-muted); font-size: var(--ics-font-size-sm); }
.two-column-text { display: grid; grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr); gap: var(--ics-space-8); }
.two-column-text h2 { font-size: var(--ics-font-size-3xl); }
.two-column-text p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); margin-bottom: var(--ics-space-4); }

.projects-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ics-space-4); }
.project-card { background: var(--ics-color-surface); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-lg); padding: var(--ics-space-6); box-shadow: var(--ics-shadow-sm); }
.project-card h2 { font-size: var(--ics-font-size-xl); margin: var(--ics-space-3) 0; }
.project-card p { color: var(--ics-color-text-muted); line-height: var(--ics-line-height-loose); }
.project-tag { display: inline-flex; padding: var(--ics-space-1) var(--ics-space-3); border-radius: var(--ics-radius-pill); background: var(--ics-color-primary-soft); color: var(--ics-color-primary-deep); font-size: var(--ics-font-size-xs); font-weight: var(--ics-font-weight-bold); }
.needs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ics-space-4); }
.needs-card { background: var(--ics-color-surface); border-radius: var(--ics-radius-lg); padding: var(--ics-space-6); border-block-start: 0.25rem solid var(--ics-color-primary); box-shadow: var(--ics-shadow-sm); }
.needs-card h3 { margin-bottom: var(--ics-space-4); }

.gallery-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ics-space-5); }
.gallery-grid figure { margin: 0; background: var(--ics-color-surface); border-radius: var(--ics-radius-lg); overflow: hidden; box-shadow: var(--ics-shadow-sm); border: 1px solid var(--ics-color-border); }
.gallery-grid img { width: 100%; height: 18rem; object-fit: cover; display: block; }
.gallery-grid figcaption { padding: var(--ics-space-3) var(--ics-space-4); color: var(--ics-color-text-muted); font-size: var(--ics-font-size-sm); }

.contact-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.8fr); gap: var(--ics-space-5); align-items: stretch; }
.contact-card { background: var(--ics-color-surface); border: 1px solid var(--ics-color-border); border-radius: var(--ics-radius-lg); padding: var(--ics-space-7); box-shadow: var(--ics-shadow-sm); }
.contact-card h2 { font-size: var(--ics-font-size-2xl); margin-bottom: var(--ics-space-5); }
.contact-item { padding-block: var(--ics-space-4); border-block-start: 1px solid var(--ics-color-border); }
.contact-item strong { display: block; margin-bottom: var(--ics-space-1); }
.contact-item p { color: var(--ics-color-text-muted); }
.contact-cta { background: linear-gradient(145deg, var(--ics-color-primary-deep), var(--ics-color-primary)); color: var(--ics-color-text-inverse); border-radius: var(--ics-radius-lg); padding: var(--ics-space-7); display: flex; flex-direction: column; justify-content: center; }
.contact-cta h2 { font-size: var(--ics-font-size-2xl); margin-bottom: var(--ics-space-3); }
.contact-cta p { line-height: var(--ics-line-height-loose); margin-bottom: var(--ics-space-5); }

footer.site { margin-top: 0; }
.footer-grid { display: grid !important; grid-template-columns: minmax(0, 1.4fr) minmax(10rem, 0.7fr) minmax(14rem, 0.9fr); align-items: start !important; padding-block: var(--ics-space-7) !important; }
.footer-brand { display: flex; gap: var(--ics-space-3); align-items: center; color: var(--ics-color-text-inverse); text-decoration: none; margin-bottom: var(--ics-space-3); }
.footer-about p, footer.site p { color: var(--ics-color-text-inverse); opacity: 0.9; line-height: var(--ics-line-height-normal); }
footer.site h2 { font-size: var(--ics-font-size-md); margin-bottom: var(--ics-space-3); color: var(--ics-color-text-inverse); }
.footer-links { display: grid; gap: var(--ics-space-2); }
.footer-links a, footer.site a { color: var(--ics-color-text-inverse); text-decoration: none; }
.footer-links a:hover, footer.site a:hover { text-decoration: underline; }
.footer-bottom { border-block-start: 1px solid var(--ics-color-primary); padding-block: var(--ics-space-4) !important; display: flex; justify-content: space-between; gap: var(--ics-space-4); flex-wrap: wrap; }

@media (max-width: 72rem) {
  .site-header-row { flex-wrap: wrap; }
  .site-nav { order: 3; width: 100%; justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-block: var(--ics-space-2); }
  .site-nav a { white-space: nowrap; }
  .home-hero-grid { grid-template-columns: 1fr; }
  .home-hero-photo { max-width: 42rem; width: 100%; margin-inline: auto; }
  .gallery-preview { grid-template-columns: repeat(3, 1fr); }
  .gallery-preview-item:nth-child(2), .gallery-preview-item:nth-child(5) { transform: none; }
  .achievement-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 56rem) {
  .split-feature, .longform-grid, .goals-layout, .governance-panel, .program-detail, .two-column-text, .contact-layout, .partner-panel { grid-template-columns: 1fr; }
  .program-detail-reverse .program-detail-media { order: 0; }
  .program-card-grid, .vision-grid, .projects-grid, .needs-grid { grid-template-columns: 1fr 1fr; }
  .priority-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .cta-panel { flex-direction: column; align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr 1fr !important; }
  .footer-about { grid-column: 1 / -1; }
}

@media (max-width: 40rem) {
  .site-top .wrap { padding-inline: var(--ics-space-3); }
  .brand-copy strong { font-size: var(--ics-font-size-sm); }
  .site-actions { width: 100%; justify-content: space-between; }
  .home-hero-grid, .page-hero-inner { padding-block: var(--ics-space-7); }
  .hero-facts { grid-template-columns: 1fr; }
  .section-pad { padding-block: var(--ics-space-7); }
  .program-card-grid, .vision-grid, .values-grid, .projects-grid, .needs-grid, .gallery-grid, .gallery-preview, .achievement-grid { grid-template-columns: 1fr; }
  .heading-row { align-items: flex-start; flex-direction: column; }
  .gallery-preview-item { min-height: 15rem; }
  .gallery-preview img { min-height: 15rem; }
  .gallery-grid img { height: 15rem; }
  .org-branches { grid-template-columns: 1fr; }
  .cta-panel, .contact-card, .contact-cta { padding: var(--ics-space-5); }
  .footer-grid { grid-template-columns: 1fr !important; }
}
.site-announcement{padding:.7rem 0;border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent);background:var(--ics-announcement-info-bg);color:var(--ics-announcement-info-text)}.site-announcement .wrap{display:flex;gap:.6rem;align-items:flex-start;flex-wrap:wrap}.site-announcement p{margin:0}.site-announcement-high{background:var(--ics-announcement-high-bg);color:var(--ics-announcement-high-text)}.site-announcement-critical{background:var(--ics-announcement-critical-bg);color:var(--ics-announcement-critical-text)}.site-announcement-low{background:var(--ics-announcement-low-bg);color:var(--ics-announcement-low-text)}
.page-builder-section{margin-block:2rem}.page-builder-hero{margin-inline:calc(50% - 50vw);padding:2rem max(1rem,calc((100vw - 1200px)/2));background:var(--ics-surface-subtle,var(--ics-announcement-low-bg))}.page-builder-cta{padding:1.5rem;border-radius:1rem}.page-builder-statistics .stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}

/* CMS-managed public page content */
.managed-page-layout{max-width:76rem;margin-inline:auto}
.managed-richtext{font-size:1.06rem;line-height:1.9;color:var(--ics-color-text)}
.managed-richtext h2,.managed-richtext h3,.managed-richtext h4{color:var(--ics-color-primary-dark);line-height:1.35;margin-block:1.6em .55em}
.managed-richtext p,.managed-richtext ul,.managed-richtext ol,.managed-richtext blockquote{margin-block:.8em}
.managed-richtext img{max-width:100%;height:auto;border-radius:var(--ics-radius-lg,12px)}
.managed-richtext table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.managed-richtext th,.managed-richtext td{padding:.65rem;border:1px solid var(--ics-color-border)}

/* ------------------------------------------------ responsive navigation */
.site-menu-toggle {
  display: none;
  align-items: center;
  gap: var(--ics-space-2);
  min-height: var(--ics-btn-height);
  padding: var(--ics-space-2) var(--ics-space-3);
  border: 1px solid var(--ics-color-border);
  border-radius: var(--ics-radius-md);
  background: var(--ics-color-surface);
  color: var(--ics-color-text);
  font: inherit;
  font-weight: var(--ics-font-weight-bold);
  cursor: pointer;
}
.site-menu-toggle:focus-visible { outline: none; box-shadow: var(--ics-shadow-focus); }
.site-menu-toggle-lines { width: 1.35rem; display: grid; gap: .24rem; }
.site-menu-toggle-lines i { display: block; height: .12rem; border-radius: var(--ics-radius-pill); background: currentColor; transition: transform var(--ics-duration-fast) var(--ics-easing-standard), opacity var(--ics-duration-fast) var(--ics-easing-standard); }
.site-header-row.nav-open .site-menu-toggle-lines i:nth-child(1) { transform: translateY(.36rem) rotate(45deg); }
.site-header-row.nav-open .site-menu-toggle-lines i:nth-child(2) { opacity: 0; }
.site-header-row.nav-open .site-menu-toggle-lines i:nth-child(3) { transform: translateY(-.36rem) rotate(-45deg); }

@media (max-width: 56rem) {
  .site-top .wrap.site-header-row { align-items: center; }
  .site-menu-toggle { display: inline-flex; margin-inline-start: auto; }
  .site-nav {
    display: none;
    order: 3;
    width: 100%;
    flex: none;
    flex-direction: column;
    align-items: stretch;
    gap: var(--ics-space-1);
    overflow: visible;
    padding: var(--ics-space-3) 0 0;
    border-block-start: 1px solid var(--ics-color-border);
  }
  .site-nav a {
    display: flex;
    align-items: center;
    min-height: var(--ics-btn-height);
    padding: var(--ics-space-2) var(--ics-space-3);
    border-radius: var(--ics-radius-md);
  }
  .site-nav a:hover,
  .site-nav a:focus-visible,
  .site-nav a[aria-current="page"] { background: var(--ics-color-primary-soft); }
  .site-actions {
    display: none;
    order: 4;
    width: 100%;
    margin-inline-start: 0;
    padding-block-start: var(--ics-space-2);
    border-block-start: 1px solid var(--ics-color-border);
  }
  .site-header-row.nav-open .site-nav,
  .site-header-row.nav-open .site-actions { display: flex; }
  .site-header-row.nav-open .site-actions { justify-content: space-between; }
}

@media (max-width: 32rem) {
  .brand img { width: 2.5rem; height: 2.5rem; }
  .brand-copy small { display: none; }
  .site-menu-toggle-label { display: none; }
  .site-actions { flex-direction: column; align-items: stretch; }
  .site-actions a { width: 100%; text-align: center; }
}
