/* Local visual composition. All imagery remains native, replaceable media. */
:root { --logo-width: 18rem; }
.header-inner { gap: 1.5rem; padding-block: 1rem; }
.site-nav .menu { gap: 1rem; }
.site-nav .menu a { font-size: .82rem; }
.hero { padding-block: 2.75rem 2rem; }
.hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2rem, 4vw, 4rem); }
.hero .hero-copy h1 { font-size: clamp(2rem, 3.2vw, 3rem); line-height: 1.12; letter-spacing: -.035em; max-width: 18ch; margin-block: 1rem 1.25rem; }
.hero .hero-intro { max-width: 34rem; font-size: 1rem; }
.hero-actions { gap: 1rem 1.25rem; margin-top: 1.5rem; }
.hero-actions .button { padding: .8rem 1rem; }
.editorial-image { margin: 0; }
.editorial-image img { display: block; width: 100%; height: auto; object-fit: cover; border-radius: .3rem; background: var(--soft); }
.editorial-image figcaption { font-size: .67rem; line-height: 1.4; color: var(--muted); margin-top: .5rem; }
.editorial-image figcaption a { color: inherit; }
.hero-photo img { aspect-ratio: 1.18; }
.quick-section { padding-block: 1rem 2.5rem; }
.quick-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.quick-links a { padding-block: .85rem; }
.mission-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 4vw, 4rem); align-items: center; }
.mission-photo img { aspect-ratio: 1.3; }
.mission-copy .mission-intro { display: block; margin-bottom: 1.5rem; }
.mission-copy .mission-intro h2 { font-size: clamp(1.8rem, 2.7vw, 2.5rem); }
.mission-copy .section-lead { font-size: 1rem; }
.mission-copy .mission-fronts { display: block; margin-bottom: 0; }
.mission-copy .mission-fronts li { padding-block: .7rem; }
.mission-copy .mission-fronts h3 { font-size: 1.03rem; }
.content-main { padding-block: 2.5rem 3rem; }
.visual-page h1 { font-size: clamp(1.9rem, 3vw, 2.75rem); line-height: 1.15; margin: 0 0 1rem; letter-spacing: -.025em; }
.visual-page h2 { font-size: 1.5rem; }
.visual-about { display: grid; grid-template-columns: 1.05fr 1fr; grid-template-rows: min-content 1fr; column-gap: 3rem; align-items: start; }
.visual-heading { grid-column: 1; }
.visual-about .entry-content { grid-column: 1; grid-row: 2; max-width: none; }
.visual-photo { grid-column: 2; grid-row: 1 / span 2; }
.visual-about .visual-photo img { aspect-ratio: 1.05; }
.visual-about .entry-content p { margin-top: 0; margin-bottom: 1.25rem; }
.visual-contact .entry-content { max-width: none; }
.visual-contact .entry-content > p { max-width: 46rem; margin-top: 0; }
.sindibeb-contact { margin-top: 1.5rem; }
.sindibeb-contact-main { max-width: none; }
.sindibeb-contact.has-channels { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 3rem; }
.sindibeb-contact-channels { border: 0; padding: 0; }
.sindibeb-contact-channels img { aspect-ratio: 1.15; }
.sindibeb-contact-channels h2 { margin-top: 1.5rem; }
.sindibeb-contact-main > h2 { margin-top: 0; margin-bottom: .8rem; }
.sindibeb-contact-form { background: var(--soft); border: 1px solid var(--line); padding: 1.5rem; border-radius: .3rem; }
.sindibeb-contact-fields { gap: 1rem; }
.sindibeb-contact-field { display: flex; flex-direction: column; }
.sindibeb-contact-field input, .sindibeb-contact-field select { margin-top: auto; }
.sindibeb-contact-field textarea { min-height: 145px; height: 10rem; }
.sindibeb-contact-main > p { margin-block: .65rem; }
.sindibeb-contact-form { margin-top: 1.1rem; }
.sindibeb-demo-note { font-size: .85rem; color: var(--muted); border-left: 3px solid var(--gold); padding-left: .75rem; }
.sindibeb-contact-help { font-size: .85rem; }
.sindibeb-contact-form button { background: var(--blue); border: 1px solid var(--blue); color: white; border-radius: .2rem; font-weight: 650; }
.sindibeb-contact-form button:hover { background: var(--blue-dark); }
.site-footer { padding-top: 2rem; }
.footer-grid { padding-bottom: 1.5rem; gap: 2rem; }
.footer-identity .custom-logo { max-width: 15rem; }
.footer-bottom { padding-block: 1rem; }
@media (max-width: 79.99rem) {
    .site-nav .menu a { font-size: 1rem; }
    .hero-grid, .mission-grid { gap: 1.5rem; }
    .hero .hero-copy h1 { font-size: 2.05rem; }
    .hero-photo img { aspect-ratio: .85; }
    .visual-about { column-gap: 1.5rem; }
    .sindibeb-contact.has-channels { gap: 1.5rem; }
}
@media (max-width: 47.99rem) {
    .header-inner { padding-block: .85rem; gap: .75rem; }
    .header-inner .site-branding { flex: 0 1 calc(100% - 115px); min-width: 0; }
    .header-inner .custom-logo { max-width: 100%; width: 14rem; }
    .hero { padding-block: 1.75rem 1rem; }
    .hero-grid, .mission-grid, .visual-about { display: flex; flex-direction: column; align-items: stretch; gap: 1.25rem; }
    .hero .hero-copy h1 { font-size: 2rem; max-width: 21ch; }
    .hero-photo img { aspect-ratio: 1.65; }
    .quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
    .quick-links a { font-size: .85rem; padding: .7rem .4rem; gap: .4rem; }
    .quick-links a > .icon:last-child { display: none; }
    .mission-copy { order: -1; }
    .mission-photo img { aspect-ratio: 1.65; }
    .content-main { padding-block: 1.75rem 2rem; }
    .visual-about .visual-photo { order: 2; }
    .sindibeb-contact.has-channels { grid-template-columns: 1fr; }
    .sindibeb-contact-form { padding: 1rem; }
    .sindibeb-contact-fields { grid-template-columns: 1fr; }
    .sindibeb-contact-channels img { aspect-ratio: 1.8; }
    .site-footer { padding-top: 1.5rem; }
}
