/* Identidad pública: papel, tinta y acentos de afiche teatral. */
:root { --paper:#f7f2e8; --ink:#292720; --muted:#625c51; --accent:#9c3c29; --line:#cfc4b2; --wash:#eee5d6; }
html { scroll-behavior:smooth; scroll-padding-top:120px; }
body { background:var(--paper); color:var(--ink); font-weight:400; font-size:16px; line-height:1.8; }
::selection { background:#e4bda4; color:var(--ink); }
a:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
nav, .lg-nav { background:rgba(247,242,232,.97); border-color:var(--line); min-height:76px; height:auto; padding:18px clamp(20px,4vw,64px); gap:24px; }
.nav-logo, .lg-nav-logo { color:var(--ink); font-size:14px; letter-spacing:.09em; }
.nav-logo span, .lg-nav-links a.link-ciclo { color:var(--accent); }
.nav-loc, .lg-nav-links a { color:var(--muted); font-size:11px; }
.lg-nav-links { gap:clamp(12px,2vw,28px); flex-wrap:wrap; }
.lg-nav-links a:hover, .lg-nav-links a.link-ciclo:hover { color:var(--accent); text-decoration:underline; text-underline-offset:6px; }
.lg-hero { background:var(--paper); border-bottom:1px solid var(--line); padding:80px 32px; isolation:isolate; }
.lg-hero::before { background:none; inset:24px; border:1px solid var(--line); z-index:-1; }
.lg-eyebrow, .eyebrow, .lg-section-label { color:var(--accent); font-size:12px; font-weight:500; letter-spacing:.2em; }
.lg-hero-title, .main-title { color:var(--ink); font-size:clamp(2.4rem,9.5vw,8.4rem); line-height:1.02; letter-spacing:-.055em; }
.lg-hero-title-sub, .main-title-sub { color:var(--accent); font-size:clamp(3.4rem,8vw,7rem); line-height:1.12; }
.lg-hero-tagline { color:var(--muted); font-size:22px; max-width:540px; margin-top:20px; }
.lg-cta, .btn-main { background:var(--accent); color:#fffaf3; border:1px solid var(--accent); font-size:12px; font-weight:500; letter-spacing:.12em; padding:16px 26px; border-radius:0; line-height:1.6; text-align:center; }
.lg-cta:hover, .btn-main.primary:hover { background:var(--ink); border-color:var(--ink); color:#fffaf3; box-shadow:none; }
.lg-section { max-width:1120px; padding:88px 40px; }
.lg-section-divider { border-color:var(--line); }
.lg-section-title { color:var(--ink); font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.035em; margin-bottom:32px; }
.lg-section-title em { color:var(--accent); }
.lg-body { color:var(--muted); font-size:18px; line-height:1.85; max-width:760px; }
.lg-pullquote { color:var(--accent); font-size:clamp(24px,3vw,34px); border-color:var(--accent); margin:40px 0 0; padding:12px 0 12px 28px; }
.lg-formula { color:var(--ink); background:var(--wash); border-color:var(--line); font-size:24px; padding:12px 24px; transform:rotate(-2deg); }
.lg-pillars { gap:24px; border:0; grid-template-columns:repeat(3,minmax(0,1fr)); }
.lg-pillar { border:0; border-top:2px solid var(--ink); padding:28px 0; }
.lg-pillar-num { color:var(--accent); font-size:64px; margin-bottom:22px; }
.lg-pillar-title { color:var(--ink); font-size:22px; }
.lg-pillar-body, .lg-tradition-body, .lg-coord-bio { color:var(--muted); font-size:16px; line-height:1.85; }
.lg-traditions, .lg-coordinadores { gap:40px; }
.lg-tradition { border-color:var(--line); padding-top:24px; }
.lg-tradition-name, .lg-coord-name { color:var(--ink); font-size:24px; letter-spacing:0; text-transform:none; }
.lg-tradition-role, .lg-coord-role { color:var(--accent); font-size:12px; }
.lg-coord { border-color:var(--accent); padding-top:28px; }
.lg-ciclo { background:var(--wash); border:1px solid var(--line); border-top:5px solid var(--accent); padding:40px; gap:40px; }
.lg-ciclo-title { color:var(--accent); font-size:40px; }
.lg-ciclo-icon { color:var(--accent); }
.lg-ciclo-text { color:var(--muted); font-size:16px; }
.lg-ciclo-text strong[style] { color:var(--ink) !important; }
.lg-ciclo p[style] { font-size:16px !important; color:var(--muted) !important; }
.lg-testimonios { max-width:1120px; padding:72px 40px 100px; }
.lg-testimonios-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.lg-testimonio-card { background:#fffaf1; border:1px solid var(--line); border-radius:0; padding:32px; }
.lg-testimonio-card:hover { border-color:var(--accent); transform:none; }
.lg-testimonio-quote, .lg-testimonio-title, .lg-testimonio-text { color:var(--ink); }
.lg-testimonio-title { font-size:25px; }
.lg-testimonio-text { font-size:18px; }
.lg-testimonio-author { color:var(--accent); border-color:var(--line); }
.lg-testimonios [style*='color: #8c887f'] { color:var(--muted) !important; }
.lg-contacto, .lg-footer { background:var(--wash); border-color:var(--line); color:var(--muted); }
.lg-contacto-title, .lg-contact-card-name { color:var(--ink); }
.lg-contacto-sub, .lg-contact-card .tel { color:var(--muted); }
.lg-contact-card { border-color:var(--line); }
.lg-contact-card a { color:var(--accent); }
.lg-footer { padding:32px 24px; font-size:12px; }

/* El taller: una portada de cuaderno de trabajo. */
.page-taller .lg-hero { min-height:680px; align-items:flex-start; text-align:left; padding:88px max(40px,calc((100vw - 1040px)/2)); }
.page-taller .lg-hero::after { content:''; position:absolute; width:200px; height:200px; border:24px double var(--accent); border-radius:50%; right:7%; bottom:65px; transform:rotate(-18deg) skew(-12deg); opacity:.12; z-index:-1; }

/* Lo Grotesco: cartel de temporada y fichas de programa. */
.page-ciclo { --accent:#a02b38; --paper:#faf5ec; --wash:#f0e4da; }
.page-ciclo .lg-hero { min-height:500px; background:repeating-linear-gradient(90deg,transparent 0,transparent 119px,rgba(160,43,56,.045) 119px,rgba(160,43,56,.045) 120px); }
.page-ciclo .lg-hero::before { border:1px solid var(--accent); inset:22px; }
.page-ciclo .lg-hero-title { font-family:'Inter',sans-serif; font-size:14px; letter-spacing:.42em; margin:12px 0; font-weight:500; }
.page-ciclo .lg-hero-title-sub { font-weight:900; font-size:clamp(3rem,8.8vw,8rem); letter-spacing:-.055em; margin:0; }
.page-ciclo .lg-hero-tagline { margin:12px 0 30px; font-size:24px; }
.lg-fechas-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; align-items:stretch; }
.lg-fecha-card, .lg-fecha-card.proxima { background:#fffcf6; border:1px solid var(--line); border-top:5px solid var(--accent); padding:36px; }
.lg-fecha-card:hover { border-color:var(--accent); transform:none; }
.lg-fecha-card.proxima { box-shadow:7px 7px 0 var(--wash); }
.lg-fecha-badge { background:var(--accent); color:#fff; font-size:11px; top:-16px; left:28px; padding:5px 12px; letter-spacing:.12em; }
.lg-fecha-nombre { color:var(--accent); font-size:32px; letter-spacing:-.025em; border-color:var(--line); padding:10px 0 20px; margin-bottom:24px; overflow-wrap:anywhere; }
.lg-fecha-encabezado { color:var(--ink); font-size:26px; }
.lg-fecha-hora { color:var(--accent); font-size:14px; margin-top:8px; }
.lg-fecha-datos { color:var(--muted); font-size:16px; overflow-wrap:anywhere; }
.lg-fecha-item { margin-bottom:18px; }
.lg-fecha-item strong { color:var(--ink); font-size:11px; letter-spacing:.14em; margin-bottom:4px; }
.lg-fecha-action { border-top:1px dashed var(--line); padding-top:24px; text-align:left; }
.lg-alerta-cupo { color:var(--accent); font-size:12px; }
.lg-cta-agotado { background:var(--wash); border-color:var(--line); color:var(--muted); font-size:12px; padding:16px 26px; }
.lg-sin-funciones { background:var(--wash); border:1px dashed var(--line); padding:64px 32px; }
.lg-sin-funciones-title { color:var(--ink); }
.lg-sin-funciones-sub { color:var(--muted); font-size:16px; }

/* La entrada al mismo universo visual. */
.page-home main { padding:140px 24px 48px; min-height:100svh; }
.page-home main::before { background:none; border:1px solid var(--line); inset:96px 24px 24px; width:auto; height:auto; transform:none; }
.page-home .main-title { font-size:clamp(2.25rem,9.3vw,8rem); }
.page-home .main-title-sub { margin-bottom:32px; }
.desc { color:var(--muted); font-size:17px; max-width:660px; margin-bottom:32px; }
.desc strong { color:var(--ink); font-weight:500; }
.btn-main.primary { background:var(--accent); color:#fffaf3; border-color:var(--accent); }
.btn-main.secondary { background:transparent; color:var(--accent); border-color:var(--accent); }
.btn-main.secondary:hover { background:var(--wash); box-shadow:none; }
.footer-meta { position:static; margin-top:56px; color:var(--muted); font-size:11px; padding:0 12px; flex-wrap:wrap; }
/* Agenda estática y repertorio: misma identidad, programa de obras propio. */
.page-repertorio .lg-fecha-card.destacada { background:#fffcf6; border-color:var(--accent); box-shadow:7px 7px 0 var(--wash); }
.lg-fecha-dia { color:var(--ink); font-size:30px; line-height:1.2; letter-spacing:-.025em; margin:8px 0 12px; }
.lg-fecha-detalles { color:var(--muted); font-size:16px; line-height:1.85; }
.lg-fecha-detalles strong { color:var(--ink); }
.lg-obras-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; margin-top:40px; }
.lg-obra-item { background:transparent; border:0; border-top:1px solid var(--line); padding:30px 0 36px; }
.lg-obra-item-title { color:var(--accent); font-size:30px; line-height:1.2; letter-spacing:-.025em; margin-bottom:16px; }
.lg-obra-item-desc { color:var(--muted); font-size:17px; line-height:1.85; max-width:48ch; }
@media (min-width:1100px) {
  .page-repertorio .lg-fechas-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .page-repertorio .lg-fecha-card { padding:30px 24px; }
}
@media (max-width:1000px) {
  .lg-nav { flex-wrap:wrap; gap:10px; }
  .lg-nav-links { width:100%; }
}
@media (max-width:680px) {
  html { scroll-padding-top:150px; }
  nav, .lg-nav { padding:14px 20px; gap:8px; }
  .nav-logo, .lg-nav-logo { font-size:12px; }
  .nav-loc { font-size:9px; }
  .lg-nav-links { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:20px; padding:6px 0; }
  .lg-nav-links li { flex-shrink:0; }
  .lg-nav-links a { display:block; padding:5px 0; }
  .lg-hero, .page-taller .lg-hero { min-height:560px; padding:64px 24px; }
  .lg-hero::before, .page-ciclo .lg-hero::before { inset:12px; }
  .lg-hero-title { font-size:clamp(1.9rem,9vw,3.8rem); }
  .lg-hero-tagline { font-size:20px; }
  .page-taller .lg-hero::after { width:130px; height:130px; right:25px; bottom:32px; }
  .lg-section { padding:56px 24px; }
  .lg-body { font-size:17px; }
  .lg-pillars, .lg-traditions, .lg-coordinadores, .lg-ciclo, .lg-contact-cards, .lg-testimonios-grid, .lg-fechas-grid { grid-template-columns:minmax(0,1fr); }
  .lg-pillars { gap:12px; }
  .lg-pillar { padding:24px 0; }
  .lg-ciclo { padding:28px 24px; gap:28px; }
  .lg-testimonios { padding:48px 24px 64px; }
  .lg-testimonio-card { padding:24px; }
  .page-ciclo .lg-hero { min-height:440px; }
  .lg-fecha-card, .lg-fecha-card.proxima { padding:30px 24px; }
  .lg-fecha-nombre { font-size:28px; }
  .lg-fecha-action .lg-cta { display:block; }
  .lg-obras-list { grid-template-columns:minmax(0,1fr); }
  .lg-obra-item-title { font-size:27px; }
  .page-home main { padding:120px 24px 44px; }
  .page-home main::before { inset:90px 12px 12px; }
  .footer-meta { margin-top:36px; gap:12px; }
  .btns { width:100%; max-width:440px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none !important; }
}
