:root{
  --ink:#211d22; --ink-2:#383036; --paper:#eee8e1; --paper-2:#ddd5cf;
  --olive:#756f66; --plum:#8d7890; --plum-dark:#4c3e4c;
  --red:#e5201a; --yellow:#fff09a; --cyan:#24d3f3; --white:#fffdf9;
  --shadow:0 18px 44px rgba(33,29,34,.16); --radius:22px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.6} a{color:inherit} img{max-width:100%;display:block} button,input,textarea{font:inherit}.container{width:min(1160px,92vw);margin:auto}
.site-header{position:sticky;top:0;z-index:30;background:rgba(33,29,34,.95);backdrop-filter:blur(12px);color:var(--white);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{min-height:84px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:260px}.brand-mark{width:68px;height:60px;display:grid;place-items:center}.brand-mark img{width:68px;height:60px;object-fit:contain}.brand-text{display:grid;gap:0}.brand-text strong{font-size:1.05rem}.brand-text small{color:var(--cyan);font-size:.72rem}.main-nav{display:flex;align-items:center;gap:8px;margin-left:auto}.main-nav a{padding:12px 12px;text-decoration:none;border-radius:12px;opacity:.88}.main-nav a:hover,.main-nav a.active{background:rgba(255,255,255,.08);opacity:1}.main-nav .nav-cta{color:var(--ink);background:var(--yellow);font-weight:800}.nav-toggle{display:none;margin-left:auto;background:none;border:0;color:var(--white);font-size:1.8rem}
.hero{position:relative;min-height:690px;display:grid;align-items:end;overflow:hidden;background:var(--plum-dark);color:var(--white)}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media{overflow:hidden}.hero-slide{position:absolute;inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);object-fit:cover;opacity:0;filter:blur(2px);transform:scale(1.045);transition:opacity 1s ease,transform 7s ease}.hero-slide.is-active{opacity:1;transform:scale(1.02)}.hero-overlay{background:linear-gradient(90deg,rgba(24,20,23,.82) 0%,rgba(24,20,23,.6) 38%,rgba(24,20,23,.2) 76%,rgba(24,20,23,.48) 100%),linear-gradient(0deg,rgba(24,20,23,.58),transparent 52%)}.hero-copy{position:relative;z-index:2;padding:120px 0 70px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;font-size:.74rem;font-weight:900;color:var(--cyan);margin:0 0 10px}.hero h1{font-size:clamp(3rem,8vw,6.5rem);line-height:.94;max-width:860px;margin:0 0 24px;font-weight:900;letter-spacing:-.04em}.hero h1 span{color:var(--yellow)}.hero-lead{max-width:680px;font-size:1.15rem}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:999px;font-weight:900;text-decoration:none;border:1px solid transparent}.button-primary{background:var(--red);color:var(--white)}.button-ghost{border-color:rgba(255,255,255,.45);color:var(--white)}.button-dark{background:var(--ink);color:var(--white)}.button-light{background:var(--yellow);color:var(--ink)}.carousel-dots{display:flex;gap:7px;margin-top:32px}.dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.35);padding:0;cursor:pointer}.dot.is-active{background:var(--yellow);transform:scale(1.2)}
.section{padding:96px 0}.section-tint{background:linear-gradient(135deg,#f1ece7,#ded5df)}.section-dark{background:var(--ink);color:var(--white)}.section-image{background:linear-gradient(135deg,var(--olive),var(--plum))}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:34px}h2{font-size:clamp(2rem,5vw,3.5rem);line-height:1.02;margin:.1rem 0 1rem;letter-spacing:-.03em}h3{line-height:1.15;margin:.3rem 0 .7rem}.text-link{font-weight:900;text-decoration:none;border-bottom:2px solid var(--cyan);padding-bottom:2px}.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.quote-card{background:var(--yellow);padding:48px;border-radius:32px;box-shadow:var(--shadow)}.quote{font-size:clamp(2rem,5vw,4.2rem);line-height:.95;margin:0 0 18px;font-weight:900;color:var(--red)}.small{font-size:.86rem}.muted{opacity:.68}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.show-card{position:relative;display:flex;min-height:230px;flex-direction:column;justify-content:flex-end;padding:26px;border-radius:var(--radius);text-decoration:none;overflow:hidden;background:linear-gradient(155deg,var(--plum),var(--olive));box-shadow:var(--shadow);transition:transform .25s ease}.show-card:hover{transform:translateY(-4px)}.show-card:nth-child(3n+1){background:linear-gradient(155deg,#705f69,#9b8790)}.show-card:nth-child(3n+2){background:linear-gradient(155deg,#5e6c68,#8c7d69)}.show-card:nth-child(3n+3){background:linear-gradient(155deg,#754c4b,#a17a71)}.section-dark .show-card{color:var(--white)}.show-card h3{font-size:1.35rem;max-width:430px}.show-card span{font-size:.84rem;font-weight:900;color:var(--yellow)}.show-number{position:absolute;top:18px;right:18px;font-weight:900;color:var(--yellow);font-size:1.1rem}.image-panel{display:grid;grid-template-columns:1fr 1fr;min-height:440px;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:rgba(0,0,0,.18)}.image-panel-copy{padding:48px;color:var(--white);align-self:center}.image-panel-copy h2{color:var(--yellow)}.image-panel-media img{width:100%;height:100%;object-fit:cover;min-height:440px}.news-card{padding:26px;border-radius:20px;background:var(--white);border:1px solid rgba(33,29,34,.08);box-shadow:0 8px 28px rgba(33,29,34,.06)}.news-meta{font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}.event-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.event-card{display:grid;grid-template-columns:84px 1fr;gap:20px;padding:24px;border:1px solid rgba(33,29,34,.1);background:rgba(255,255,255,.64);border-radius:20px}.event-date{display:flex;align-items:center;justify-content:center;flex-direction:column;border-right:1px dashed rgba(33,29,34,.25);padding-right:18px}.event-date strong{font-size:2rem;line-height:1}.event-date span{font-weight:900;color:var(--red)}
.page-hero{padding:92px 0 74px;background:linear-gradient(135deg,var(--olive),var(--plum));color:var(--white)}.page-hero h1{font-size:clamp(3rem,8vw,5.5rem);margin:.1rem 0 .8rem;line-height:.94}.page-hero p:not(.eyebrow){max-width:760px;font-size:1.08rem}.tab-scroller{display:flex;gap:9px;overflow:auto;padding-bottom:10px;margin-bottom:28px;scrollbar-width:thin}.tab{border:1px solid rgba(33,29,34,.16);background:var(--white);padding:10px 14px;border-radius:999px;white-space:nowrap;cursor:pointer;font-weight:900}.tab.active{background:var(--red);color:var(--white);border-color:var(--red)}.detail-card{background:var(--white);border-radius:32px;padding:38px;box-shadow:var(--shadow);border:1px solid rgba(33,29,34,.08)}.detail-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(33,29,34,.1);padding-bottom:22px;margin-bottom:30px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.facts>div{padding:16px;border-radius:16px;background:#f4efeb}.facts strong,.facts span{display:block}.facts strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red)}.video-wrap{aspect-ratio:16/9;background:var(--ink);border-radius:22px;overflow:hidden}.video-wrap iframe{width:100%;height:100%;border:0}.video-placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:30px;color:var(--white);background:radial-gradient(circle at 30% 20%,#5d4e5f,#1c191c 70%)}.video-placeholder p{max-width:420px;color:#ddd}.video-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--red);font-size:1.5rem}.empty-state{padding:46px;border:2px dashed rgba(33,29,34,.16);border-radius:24px;background:rgba(255,255,255,.36)}.empty-state code{background:rgba(33,29,34,.08);padding:2px 5px;border-radius:5px}.calendar-shell{background:var(--white);border-radius:32px;padding:28px;box-shadow:var(--shadow)}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.calendar-head h2{margin:0;font-size:2rem}.icon-button{border:1px solid rgba(33,29,34,.15);background:var(--paper);width:46px;height:46px;border-radius:14px;cursor:pointer;font-size:1.2rem}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{padding:10px;text-align:center;font-size:.76rem;font-weight:900;text-transform:uppercase;color:var(--plum-dark)}.calendar-day{min-height:120px;border:1px solid rgba(33,29,34,.08);padding:9px;background:#fbf9f6}.calendar-day>span{font-weight:900}.muted-day{opacity:.32}.has-event{background:#fff6d1}.day-events{display:grid;gap:6px;margin-top:8px}.day-events a{font-size:.72rem;text-decoration:none;background:var(--cyan);padding:5px 7px;border-radius:7px;font-weight:900}.calendar-list{display:grid;gap:14px;margin-top:24px}.chips-list{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-block;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:var(--white);background:rgba(255,255,255,.05);font-size:.86rem}.festival-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 30px}.festival-item{padding:11px 0;border-bottom:1px solid rgba(33,29,34,.1)}.portrait,.image-frame{margin:0;border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.portrait img,.image-frame img{width:100%;height:100%;object-fit:cover}.portrait{min-height:420px}.image-frame{min-height:450px}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:30px}.contact-card,.form-card{background:var(--white);padding:34px;border-radius:30px;box-shadow:var(--shadow)}.contact-list{display:grid;gap:18px}.contact-list div{padding-bottom:18px;border-bottom:1px solid rgba(33,29,34,.1)}.contact-list dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red);font-weight:900}.contact-list dd{margin:5px 0 0}.form-card form{display:grid;gap:16px}.form-card label{display:grid;gap:6px;font-weight:900}.form-card input,.form-card textarea{width:100%;padding:13px 14px;border:1px solid rgba(33,29,34,.16);border-radius:13px;background:#fbfaf8;color:var(--ink);outline:none}.form-card input:focus,.form-card textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 4px rgba(36,211,243,.15)}.hp{display:none!important}.site-footer{background:var(--ink);color:var(--white);padding:34px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.footer-grid a{text-decoration:none;color:var(--cyan)}
@media(max-width:960px){.main-nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--ink);padding:14px 4vw;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.nav-toggle{display:block}.brand{min-width:0}.hero-copy{padding:96px 0 56px}.hero{min-height:640px}.cards-grid,.grid-2,.detail-grid,.contact-grid,.image-panel,.footer-grid{grid-template-columns:1fr}.event-strip{grid-template-columns:1fr}.festival-grid{grid-template-columns:1fr}.image-panel-media img{min-height:320px}.calendar-day{min-height:90px}.day-events a{font-size:.64rem}.facts{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.section{padding:68px 0}.hero h1{font-size:3.3rem}.hero-lead{font-size:1rem}.brand-text small{display:none}.brand-mark{width:58px;height:50px}.brand-mark img{width:55px;height:47px}.calendar-shell{padding:16px}.calendar-weekdays span{font-size:.64rem}.calendar-day{min-height:66px;padding:6px}.day-events{display:none}.calendar-day.has-event{box-shadow:inset 0 -4px 0 var(--red)}.split-heading{align-items:start;flex-direction:column}.page-hero{padding:70px 0 58px}}

.cms-loading{padding:24px 0;color:#713743;font-weight:700}
.cms-error{margin-top:22px;padding:14px 18px;border-radius:12px;background:#fff0d5;color:#67343d;font-weight:700}
.related-events{display:grid;gap:12px;margin-top:16px}
.related-event{display:grid;gap:3px;padding:14px 16px;border:1px solid rgba(113,55,67,.2);border-radius:12px;background:rgba(255,255,255,.72)}
.related-event .text-link{justify-self:start}
.member-bio{font-size:.93rem;line-height:1.55}
.news-dialog-body figure{margin:20px 0}
.news-dialog-body figure img{max-width:100%;height:auto;border-radius:12px}

/* Direção visual exclusiva da página inicial */
.home .site-header{
  position:fixed;
  left:0;
  right:0;
  background:rgba(119,48,58,.78);
  backdrop-filter:blur(14px) saturate(120%);
  box-shadow:0 8px 28px rgba(91,37,46,.14);
}
.home .section-dark{background:linear-gradient(145deg,#67343d,#834955)}
.home .site-footer{background:#68343d}
.home .button-dark{background:#7b3d48}
.home .image-panel{background:rgba(103,52,61,.24)}

/* Carrossel sem desfoque e com espelhamento seletivo */
.hero-slide{
  --flip:1;
  filter:none;
  transform:scaleX(var(--flip)) scale(1.045);
}
.hero-slide.is-flipped{--flip:-1}
.hero-slide.is-active{transform:scaleX(var(--flip)) scale(1.02)}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(91,37,49,.8) 0%,rgba(91,37,49,.55) 38%,rgba(91,37,49,.1) 76%,rgba(91,37,49,.3) 100%),
    linear-gradient(0deg,rgba(62,27,37,.5),transparent 54%);
}

/* Card Acesse a cultura */
.quote-card{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.quote-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:url("../images/hero-om-co-to-02.jpg") center/cover no-repeat;
  opacity:.24;
  mix-blend-mode:multiply;
}
.quote-card .small{max-width:360px;font-weight:800}
.social-links{display:flex;gap:10px;margin-top:24px}
.social-links a{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,253,249,.86);
  color:#753742;
  box-shadow:0 8px 20px rgba(70,28,37,.14);
  transition:transform .2s ease,background .2s ease;
}
.social-links a:hover{transform:translateY(-2px);background:var(--white)}
.social-links svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.social-links .icon-fill,.social-links path{fill:currentColor;stroke:none}

/* Capas fotográficas dos espetáculos em destaque */
.show-card{min-height:300px}
.show-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(0deg,rgba(73,29,39,.94) 0%,rgba(73,29,39,.58) 42%,rgba(73,29,39,.06) 78%);
}
.show-card-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .5s ease;
}
.show-card:hover .show-card-image{transform:scale(1.04)}
.show-card--contain .show-image-backdrop,.show-gallery-card--contain .show-image-backdrop,.show-dialog-media--contain .show-image-backdrop{object-fit:cover;filter:blur(16px) brightness(.68);transform:scale(1.14)}
.show-card--contain .show-image-foreground,.show-gallery-card--contain .show-image-foreground,.show-dialog-media--contain .show-image-foreground{object-fit:contain}
.show-card--contain .show-image-foreground{padding:8px}
.show-card--contain:hover .show-image-foreground{transform:scale(1.01)}
.show-card h3,.show-card>span{position:relative;z-index:2}
.show-card>span{font-size:.84rem;font-weight:900;color:var(--yellow)}
.show-number{
  z-index:2;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(104,44,55,.8);
  backdrop-filter:blur(8px);
  font-size:1rem;
}

@media(max-width:960px){
  .home .main-nav{background:rgba(104,52,61,.97)}
}

/* Reserva da agenda */
.agenda-reservation{display:flex;justify-content:flex-start;margin-top:28px}
.button-reserve{
  background:#1686d9;
  color:var(--white);
  box-shadow:0 12px 28px rgba(22,134,217,.24);
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
.button-reserve:hover{
  background:#0875c4;
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(22,134,217,.3);
}

/* Destaque do Espaço Cultural na página inicial */
.home .section-image{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#756f66,#8d7890);
}
.home .section-image::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-140px;
  top:-180px;
  border-radius:50%;
  background:rgba(255,240,154,.12);
}
.home .image-panel{
  position:relative;
  grid-template-columns:.78fr 1.22fr;
  min-height:520px;
  background:#713743;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 26px 64px rgba(63,31,42,.28);
}
.home .image-panel-copy{
  position:relative;
  z-index:2;
  padding:58px;
  background:linear-gradient(145deg,#713743,#814653);
}
.home .image-panel-copy h2{
  font-size:clamp(2.35rem,3.2vw,3.65rem);
  max-width:13ch;
}
.home .image-panel-copy p:not(.eyebrow){
  max-width:38ch;
  font-size:1.04rem;
}
.home .image-panel-media{
  position:relative;
  min-height:520px;
  margin:0;
  overflow:hidden;
}
.home .image-panel-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(113,55,67,.28),transparent 24%);
  pointer-events:none;
}
.home .image-panel-media img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center;
}

@media(max-width:960px){
  .home .image-panel{grid-template-columns:1fr;min-height:0}
  .home .image-panel-copy{padding:44px}
  .home .image-panel-copy h2{max-width:15ch}
  .home .image-panel-media{min-height:0;aspect-ratio:4/3}
  .home .image-panel-media::after{background:linear-gradient(0deg,rgba(113,55,67,.18),transparent 28%)}
  .home .image-panel-media img{min-height:0}
}

@media(max-width:640px){
  .agenda-reservation{justify-content:stretch}
  .button-reserve{width:100%}
  .home .image-panel-copy{padding:34px 28px}
}

/* Agenda completa */
.agenda-page .site-header,.news-page .site-header{
  background:rgba(119,48,58,.94);
  backdrop-filter:blur(14px) saturate(120%);
}
.agenda-page .page-hero{
  min-height:430px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(90deg,rgba(47,24,31,.86) 0%,rgba(70,32,42,.58) 48%,rgba(39,27,31,.2) 100%),
    linear-gradient(0deg,rgba(35,22,27,.62),transparent 62%),
    url('../images/hero-om-co-to-02.jpg') center 47%/cover no-repeat;
  text-shadow:0 2px 18px rgba(0,0,0,.38);
}
.news-page .page-hero{
  min-height:430px;
  display:flex;
  align-items:flex-end;
  background:
    linear-gradient(90deg,rgba(47,24,31,.88) 0%,rgba(67,31,41,.6) 50%,rgba(32,24,28,.22) 100%),
    linear-gradient(0deg,rgba(35,22,27,.62),transparent 62%),
    url('../images/hero-boa-noite-01.jpg') center 38%/cover no-repeat;
  text-shadow:0 2px 18px rgba(0,0,0,.38);
}
.news-page #news-list{align-items:stretch}
.news-page .news-card{display:flex;flex-direction:column;min-height:500px;padding:0;overflow:hidden}
.news-page .news-card h3{font-size:1.35rem}
.news-page .news-card p{margin-bottom:0}
.news-card-image{aspect-ratio:16/10;overflow:hidden;background:#ded5df}
.news-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.news-page-card:hover .news-card-image img{transform:scale(1.035)}
.news-card-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:25px 26px 27px}
.news-card-copy .news-meta{margin-bottom:5px;color:var(--red)}
.news-card-copy>p{margin-top:.4rem}
.news-read-button{
  margin-top:auto;
  padding:11px 20px;
  border:0;
  background:#1686d9;
  color:var(--white);
  box-shadow:0 10px 24px rgba(22,134,217,.2);
  cursor:pointer;
}
.news-read-button:hover{background:#0875c4}
.news-dialog{
  width:min(940px,92vw);
  max-height:88vh;
  padding:0;
  overflow:auto;
  border:0;
  border-radius:28px;
  background:var(--white);
  color:var(--ink);
  box-shadow:0 30px 90px rgba(20,15,18,.42);
}
.news-dialog[open]{display:block}
.news-dialog::backdrop{background:rgba(38,25,31,.72);backdrop-filter:blur(5px)}
.news-dialog-close{
  position:absolute;
  z-index:3;
  top:16px;
  right:16px;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:rgba(33,29,34,.86);
  color:var(--white);
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
}
.news-dialog-image{width:100%;height:310px;object-fit:cover}
.news-dialog-copy{max-width:780px;margin:auto;padding:46px 48px 56px}
.news-dialog-copy .news-meta{margin-bottom:10px;color:var(--red)}
.news-dialog-copy h2{font-size:clamp(2rem,4vw,3.5rem);margin-bottom:28px}
.news-dialog-body{font-size:1.06rem;line-height:1.8}
.news-dialog-body p{margin:0 0 1.4rem}
.agenda-calendar-section{background:linear-gradient(145deg,#eee8e1,#ded5df)}
.agenda-page .calendar-shell{
  padding:34px;
  border:1px solid rgba(113,55,67,.1);
  box-shadow:0 24px 58px rgba(67,42,51,.15);
}
.agenda-page .calendar-head>div{text-align:center}
.agenda-page .calendar-head .eyebrow{margin-bottom:3px}
.agenda-page .icon-button{
  background:#713743;
  border-color:#713743;
  color:var(--white);
  transition:transform .2s ease,background .2s ease;
}
.agenda-page .icon-button:hover{background:#8b4654;transform:translateY(-2px)}
.agenda-page .calendar-day{position:relative;background:#fcfaf8}
.agenda-page .calendar-day.has-event{background:#fff4c5;border-color:rgba(113,55,67,.18)}
.calendar-date-button{
  display:flex;
  align-items:center;
  gap:7px;
  width:100%;
  padding:0;
  border:0;
  background:none;
  color:var(--ink);
  font-weight:900;
  text-align:left;
  cursor:pointer;
}
.calendar-event-dot{width:8px;height:8px;border-radius:50%;background:var(--red)}
.day-events button{
  width:100%;
  border:0;
  border-radius:8px;
  padding:6px 8px;
  background:#1686d9;
  color:var(--white);
  font-size:.72rem;
  font-weight:900;
  line-height:1.25;
  text-align:left;
  cursor:pointer;
}
.day-events button:hover{background:#0875c4}
.calendar-help{margin:20px 0 0;color:rgba(33,29,34,.68);font-size:.9rem}
.agenda-list-section{background:#f5f0ea}
.agenda-list-intro{max-width:410px;margin:0;color:rgba(33,29,34,.68)}
.agenda-events-grid{display:grid;gap:22px}
.agenda-event-card{
  display:grid;
  grid-template-columns:260px 1fr;
  min-height:260px;
  overflow:hidden;
  border:1px solid rgba(33,29,34,.08);
  border-radius:26px;
  background:var(--white);
  box-shadow:0 12px 34px rgba(33,29,34,.08);
}
.agenda-event-image{aspect-ratio:1;overflow:hidden;background:#ded5df}
.agenda-event-image img{width:100%;height:100%;object-fit:cover}
.agenda-event-image-empty{display:grid;place-items:center;color:rgba(33,29,34,.5);font-weight:900}
.agenda-event-copy{display:flex;flex-direction:column;align-items:flex-start;padding:30px 34px}
.agenda-event-copy h3{font-size:clamp(1.35rem,2.1vw,2rem);margin-top:0}
.agenda-event-copy>p{margin:.25rem 0 .7rem}
.agenda-event-meta{font-weight:900;color:#713743;text-transform:capitalize}
.event-reserve-button{
  margin-top:auto;
  background:#1686d9;
  color:var(--white);
  box-shadow:0 10px 24px rgba(22,134,217,.2);
}
.event-reserve-button:hover{background:#0875c4}
.event-dialog{
  width:min(840px,92vw);
  max-height:min(720px,88vh);
  padding:0;
  overflow:auto;
  border:0;
  border-radius:28px;
  background:var(--white);
  color:var(--ink);
  box-shadow:0 30px 90px rgba(20,15,18,.42);
}
.event-dialog[open]{display:block}
#event-dialog-content{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(300px,1.15fr)}
.event-dialog::backdrop{background:rgba(38,25,31,.72);backdrop-filter:blur(5px)}
.event-dialog-close{
  position:absolute;
  z-index:2;
  top:14px;
  right:14px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:rgba(33,29,34,.84);
  color:var(--white);
  font-size:1.65rem;
  line-height:1;
  cursor:pointer;
}
.event-dialog-image{width:100%;height:100%;min-height:450px;object-fit:cover}
.event-dialog-copy{padding:46px 42px 40px}
.event-dialog-copy h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:18px}
.event-dialog-copy>p{margin:.4rem 0 1rem}
.event-dialog-meta{text-transform:capitalize;font-weight:900;color:#713743}

@media(max-width:760px){
  .agenda-page .calendar-shell{padding:18px 12px}
  .agenda-page .calendar-head{gap:10px}
  .agenda-page .calendar-head h2{font-size:1.45rem}
  .agenda-page .calendar-head .eyebrow{font-size:.65rem}
  .agenda-page .calendar-day{min-height:58px;padding:6px}
  .calendar-date-button{height:100%;align-items:flex-start}
  .agenda-event-card{grid-template-columns:1fr}
  .agenda-event-image{width:100%;aspect-ratio:1}
  .agenda-event-copy{padding:26px 24px}
  .agenda-event-copy .event-reserve-button{width:100%;margin-top:14px}
  #event-dialog-content{display:block}
  .event-dialog-image{height:auto;min-height:0;aspect-ratio:1;object-fit:cover}
  .event-dialog-copy{padding:30px 24px 28px}
  .event-dialog-copy .event-reserve-button{width:100%}
}

@media(min-width:641px) and (max-width:960px){
  .news-page .news-page-card{display:grid;grid-template-columns:280px 1fr;min-height:300px}
  .news-page .news-card-image{height:100%;aspect-ratio:auto}
}

@media(max-width:640px){
  .news-page .news-card{min-height:0}
  .news-card-copy{padding:24px 23px 26px}
  .news-read-button{width:100%;margin-top:22px}
  .news-dialog-image{height:210px}
  .news-dialog-copy{padding:34px 24px 40px}
  .news-dialog-copy h2{font-size:2rem}
}

/* Galeria completa de espetáculos */
.shows-page .site-header,.workshops-page .site-header,.about-page .site-header{
  background:rgba(119,48,58,.94);
  backdrop-filter:blur(14px) saturate(120%);
}
.shows-gallery-section{background:linear-gradient(145deg,#eee8e1,#ddd5df)}
.shows-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.show-gallery-card{
  position:relative;
  min-height:370px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:24px;
  background:#4b343d;
  color:var(--white);
  box-shadow:0 14px 36px rgba(45,29,35,.16);
  text-align:left;
  cursor:pointer;
  transition:transform .24s ease,box-shadow .24s ease;
}
.show-gallery-card:hover{transform:translateY(-5px);box-shadow:0 22px 48px rgba(45,29,35,.24)}
.show-gallery-card:focus-visible{outline:4px solid var(--cyan);outline-offset:3px}
.show-gallery-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.show-gallery-card:hover img{transform:scale(1.045)}
.show-gallery-card--contain .show-image-foreground{padding:8px}
.show-gallery-card--contain:hover .show-image-foreground{transform:scale(1.01)}
.show-gallery-card--empty{background:linear-gradient(145deg,#777a80,#50535b)}
.show-gallery-card--empty .show-gallery-shade{background:linear-gradient(0deg,rgba(43,45,50,.62),transparent 75%)}
.show-gallery-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(49,19,29,.96) 0%,rgba(49,19,29,.62) 38%,rgba(49,19,29,.08) 74%)}
.show-gallery-year{position:absolute;top:18px;right:18px;padding:5px 10px;border-radius:999px;background:rgba(113,55,67,.82);color:var(--yellow);font-weight:900;backdrop-filter:blur(8px)}
.show-gallery-title{position:absolute;left:22px;right:22px;bottom:54px;font-size:1.28rem;font-weight:900;line-height:1.12}
.show-gallery-action{position:absolute;left:22px;bottom:22px;color:var(--yellow);font-size:.84rem;font-weight:900}
.show-dialog{
  width:100%;
  max-width:none;
  height:100dvh;
  max-height:none;
  margin:0;
  padding:0;
  overflow:auto;
  border:0;
  border-radius:0;
  background:var(--ink);
  color:var(--white);
}
.show-dialog[open]{display:block;animation:portfolioOpen .5s cubic-bezier(.2,.75,.25,1) both}
.show-dialog::backdrop{background:rgba(20,15,18,.84)}
@keyframes portfolioOpen{
  from{opacity:0;transform:translateY(28px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.show-dialog-close{
  position:fixed;
  z-index:5;
  top:22px;
  right:26px;
  width:50px;
  height:50px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  background:rgba(33,29,34,.88);
  color:var(--white);
  font-size:1.9rem;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
#show-dialog-content,#workshop-dialog-content{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);min-height:100dvh}
.show-dialog-media{position:sticky;top:0;height:100dvh;margin:0;overflow:hidden;background:#4b343d}
.show-dialog-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,rgba(33,29,34,.36)),linear-gradient(0deg,rgba(33,29,34,.42),transparent 40%)}
.show-dialog-media img{width:100%;height:100%;object-fit:cover}
.show-dialog-media--contain .show-image-backdrop{position:absolute;inset:0}
.show-dialog-media--contain .show-image-foreground{position:relative;padding:12px}
.show-dialog-media--empty{background:linear-gradient(145deg,#777a80,#50535b)}
.show-dialog-main{padding:76px clamp(42px,6vw,96px) 80px}
.show-dialog-main h2{max-width:880px;font-size:clamp(2.7rem,5vw,5.4rem);color:var(--yellow);margin-bottom:44px}
.show-dialog-synopsis{max-width:760px}
.show-dialog-synopsis h3,.show-dialog-video h3{font-size:1rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
.show-dialog-synopsis p{font-size:1.12rem;line-height:1.78;color:#f4eee9}
.show-dialog-expandable{margin-bottom:30px}
.show-collapsible-text{position:relative;line-height:1.78}
.show-collapsible-text p:first-child{margin-top:0}
.show-collapsible-text.is-collapsed{max-height:3.56em;overflow:hidden}
.show-collapsible-text.is-collapsed::after{content:"";position:absolute;inset:auto 0 0;height:1.3em;background:linear-gradient(transparent,var(--ink));pointer-events:none}
.show-read-more{margin-top:12px;padding:8px 0;border:0;border-bottom:2px solid var(--cyan);background:none;color:var(--cyan);font:inherit;font-weight:900;cursor:pointer}
.show-read-more:hover{color:var(--yellow);border-color:var(--yellow)}
.show-read-more:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.show-dialog-synopsis .show-technical{white-space:pre-line}
.show-dialog-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:760px;margin:34px 0 48px}
.show-dialog-facts>div{padding:20px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.06)}
.show-dialog-facts span,.show-dialog-facts strong{display:block}
.show-dialog-facts span{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan)}
.show-dialog-facts strong{margin-top:4px;font-size:1.05rem}
.show-dialog-video{max-width:860px}
.show-dialog-video .video-wrap{box-shadow:0 20px 50px rgba(0,0,0,.28)}
.workshop-dialog-media .workshop-carousel-photo.is-changing{animation:workshopPhotoIn .34s ease both}
@keyframes workshopPhotoIn{from{opacity:.58;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.workshop-carousel-controls{position:absolute;z-index:2;bottom:28px;left:28px;right:28px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:rgba(48,25,34,.72);backdrop-filter:blur(12px)}
.workshop-photo-arrow{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(255,255,255,.1);color:var(--white);font-size:1.2rem;cursor:pointer}
.workshop-photo-arrow:hover{background:var(--red)}
.workshop-photo-dots{display:flex;justify-content:center;gap:8px;flex:1}
.workshop-photo-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.48);cursor:pointer}
.workshop-photo-dots button[aria-pressed="true"]{background:var(--yellow);transform:scale(1.25)}
.workshop-photo-count{min-width:38px;text-align:center;font-size:.75rem;font-weight:900;color:var(--white)}
.workshop-image-note{margin-top:26px;color:rgba(255,255,255,.66);font-size:.84rem}

@media(max-width:1100px){
  .shows-gallery{grid-template-columns:repeat(3,1fr)}
  .workshops-page .shows-gallery{grid-template-columns:repeat(2,1fr)}
  #show-dialog-content,#workshop-dialog-content{grid-template-columns:minmax(300px,.8fr) minmax(460px,1.2fr)}
}

@media(max-width:760px){
  .shows-gallery{grid-template-columns:repeat(2,1fr);gap:14px}
  .show-gallery-card{min-height:300px;border-radius:20px}
  .show-gallery-title{left:17px;right:17px;bottom:48px;font-size:1.05rem}
  .show-gallery-action{left:17px;bottom:18px}
  .show-gallery-year{top:14px;right:14px;font-size:.84rem}
  #show-dialog-content,#workshop-dialog-content{display:block}
  .show-dialog-media{position:relative;height:45dvh}
  .show-dialog-media::after{background:linear-gradient(0deg,rgba(33,29,34,.72),transparent 50%)}
  .show-dialog-main{padding:36px 24px 58px}
  .show-dialog-main h2{font-size:2.55rem;margin-bottom:32px}
  .show-dialog-synopsis p{font-size:1rem}
  .show-dialog-close{top:14px;right:14px;width:46px;height:46px}
  .workshop-carousel-controls{left:14px;right:14px;bottom:14px}
}

@media(max-width:430px){
  .show-gallery-card{min-height:260px}
  .show-gallery-title{font-size:.98rem}
  .show-gallery-action{font-size:.76rem}
  .show-dialog-facts{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .show-dialog[open],.workshop-dialog-media .workshop-carousel-photo.is-changing{animation:none}
}

/* Imagens de abertura e enquadramento da página Sobre */
.shows-page .page-hero,.workshops-page .page-hero,.about-page .page-hero{
  min-height:440px;
  display:flex;
  align-items:flex-end;
  text-shadow:0 2px 18px rgba(0,0,0,.48);
}
.shows-page .page-hero{
  background:linear-gradient(90deg,rgba(31,18,27,.78),rgba(31,18,27,.43) 54%,rgba(31,18,27,.24)),url('../images/espetaculos-mosaico.png') center/cover no-repeat;
}
.workshops-page .page-hero{
  background:linear-gradient(90deg,rgba(31,18,27,.78),rgba(31,18,27,.36) 62%,rgba(31,18,27,.2)),url('../images/oficina-dancas-brasileiras.jpg') center 54%/cover no-repeat;
}
.about-page .page-hero{
  background:linear-gradient(90deg,rgba(31,18,27,.82),rgba(31,18,27,.48) 58%,rgba(31,18,27,.2)),url('../images/hero-om-co-to-02.jpg') center 52%/cover no-repeat;
}
.about-page .portrait,.about-page .image-frame{
  position:relative;
  width:100%;
  aspect-ratio:1;
  min-height:0;
}
.about-page .portrait img,.about-page .image-frame img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.about-page .portrait img{object-position:67% center}

/* Retratos da equipe */
.member-card{
  overflow:hidden;
  border-radius:24px;
  background:var(--white);
  box-shadow:0 12px 34px rgba(45,29,35,.12);
}
.member-photo{
  aspect-ratio:4/5;
  overflow:hidden;
  background:#d5cccf;
}
.member-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%;
}
.member-card h3{margin:0;padding:20px 22px 0;font-size:1.35rem;color:var(--plum-dark)}
.member-card p{margin:4px 0 0;padding:0 22px 24px;color:var(--red);font-weight:800}
@media(min-width:641px){
  .about-page #members-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* Cabeçalho: marca, navegação e redes com mais presença */
.site-header .nav-wrap{width:min(1480px,96vw);min-height:94px;gap:20px}
.site-header .brand{min-width:270px;gap:14px}
.site-header .brand-mark,.site-header .brand-mark img{width:78px;height:70px}
.site-header .brand-text strong{font-size:1.19rem;line-height:1.2}
.site-header .brand-text small{font-size:.78rem}
.site-header .main-nav{gap:3px}
.site-header .main-nav a{padding:11px 10px;white-space:nowrap}
.header-social{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding-left:16px;border-left:1px solid rgba(255,255,255,.24)}
.header-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.1);transition:background .2s ease,transform .2s ease}
.header-social a:hover{background:rgba(255,255,255,.22);transform:translateY(-2px)}
.header-social a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.header-social img{width:22px;height:22px}

@media(max-width:1260px){
  .site-header .brand{min-width:0}
  .site-header .nav-toggle{display:block;order:3;margin-left:0;cursor:pointer}
  .site-header .main-nav{display:none;position:absolute;top:100%;left:0;right:0;order:4;margin:0;padding:16px 4vw 20px;flex-direction:column;align-items:stretch;background:rgba(104,52,61,.98);box-shadow:0 18px 30px rgba(33,29,34,.2)}
  .site-header .main-nav.open{display:flex}
  .site-header .main-nav a{padding:12px 16px}
  .site-header .header-social{order:2;margin-left:auto}
}
@media(max-width:640px){
  .site-header .nav-wrap{min-height:76px;gap:8px}
  .site-header .brand{gap:7px}
  .site-header .brand-mark,.site-header .brand-mark img{width:52px;height:48px}
  .site-header .brand-text strong{font-size:.92rem}
  .site-header .brand-text small{display:none}
  .header-social{gap:3px;padding-left:8px}
  .header-social a{width:34px;height:34px;border-radius:9px}
  .header-social img{width:19px;height:19px}
  .site-header .nav-toggle{font-size:1.5rem;padding:3px}
}
@media(max-width:380px){
  .site-header .brand-text{display:none}
}

/* Extensão: mesma galeria do portfólio, com textos, fotos e acervo editáveis */
.extension-page .site-header{background:rgba(119,48,58,.94);backdrop-filter:blur(14px) saturate(120%)}
.extension-hero{position:relative;display:flex;align-items:flex-end;min-height:480px;overflow:hidden;background:#5b3942;color:var(--white)}
.extension-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.extension-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(31,18,27,.86),rgba(31,18,27,.52) 56%,rgba(31,18,27,.2))}
.extension-hero-content{position:relative;z-index:1;text-shadow:0 2px 18px rgba(0,0,0,.38)}
.extension-hero-content>div{max-width:740px;font-size:1.08rem}
.extension-hero-content>div p{margin:0 0 12px}
.extension-page .show-gallery-card{min-height:330px}
#extension-dialog-content{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr);min-height:100dvh}
.extension-dialog .show-dialog-main h2{margin-bottom:28px}
.extension-dialog .show-dialog-synopsis p{white-space:pre-line}
.extension-links{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0 42px}
.extension-links a{background:#1788d2;color:#fff}
.extension-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0 42px}
.extension-photo-grid figure{margin:0;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.08)}
.extension-photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}
.extension-photo-grid figcaption{padding:8px 12px;color:rgba(255,255,255,.76);font-size:.8rem}
.extension-catalog{max-width:820px;margin:44px 0}
.extension-catalog label{display:grid;gap:7px;font-weight:800}
.extension-catalog input{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.3);border-radius:12px;background:#fff;color:var(--ink)}
.extension-catalog-count{font-size:.86rem;color:var(--yellow)}
.extension-catalog-scroll{max-height:460px;overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:14px}
.extension-catalog table{width:100%;border-collapse:collapse}
.extension-catalog th,.extension-catalog td{padding:10px 13px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(255,255,255,.12)}
.extension-catalog th{position:sticky;top:0;background:#563944;color:var(--yellow)}
.extension-catalog tr:last-child td{border-bottom:0}
@media(max-width:1100px){#extension-dialog-content{grid-template-columns:minmax(300px,.8fr) minmax(460px,1.2fr)}}
@media(max-width:760px){
  #extension-dialog-content{display:block}
  .extension-photo-grid{grid-template-columns:1fr}
  .extension-page .show-gallery-card{min-height:290px}
  .extension-hero{min-height:410px}
}

/* Destaque fotográfico da página inicial */
.home .quote-card{display:flex;align-items:flex-end;min-height:430px;padding:clamp(30px,4vw,58px);border:1px solid rgba(255,240,154,.58);background:#6b3441;color:var(--white);box-shadow:0 20px 48px rgba(82,42,50,.24);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.home .quote-card::before{z-index:0;opacity:1;mix-blend-mode:normal;background-position:center 42%;transform:scale(1.01);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.home .quote-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(48,24,38,.93) 0%,rgba(48,24,38,.62) 58%,rgba(48,24,38,.12) 100%),linear-gradient(110deg,rgba(144,49,58,.25),transparent 60%)}
.quote-card-content{position:relative;z-index:2;max-width:480px}
.quote-card-kicker{margin:0 0 16px;color:var(--yellow);font-size:.76rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.home .quote-card .quote{max-width:440px;margin-bottom:16px;color:var(--white);font-size:clamp(2.9rem,5.2vw,5rem);text-wrap:balance;text-shadow:0 5px 24px rgba(0,0,0,.28)}
.home .quote-card .quote span{color:var(--yellow)}
.home .quote-card .small{max-width:420px;margin:0;color:#fff7ef;font-weight:600;line-height:1.6}
.quote-card-link{display:inline-flex;align-items:center;gap:12px;margin-top:26px;padding:12px 18px;border:1px solid rgba(255,240,154,.68);border-radius:999px;color:var(--yellow);font-weight:900;text-decoration:none;transition:background .25s ease,color .25s ease,transform .25s ease}
.quote-card-link:hover,.quote-card-link:focus-visible{background:var(--yellow);color:#573641;transform:translateX(4px)}
.quote-card-spark{position:absolute;z-index:2;top:22px;right:28px;color:var(--yellow);font-size:2.8rem;line-height:1;animation:quoteSpark 7s ease-in-out infinite}
.home .quote-card .social-links{margin-top:18px}
.home .quote-card .social-links a{background:rgba(255,255,255,.16);color:var(--white);border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(8px)}
.home .quote-card .social-links a:hover{background:var(--yellow);color:#573641;transform:translateY(-4px) rotate(-6deg)}
@media(hover:hover){.home .quote-card:hover{transform:translateY(-8px) rotate(-.35deg);box-shadow:0 30px 62px rgba(82,42,50,.34)}.home .quote-card:hover::before{transform:scale(1.09)}}
@keyframes quoteSpark{0%,100%{transform:rotate(-12deg) scale(.92);opacity:.7}50%{transform:rotate(16deg) scale(1.12);opacity:1}}

/* Agenda: hora legível no calendário e cartazes de proporção uniforme */
.day-events button{display:flex;flex-direction:column;gap:1px;min-width:0;transition:transform .2s ease,background .2s ease}
.day-events button:hover{transform:translateY(-2px)}
.calendar-event-time{color:#eaffff;font-size:.7rem;line-height:1.1;letter-spacing:.02em}
.calendar-event-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-events-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:24px}
.agenda-event-card{display:flex;flex-direction:column;min-width:0;min-height:0;border-radius:24px;transition:transform .3s ease,box-shadow .3s ease}
.agenda-event-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(61,35,45,.17)}
.agenda-event-image{position:relative;width:100%;aspect-ratio:4/5;flex:none;background:#624753}
.agenda-event-image img{position:absolute;inset:0;width:100%;height:100%}
.agenda-event-image .agenda-event-backdrop{object-fit:cover;filter:blur(22px) brightness(.65);transform:scale(1.12)}
.agenda-event-image .agenda-event-poster{object-fit:contain}
.agenda-event-image-empty{position:relative;background:linear-gradient(145deg,#784b55,#a67972);color:var(--white)}
.agenda-event-copy{flex:1;padding:26px 26px 28px}
.agenda-event-copy h3{font-size:clamp(1.3rem,2vw,1.65rem)}
.agenda-event-copy>p:not(.eyebrow):not(.agenda-event-meta){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.agenda-event-copy .event-reserve-button{width:100%;margin-top:auto;text-align:center}
@media(max-width:980px){.agenda-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.agenda-events-grid{grid-template-columns:1fr}.agenda-event-card{max-width:480px;width:100%;margin:auto}.agenda-page .calendar-day{min-height:82px}.agenda-page .day-events{display:grid;gap:3px}.agenda-page .day-events button{padding:3px 2px;text-align:center;font-size:.58rem}.calendar-event-name{display:none}.calendar-event-time{font-size:.61rem}}

/* Oficinas: ministrante e situação em uma coluna, inclusive nos cartões estreitos. */
.workshop-card-meta{position:absolute;top:18px;right:18px;left:18px;display:flex;flex-direction:column;align-items:flex-end;gap:7px;pointer-events:none}
.workshop-teacher,.workshop-unavailable{display:block;position:static;max-width:100%;box-sizing:border-box;padding:6px 11px;border-radius:999px;font-size:.73rem;font-weight:900;line-height:1.2;text-align:right;white-space:normal;backdrop-filter:blur(8px)}
.workshop-teacher{background:rgba(113,55,67,.88);color:var(--yellow)}
.workshop-dialog-teacher{margin:-14px 0 34px;color:var(--cyan);font-weight:900;font-size:1.05rem}
.workshop-unavailable{background:rgba(54,57,65,.9);color:#fff;letter-spacing:.02em}
.workshop-dialog-unavailable{display:inline-block;margin:-12px 0 28px;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font-weight:800}
#workshop-dialog-content .show-dialog-synopsis p{white-space:pre-line}
@media(max-width:760px){.workshop-card-meta{top:12px;right:12px;left:12px;gap:5px}.workshop-teacher,.workshop-unavailable{font-size:.67rem;padding:5px 8px}}

/* Biblioteca dos Afetos como espaço próprio da Extensão */
.extension-library-section{background:linear-gradient(130deg,#eadfcb,#f6eee3 58%,#e2d6dc)}
.extension-library-feature{display:grid;grid-template-columns:1fr .86fr;min-height:420px;overflow:hidden;border-radius:32px;background:#603b49;color:var(--white);box-shadow:0 24px 58px rgba(48,28,38,.24)}
.extension-library-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(32px,5vw,72px)}
.extension-library-copy h2{color:var(--yellow);text-wrap:balance}
.extension-library-copy>p:not(.eyebrow){max-width:600px;color:#f5ece6;font-size:1.04rem}
.extension-library-count{display:flex;align-items:center;gap:14px;margin:18px 0 26px}
.extension-library-count strong{font-size:2.5rem;line-height:1;color:var(--cyan)}
.extension-library-count span{font-size:.86rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.extension-library-button{border:0;background:var(--yellow);color:#49323e;cursor:pointer;transition:transform .25s ease,background .25s ease}
.extension-library-button:hover{transform:translateX(6px);background:#fff7c3}
.extension-library-media{position:relative;min-height:360px;overflow:hidden;background:#43323b}
.extension-library-media>img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.extension-library-feature:hover .extension-library-media>img{transform:scale(1.045)}
.extension-library-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(38,24,32,.76),transparent 66%)}
.extension-library-bookmarks{position:absolute;z-index:1;right:20px;bottom:24px;left:20px;display:grid;gap:6px}
.extension-library-bookmarks span{width:max-content;max-width:100%;padding:6px 11px;border-radius:8px;background:rgba(255,240,154,.9);color:#513540;font-size:.76rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:rotate(-1deg)}
.extension-library-bookmarks span:nth-child(2){margin-left:15px;transform:rotate(1deg)}
.extension-library-bookmarks span:nth-child(3){margin-left:7px}
@media(max-width:820px){.extension-library-feature{grid-template-columns:1fr}.extension-library-media{max-height:340px}.extension-library-copy{padding:38px 30px}}

/* Integrantes: cartões interativos e perfis editáveis no CMS */
button.member-card{display:block;width:100%;padding:0;border:0;text-align:left;color:inherit;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}
button.member-card:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(45,29,35,.2)}
button.member-card:focus-visible{outline:4px solid var(--cyan);outline-offset:4px}
.member-status{display:inline-block;margin:18px 22px 0;padding:6px 11px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.member-status--active{background:#d9f4e9;color:#146341}
.member-status--inactive{background:#e8e3e0;color:#62565d}
.member-card-action{display:block;padding:0 22px 22px;color:#167cb5;font-size:.83rem;font-weight:900}
.member-dialog{width:min(940px,94vw);max-height:min(790px,90dvh);padding:0;overflow:auto;border:0;border-radius:28px;background:#fffaf3;color:var(--ink);box-shadow:0 30px 90px rgba(24,17,25,.45)}
.member-dialog[open]{animation:portfolioOpen .45s cubic-bezier(.2,.75,.25,1) both}
.member-dialog::backdrop{background:rgba(34,21,30,.74);backdrop-filter:blur(5px)}
#member-dialog-content{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(360px,1.18fr);min-height:520px}
.member-dialog-photo{min-height:520px;background:#704b57}
.member-dialog-photo img{width:100%;height:100%;object-fit:cover}
.member-dialog-copy{padding:54px clamp(30px,5vw,68px)}
.member-dialog-copy h2{margin-bottom:8px;color:#663943}
.member-dialog-role{margin:0 0 26px;color:var(--red);font-weight:900}
.member-dialog-bio{font-size:1rem;line-height:1.7}
.member-dialog-contacts{display:grid;gap:14px;margin-top:28px;padding-top:24px;border-top:1px solid #d7c9c1}
.member-dialog-contacts dt{color:#884955;font-size:.74rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.member-dialog-contacts dd{margin:2px 0 0;overflow-wrap:anywhere}
.member-dialog-contacts a{color:#116f9e;font-weight:800}
.member-dialog-close{position:absolute;z-index:2;top:16px;right:16px;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:#633b47;color:var(--white);font-size:1.7rem;cursor:pointer}
@media(max-width:760px){#member-dialog-content{grid-template-columns:1fr}.member-dialog-photo{min-height:0;height:300px}.member-dialog-copy{padding:32px 25px 42px}}

/* Contato com imagem de abertura e painéis mais vivos */
.contact-page .page-hero{position:relative;isolation:isolate;min-height:430px;display:flex;align-items:center;overflow:hidden;background:#6a3b48 url("../images/hero-om-co-to-02.jpg") center 38%/cover no-repeat}
.contact-page .page-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(47,24,36,.87),rgba(47,24,36,.5) 58%,rgba(47,24,36,.16))}
.contact-page .page-hero h1{text-shadow:0 8px 26px rgba(0,0,0,.3)}
.contact-section{background:radial-gradient(circle at 12% 22%,rgba(255,240,154,.48),transparent 34%),radial-gradient(circle at 86% 82%,rgba(142,104,129,.23),transparent 40%),#eee3dc}
.contact-page .contact-grid{align-items:stretch;grid-template-columns:.9fr 1.1fr;gap:26px}
.contact-page .contact-card{background:linear-gradient(160deg,#72414e,#573747);color:var(--white)}
.contact-page .contact-card h2{color:var(--yellow)}
.contact-page .contact-welcome{max-width:480px;color:#f6ebe7}
.contact-page .contact-list{margin-top:28px}
.contact-page .contact-list div{border-color:rgba(255,255,255,.2)}
.contact-page .contact-list dt{color:var(--cyan)}
.contact-page .contact-list a{color:var(--white);text-decoration-color:var(--yellow);text-underline-offset:3px}
.contact-signature{display:flex;align-items:center;gap:20px;margin-top:34px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2)}
.contact-signature img{width:104px;height:92px;object-fit:contain;flex:none}
.contact-signature p{max-width:200px;color:#fff2cc;font-size:.9rem;font-weight:800}
.contact-page .form-card{border:1px solid rgba(113,55,67,.13);background:#fffbf5}
.contact-page .form-card .button-primary{cursor:pointer;background:#177dc1}
.contact-page .form-card .button-primary:hover{background:#12699f}
@media(max-width:960px){.contact-page .contact-grid{grid-template-columns:1fr}.contact-page .page-hero{min-height:360px}}
.site-header{background:rgba(119,48,58,.94)}
.site-footer{background:#68343d}
.footer-address{font-style:normal;line-height:1.5}
.footer-phone{display:inline-block;margin-top:7px}
.footer-social{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.footer-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.12);transition:background .2s ease,transform .2s ease}
.footer-social a:hover{background:rgba(255,255,255,.25);transform:translateY(-2px)}
.footer-social a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.footer-social img{width:22px;height:22px}
.site-translation{position:fixed;z-index:45;right:18px;bottom:18px;display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid rgba(255,255,255,.34);border-radius:16px;background:var(--red);color:#fffdf9;box-shadow:0 10px 30px rgba(141,28,31,.3)}
.site-translation-label{font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.site-translation .gtranslate_wrapper{min-width:100px}
.site-translation .translation-loading{font-size:.76rem}
.site-translation select{max-width:150px;min-height:34px;border:1px solid rgba(255,255,255,.45);border-radius:8px;background:#a91c22;color:#fffdf9;font:inherit;font-weight:800;cursor:pointer}
.site-translation select:hover{background:#8f1720}
.site-translation select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.agenda-history{grid-column:1/-1;margin-top:16px;border:1px solid rgba(104,52,61,.18);border-radius:22px;background:#fffaf4;overflow:hidden}
.agenda-history summary{display:flex;justify-content:space-between;gap:14px;padding:20px 24px;color:#68343d;font-weight:900;cursor:pointer}
.agenda-history summary:hover{background:#f4e8df}
.agenda-history summary:focus-visible{outline:3px solid #177dc1;outline-offset:-3px}
.agenda-history summary span{font-size:.84rem;color:#776068}
.agenda-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:0 20px 24px}
.agenda-past-label{display:inline-block;margin-top:auto;padding-top:14px;color:#885c66;font-weight:900;font-size:.85rem}
@media(max-width:980px){.agenda-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.agenda-history-grid{grid-template-columns:1fr;padding:0 14px 18px}}
@media(max-width:440px){.site-header .brand-mark,.site-header .brand-mark img{width:45px;height:42px}.site-header .brand-text strong{font-size:.82rem}.header-social a{width:30px;height:30px}.header-social img{width:17px;height:17px}.site-translation{right:9px;bottom:9px;padding:7px 9px}}
@media(min-width:961px){.footer-grid{grid-template-columns:1fr 1.4fr 1fr}}

/* Movimento leve nas páginas, com respeito à preferência de acessibilidade */
html.motion-ready [data-reveal]{opacity:0;transform:translateY(28px) scale(.99);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
html.motion-ready [data-reveal].is-visible{opacity:1;transform:none}
.button,.icon-button{transition:transform .24s ease,box-shadow .24s ease,background .24s ease}
.button:hover,.icon-button:hover{transform:translateY(-3px)}
.button:active,.icon-button:active,.show-gallery-card:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html.motion-ready [data-reveal]{opacity:1;transform:none;transition:none}.quote-card-spark{animation:none}.home .quote-card,.home .quote-card::before,.extension-library-media>img,.show-gallery-card img{transition:none}.show-dialog[open],.member-dialog[open]{animation:none}}
