/* ==========================================================================
   AEEA — Design system
   Paleta livre, festiva: violeta de noite de festival, coral vibrante e
   amarelo-sol — energia de espetáculo ao vivo em vez do azul institucional.
   ========================================================================== */
:root{
  --violet:      #241245;   /* base escura — "noite de festival" */
  --violet-deep: #170B30;   /* rodapé/profundidade */
  --violet-soft: rgba(36,18,69,0.06);
  --coral:       #FF5A36;   /* cor de assinatura — energia, botões, CTAs */
  --coral-deep:  #C23815;   /* coral escurecido — hover, fundos que precisam de contraste */
  --sun:         #FFC53D;   /* amarelo-sol — destaque decorativo grande */
  --sun-light:   #FFD873;   /* amarelo claro — texto pequeno sobre fundo escuro, cumpre 4.5:1 */
  --sun-deep:    #A8690A;   /* amarelo escurecido — texto grande sobre fundo claro, cumpre 3:1 */
  --cream:       #FFF6EA;   /* secções claras, alterna com o violeta */
  --ink:         #241245;   /* texto sobre fundo claro */
  --paper:       #FFFFFF;
  --line-dark:   rgba(255,255,255,0.18);
  --line-light:  rgba(36,18,69,0.12);
  --radius-lg:   20px;
  --radius-pill: 999px;

  --font-display: 'Bricolage Grotesque', sans-serif;
  --font-body: 'Work Sans', sans-serif;
  --font-mono: 'Space Mono', monospace;
}

#aeea *{ box-sizing:border-box; margin:0; padding:0; }
#aeea{
  font-family:var(--font-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  color:var(--ink);
  background:var(--paper);
}
#aeea a{ color:inherit; text-decoration:none; }
#aeea img{ max-width:100%; display:block; }
#aeea .wrap .title {color: white;}
#aeea .wrap{ max-width:1180px; margin:0 auto; padding:0 32px;}
@media (max-width:640px){ #aeea .wrap{ padding:0 20px; } }
#aeea a:focus-visible, #aeea button:focus-visible{ outline:2px solid var(--coral); outline-offset:3px; }
@media (prefers-reduced-motion: reduce){ #aeea *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; } }

/* ---------- dot-wave: motivo assinatura, extraído do símbolo do logótipo ---------- */
.aeea-wave{ width:100%; overflow:hidden; line-height:0; }
.aeea-wave svg{ width:100%; height:auto; display:block; }
.aeea-wave--on-teal ellipse{ fill:#ffffff; }
.aeea-wave--on-cream ellipse{ fill:var(--coral); }

/* ---------- header ---------- */
#aeea .site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(23,11,48,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line-dark);
}
#aeea .nav{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; }
#aeea .site-logo img{ height:30px; width:auto; }
#aeea .nav-links{ display:flex; gap:34px; align-items:center; }
#aeea .nav-links a{ font-size:14px; font-weight:500; color:rgba(255,255,255,0.78); transition:color .2s ease; }
#aeea .nav-links a:hover{ color:#fff; }
#aeea .btn{ display:inline-block; font-family:var(--font-body); font-weight:700; font-size:14px; padding:12px 24px; border-radius:var(--radius-pill); transition:transform .18s ease, box-shadow .18s ease, background .18s ease; }
#aeea .btn-primary{ background:var(--sun); color:var(--violet); }
#aeea .btn-primary:hover{ transform:translateY(-1px); box-shadow:0 10px 28px rgba(255,197,61,0.35); }
#aeea .btn-ghost{ border:1px solid var(--line-dark); color:#fff; }
#aeea .btn-ghost:hover{ border-color:#fff; background:rgba(255,255,255,0.08); }
/* variante do botão ghost para usar sobre fundos claros (branco/creme) */
#aeea .btn-ghost-light{ border:1px solid var(--line-light); color:var(--ink); }
#aeea .btn-ghost-light:hover{ border-color:var(--ink); }
#aeea .nav-cta{ display:flex; gap:12px; align-items:center; }
@media (max-width:860px){ #aeea .nav-links{ display:none; } }

/* ---------- hero ---------- */
#aeea .hero{ position:relative; background:var(--violet); color:#fff; padding:110px 0 88px; overflow:hidden; }
#aeea .hero::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 900px 560px at 84% 4%, rgba(255,90,54,0.55), transparent 60%),
    radial-gradient(ellipse 700px 480px at 6% 105%, rgba(255,197,61,0.22), transparent 65%);
  pointer-events:none;
}
#aeea .eyebrow{ position:relative; z-index:1; font-family:var(--font-mono); font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--sun-light); display:inline-flex; align-items:center; gap:10px; margin-bottom:24px; padding:7px 16px; border:1px solid rgba(255,197,61,0.4); border-radius:var(--radius-pill); }
#aeea .hero h1{ position:relative; z-index:1; font-family:var(--font-display); font-weight:800; font-size:clamp(38px,6.2vw,80px); line-height:1.02; letter-spacing:-0.01em; max-width:15ch; color:#fff; }
#aeea .hero h1 em{ font-style:normal; font-weight:800; color:var(--sun); text-shadow:0 0 34px rgba(255,197,61,0.35); }
#aeea .hero-sub{ position:relative; z-index:1; margin-top:26px; max-width:52ch; font-size:18px; color:rgba(255,255,255,0.78); }
#aeea .hero-actions{ position:relative; z-index:1; margin-top:38px; display:flex; gap:16px; flex-wrap:wrap; }
#aeea .hero-stats{ position:relative; z-index:1; margin-top:80px; display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-dark); border:1px solid var(--line-dark); border-radius:var(--radius-lg); overflow:hidden; }
#aeea .stat{ background:var(--violet); padding:24px 20px; }
#aeea .stat .num{ font-family:var(--font-display); font-size:32px; font-weight:800; color:var(--sun); }
#aeea .stat .lbl{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:rgba(255,255,255,0.6); margin-top:6px; }
@media (max-width:760px){ #aeea .hero-stats{ grid-template-columns:repeat(2,1fr); } }

/* ---------- section shell ---------- */
#aeea section{ padding:96px 0; }
#aeea .section-cream{ background:var(--cream); }
#aeea .section-dark{ background:var(--violet); color:#fff; }
#aeea .section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:52px; flex-wrap:wrap; }
#aeea .section-head h2{ font-family:var(--font-display); font-weight:800; font-size:clamp(28px,4vw,46px); line-height:1.08; }
#aeea .section-head p{ max-width:38ch; font-size:15px; opacity:0.68; }

/* ---------- about ---------- */
#aeea .about-grid{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
#aeea .about-grid p{ font-size:16px; margin-bottom:16px; opacity:0.82; }
#aeea .about-grid p.full{ display:contents; }
#aeea .about-grid h4{ font-family:var(--font-display); font-size:23px; font-weight:700; line-height:1.35; color:var(--coral-deep); margin-bottom:16px; }
#aeea .grid-row{ display:flex; flex-direction:row; align-items:center; justify-content:center; width:100%; }
#aeea .grid-row + .grid-row{ margin-top:60px; }
#aeea .pillars,.description,.mission{ display:flex; flex-direction:column; }
#aeea .img-div{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 20px 44px rgba(36,18,69,0.16); }
#aeea .pillar{ padding:20px 0; border-top:1px solid var(--line-light); display:grid; grid-template-columns:44px 1fr; gap:16px; }
#aeea .pillar:last-child{ border-bottom:1px solid var(--line-light); }
#aeea .pillar-mark{ font-family:var(--font-mono); font-size:13px; font-weight:700; color:var(--coral); }
#aeea .pillar h3{ font-weight:700; font-size:16px; margin-bottom:5px; }
#aeea .pillar p{ font-size:14px; opacity:0.65; }
@media (max-width:820px){ #aeea .about-grid{ grid-template-columns:1fr; gap:36px; } }

/* ---------- events ---------- */
#aeea .event-list{ display:flex; flex-direction:column; }
#aeea .event{ display:grid; grid-template-columns:110px 1fr auto; gap:26px; align-items:center; padding:24px 0; border-top:1px solid var(--line-light); transition:background .18s ease; }
#aeea .event:last-child{ border-bottom:1px solid var(--line-light); }
#aeea .event-date{ font-family:var(--font-mono); font-size:13px; color:var(--coral); line-height:1.5; }
#aeea .event-date .day{ font-family:var(--font-display); font-size:28px; color:var(--ink); display:block; font-weight:800; }
#aeea .event-info h3{ font-family:var(--font-display); font-size:20px; font-weight:700; margin-bottom:4px; }
#aeea .event-info .meta{ font-size:13px; opacity:0.6; }
#aeea .event-tag{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; border:1px solid var(--line-light); padding:7px 15px; border-radius:var(--radius-pill); white-space:nowrap; }
@media (max-width:680px){ #aeea .event{ grid-template-columns:60px 1fr; } #aeea .event-tag{ grid-column:2; justify-self:start; margin-top:8px; } }
#aeea #espetaculos .section-head h2{ color:#fff; }
#aeea #espetaculos .event{ border-color:var(--line-dark); }
#aeea #espetaculos .event:last-child{ border-color:var(--line-dark); }
#aeea #espetaculos .event:hover{ background:rgba(255,255,255,0.04); }
#aeea #espetaculos .event-date{ color:var(--sun-light); }
#aeea #espetaculos .event-date .day{ color:#fff; }
#aeea #espetaculos .event-tag{ border-color:var(--line-dark); color:var(--sun-light); }
#aeea #espetaculos .event-info .meta{ opacity:0.8; }
#aeea #espetaculos .event-info h3{ color:#fff; }

/* ---------- islands ---------- */
#aeea .island-row{ display:flex; flex-wrap:wrap; gap:12px; }
#aeea .island{ flex:1 1 150px; padding:20px 18px; background:var(--paper); border:1px solid var(--line-light); border-radius:var(--radius-lg); }
#aeea .island h4{ font-family:var(--font-display); font-size:16px; font-weight:700; margin-bottom:4px; color:var(--coral-deep); }
#aeea .island span{ font-family:var(--font-mono); font-size:11px; opacity:0.6; }

/* ---------- blog preview (home) ---------- */
#aeea .post-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
#aeea .post-card{ background:var(--paper); border:1px solid var(--line-light); border-radius:var(--radius-lg); overflow:hidden; display:flex; flex-direction:column; transition:transform .18s ease, box-shadow .18s ease; }
#aeea .post-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(36,18,69,0.14); }
#aeea .post-card .thumb{ aspect-ratio:16/10; overflow:hidden; background:var(--violet-soft); }
#aeea .post-card .thumb img{ width:100%; height:100%; object-fit:cover; }
#aeea .post-card .body{ padding:22px 22px 26px; }
#aeea .post-card .cat{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--coral-deep); }
#aeea .post-card h3{ font-family:var(--font-display); font-size:19px; font-weight:700; margin:10px 0 8px; line-height:1.3; }
#aeea .post-card .excerpt{ font-size:14px; opacity:0.68; margin-bottom:14px; }
#aeea .post-card .meta{ font-family:var(--font-mono); font-size:11px; opacity:0.7; }
@media (max-width:900px){ #aeea .post-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ #aeea .post-grid{ grid-template-columns:1fr; } }

/* ---------- blog archive page ---------- */
#aeea .blog-header{ background:var(--violet); color:#fff; padding:88px 0 64px; }
#aeea .blog-header h1{ font-family:var(--font-display); font-weight:800; font-size:clamp(34px,5vw,58px); }
#aeea .blog-header p{ margin-top:14px; max-width:48ch; opacity:0.78; font-size:16px; }
#aeea .blog-list{ padding:72px 0 96px; }
#aeea .pagination{ display:flex; gap:10px; justify-content:center; margin-top:56px; }
#aeea .pagination a, #aeea .pagination span{ font-family:var(--font-mono); font-size:13px; padding:9px 16px; border:1px solid var(--line-light); border-radius:var(--radius-pill); }
#aeea .pagination .current{ background:var(--violet); color:#fff; border-color:var(--violet); }
#aeea .pagination a:hover{ border-color:var(--coral); color:var(--coral-deep); }
#aeea .empty-state{ text-align:center; padding:60px 20px; opacity:0.6; }

/* ---------- single post ---------- */
#aeea .post-hero{ background:var(--violet); color:#fff; padding:80px 0 56px; }
#aeea .post-hero .cat{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--sun-light); }
#aeea .post-hero h1{ font-family:var(--font-display); font-weight:800; font-size:clamp(32px,5vw,52px); margin-top:14px; line-height:1.12; max-width:22ch; }
#aeea .post-hero .meta{ margin-top:20px; font-family:var(--font-mono); font-size:12px; opacity:0.7; }
#aeea .post-feature{ margin-top:0; }
#aeea .post-feature img{ width:100%; max-height:480px; object-fit:cover; }
#aeea .post-body{ padding:64px 0 40px; max-width:740px; margin:0 auto; }
#aeea .post-body p{ font-size:17px; line-height:1.75; margin-bottom:22px; opacity:0.88; }
#aeea .post-body h2{ font-family:var(--font-display); font-size:28px; font-weight:700; margin:40px 0 16px; }
#aeea .post-body h3{ font-family:var(--font-display); font-size:22px; font-weight:700; margin:32px 0 14px; }
#aeea .post-body ul, #aeea .post-body ol{ margin:0 0 22px 22px; font-size:17px; opacity:0.88; }
#aeea .post-body a{ color:var(--coral-deep); text-decoration:underline; text-underline-offset:3px; }
#aeea .post-body img{ margin:28px 0; border-radius:var(--radius-lg); }
#aeea .post-body blockquote{ border-left:3px solid var(--coral); padding-left:20px; font-style:italic; opacity:0.75; margin:28px 0; }
#aeea .post-nav{ max-width:740px; margin:40px auto 0; display:flex; justify-content:space-between; gap:20px; padding-top:28px; border-top:1px solid var(--line-light); font-size:14px; }
#aeea .post-nav a{ max-width:45%; }
#aeea .post-nav .next{ text-align:right; margin-left:auto; }
#aeea .footer-spacer{ margin-top:80px; }
#aeea .post-nav .lbl{ display:block; font-family:var(--font-mono); font-size:11px; text-transform:uppercase; opacity:0.5; margin-bottom:4px; }

/* ---------- join ---------- */
#aeea .join{ text-align:center; background:linear-gradient(135deg, var(--sun), var(--coral)); color:var(--violet); }
#aeea .join h2{ font-family:var(--font-display); font-weight:800; font-size:clamp(30px,5vw,54px); max-width:20ch; margin:0 auto 20px; line-height:1.1; }
#aeea .join h2 em{ font-style:normal; color:#fff; }
#aeea .join p{ max-width:48ch; margin:0 auto 36px; font-size:16px; opacity:0.85; }
#aeea .join-actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
#aeea .join .btn-primary{ background:var(--violet); color:#fff; }
#aeea .join .btn-primary:hover{ box-shadow:0 10px 28px rgba(36,18,69,0.35); }
#aeea .join .btn-ghost{ border-color:rgba(36,18,69,0.35); color:var(--violet); }
#aeea .join .btn-ghost:hover{ border-color:var(--violet); background:rgba(36,18,69,0.08); }

/* ---------- footer ---------- */
#aeea .site-footer{ background:var(--violet-deep); color:#fff; padding:56px 0 40px; }
#aeea .footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px; margin-bottom:44px; }
#aeea .footer-grid .site-logo img{ height:26px; margin-bottom:14px; }
#aeea .footer-grid h4{ font-family:var(--font-mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; opacity:0.68; margin-bottom:14px; color:#fff; }
#aeea .footer-grid a, #aeea .footer-grid p{ display:block; font-size:14px; opacity:0.75; margin-bottom:9px; }
#aeea .footer-grid a:hover{ color:var(--sun); opacity:1; }
#aeea .footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; border-top:1px solid var(--line-dark); font-size:12px; opacity:0.68; flex-wrap:wrap; gap:12px; }
@media (max-width:760px){ #aeea .footer-grid{ grid-template-columns:1fr 1fr; } }
