/* AIFAESA, I.P. — layout: topbar, navbar, hero, grid, footer */
.container { width: 100%; max-width: var(--maxw); margin: 0 auto; padding: 0 16px; }
.container.narrow { max-width: 820px; }
.section { padding-top: 2rem; padding-bottom: 1rem; }
.section-title { font-size: 1.15rem; padding-bottom: .5rem; border-bottom: 1px solid var(--line); margin-bottom: 1.25rem; }
.section-title.center { border: 0; text-align: center; }
.page-title { font-size: 1.7rem; margin-bottom: .5rem; }
.lead { font-size: 1.08rem; color: var(--muted); }

/* [1] Top bar */
.topbar { background: var(--slate); color: #fff; font-size: .9rem; }
.topbar-in { display: flex; justify-content: flex-end; align-items: center; gap: 1.25rem; padding-top: .5rem; padding-bottom: .5rem; flex-wrap: wrap; }
.topbar a { color: #fff; }
.ic { width: 1em; height: 1em; fill: currentColor; vertical-align: -.12em; }
.langsw { display: inline-flex; border: 1px solid rgba(255,255,255,.5); border-radius: 4px; overflow: hidden; }
.langsw a { padding: .1em .7em; font-weight: 700; font-size: .8rem; }
.langsw a.on { background: var(--gold); color: #1b1b1b; }

/* [2] Navbar */
.navbar { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; }
.navbar-in { display: flex; align-items: center; gap: 1.5rem; min-height: 72px; }
.brand { display: flex; align-items: center; gap: .6rem; color: var(--ink); }
.brand:hover { text-decoration: none; }
.brand img { height: 56px; width: 56px; object-fit: contain; }
.brand-text { font-weight: 800; font-size: 1.35rem; letter-spacing: -.02em; text-transform: uppercase; color: var(--green-d); white-space: nowrap; }
.nav { display: flex; align-items: center; gap: 1.1rem; margin-left: auto; flex-wrap: wrap; }
.nav > a { color: var(--muted); font-size: .88rem; padding: .3em 0; border-bottom: 2px solid transparent; }
.nav > a:hover { color: var(--ink); text-decoration: none; }
.nav > a.active { color: var(--ink); border-bottom-color: var(--gold); font-weight: 600; }
.search { display: flex; }
.search input { width: 180px; padding: .35em .6em; border-radius: 4px 0 0 4px; font-size: .85rem; }
.search button { background: var(--green); color: #fff; border: 0; padding: 0 .75em; border-radius: 0 4px 4px 0; cursor: pointer; }
.nav-toggle { display: none; margin-left: auto; background: none; border: 1px solid var(--line); padding: .4em .8em; border-radius: 4px; font: inherit; }

/* Hero */
.hero { position: relative; overflow: hidden; background: var(--green-d); }
.hero-slide { display: none; min-height: 340px; background-color: #2b7d4a; background-image: linear-gradient(120deg, #0f3d21, #2b7d4a 60%, #d9a504); background-position: center; background-size: cover; background-repeat: no-repeat; }
.hero-slide.is-active { display: block; }
.hero-panel { min-height: 340px; width: 62%; background: rgba(27, 107, 58, .93); clip-path: polygon(0 0, 100% 0, 84% 100%, 0 100%); display: flex; align-items: center; box-shadow: 0 0 18px rgba(0,0,0,.35); }
.hero-text { color: #fff; padding: 2rem 0 2rem max(16px, calc((100vw - var(--maxw)) / 2 + 16px)); max-width: 640px; }
.hero-text h1 { font-size: clamp(1.4rem, 3vw, 2.2rem); text-transform: uppercase; letter-spacing: .01em; }
.hero-text p { font-size: 1.05rem; opacity: .95; }
.hero-dots { position: absolute; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 8px; }
.hero-dots button { width: 12px; height: 12px; border-radius: 50%; border: 2px solid #fff; background: transparent; padding: 0; cursor: pointer; }
.hero-dots button[aria-current="true"] { background: var(--gold); border-color: var(--gold); }

/* Two-column grid */
.cols { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.cols-faq { padding-bottom: 2rem; }

/* Footer */
.footer { background: var(--slate); color: #fff; margin-top: 3rem; }
.footer a { color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1.3fr; gap: 2rem; padding-top: 2rem; padding-bottom: 2rem; }
.footer h3 { font-size: 1.05rem; }
.f-brand { text-align: center; font-size: .92rem; }
.f-brand img { background: #fff; border-radius: 50%; padding: 2px; }
.f-contact { text-align: center; }
.f-map iframe { width: 100%; height: 170px; border: 0; border-radius: 4px; background: #dfe6e1; }
.copyright { background: #22372b; text-align: center; padding: .7rem 16px; font-size: .82rem; }

@media (max-width: 860px) {
  .cols { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; text-align: center; }
  .hero-panel { width: 100%; clip-path: none; background: rgba(27, 107, 58, .88); }
  .hero-text { padding: 2rem 16px; }
  .nav-toggle { display: block; }
  .nav { display: none; width: 100%; flex-direction: column; align-items: stretch; margin: 0; padding-bottom: 1rem; }
  .nav.open { display: flex; }
  .navbar-in { flex-wrap: wrap; }
  .search input { width: 100%; }
  .topbar-in { justify-content: center; }
}
