/* styles.css — Associação Eixo D'Intuição (Apache on-prem friendly) */
*, *::before, *::after { box-sizing: border-box; }
html:focus-within { scroll-behavior: smooth; }
body, h1, h2, h3, p, ul, ol, li, figure { margin: 0; padding: 0; }
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; }
a { color: inherit; text-decoration: none; }
:root { --bg:#ffffff; --text:#1a1a1a; --muted:#5b6672; --brand:#12528f; --brand-2:#0a7bbd; --accent:#f7b500; --surface:#f5f7fa; --border:#e2e8f0; --focus:#ffb703; --shadow:0 6px 24px rgba(0,0,0,.08); --radius:14px; --maxw:1120px; }
@media (prefers-color-scheme: dark){ :root{ --bg:#0f141a; --text:#e9eef4; --muted:#a9b4bf; --surface:#121922; --border:#243140; --shadow:0 6px 24px rgba(0,0,0,.4);} }
body{ font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, sans-serif; background:var(--bg); color:var(--text); line-height:1.6; }
.container{ width:min(100% - 2rem, var(--maxw)); margin-inline:auto; }
.skip-link{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }
.skip-link:focus{ left:1rem; top:1rem; width:auto; height:auto; padding:.6rem .8rem; background:var(--brand); color:#fff; border-radius:.5rem; z-index:1000; }
.site-header{ position:sticky; top:0; z-index:20; background:var(--bg); border-bottom:1px solid var(--border); }
.nav-bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.8rem 0; }
.brand{ display:flex; align-items:center; gap:.75rem; font-weight:700; font-size:1.1rem; }
.brand img{ width:44px; height:44px; object-fit:contain; border-radius:8px; }
nav ul{ display:flex; gap:1rem; list-style:none; }
nav a{ padding:.5rem .75rem; border-radius:.5rem; color:var(--muted); }
nav a:hover, nav a:focus{ color:var(--text); background:var(--surface); outline:none; }
.menu-toggle{ display:none; border:1px solid var(--border); background:var(--surface); padding:.5rem .7rem; border-radius:.6rem; color:var(--text); }
.menu-toggle:focus{ outline:3px solid var(--focus); outline-offset:2px; }
@media (max-width: 840px){ nav ul{ position:fixed; inset:64px 0 auto 0; background:var(--bg); flex-direction:column; gap:.25rem; padding:.75rem; border-bottom:1px solid var(--border); transform:translateY(-120%); transition:transform .25s ease; } nav ul.open{ transform:translateY(0);} .menu-toggle{ display:inline-flex; align-items:center; gap:.5rem; } }
.hero{ background:linear-gradient(180deg, rgba(18,82,143,.08), rgba(18,82,143,0)); }
.hero-inner{ display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; align-items:center; padding:clamp(2rem, 5vw, 4rem) 0; }
.hero h1{ font-size:clamp(1.8rem, 3.4vw, 3rem); line-height:1.15; letter-spacing:-.02em; }
.hero p{ color:var(--muted); margin-top:.8rem; font-size:clamp(1rem, 1.6vw, 1.125rem); }
.cta{ display:flex; gap:.75rem; margin-top:1.25rem; flex-wrap:wrap; }
.btn{ display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1rem; border-radius:.7rem; border:1px solid transparent; font-weight:600; cursor:pointer; }
.btn.primary{ background:var(--brand); color:#fff; }
.btn.primary:hover{ background:var(--brand-2); }
.btn.secondary{ background:var(--surface); color:var(--text); border-color:var(--border); }
.btn.secondary:hover{ background:#eaf2fb; }
.hero-media{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); background:var(--surface); }
@media (max-width: 960px){ .hero-inner{ grid-template-columns:1fr; } }
section{ padding:clamp(2rem, 4vw, 3rem) 0; }
.section-header{ margin-bottom:1rem; }
.section-header h2{ font-size:clamp(1.4rem, 2.2vw, 2rem); letter-spacing:-.01em; }
.section-header p{ color:var(--muted); margin-top:.25rem; }
.card{ background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--shadow); overflow:clip; }
.about-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:1.5rem; }
.about-text{ padding:1.25rem; }
.about-points{ display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-top:.75rem; }
.point{ background:var(--surface); border:1px solid var(--border); border-radius:.9rem; padding:.8rem; }
.point h3{ font-size:1rem; margin-bottom:.25rem; }
@media (max-width: 960px){ .about-grid{ grid-template-columns:1fr; } .about-points{ grid-template-columns:1fr; } }
.map-wrap, .calendar-wrap{ aspect-ratio: 16 / 9; }
.map-img, .calendar-img{ width:100%; height:100%; object-fit:cover; }
.calendar-cta{ display:flex; gap:.75rem; margin-top:.75rem; flex-wrap:wrap; }
.info{ color:var(--muted); font-size:.95rem; }
.social{ display:flex; gap:.75rem; flex-wrap:wrap; align-items:center; }
.social a{ display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .75rem; border:1px solid var(--border); border-radius:.7rem; background:var(--surface); }
.social img{ width:18px; height:18px; object-fit:contain; }
footer{ border-top:1px solid var(--border); padding:1.5rem 0; color:var(--muted); }
.footer-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.back-to-top{ color:var(--text); padding:.4rem .6rem; border-radius:.5rem; background:var(--surface); }
a:focus-visible, button:focus-visible{ outline:3px solid var(--focus); outline-offset:2px; border-radius:8px; }
