:root{
  --red:#d3413f;        /* rgb(211,65,63) band & footer accent */
  --coral:#ff5252;      /* rgb(255,82,82) hero underline */
  --dark:#1f1f1f;       /* rgb(31,31,31)  nav / dark headings */
  --ink:#050505;        /* body text */
  --foot:#212121;       /* footer text */
  --content:1138px;     /* inner content width (1366 - 2*114) */
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  font-family:'Open Sans',sans-serif;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}

/* ============ HEADER ============ */
.site-header{
  position:sticky;top:0;z-index:50;
  background:#fff;
  height:56px;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.header-inner{
  height:56px;
  display:flex;align-items:center;justify-content:flex-start;
  padding:0 8px 0 24px;
}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;color:var(--dark);padding:4px;margin-right:4px;}
.brand{display:flex;align-items:center;gap:12px;}
.main-nav{margin-left:auto;}
.brand-logo{height:40px;width:auto;}
.brand-title{
  font-family:'Oswald',sans-serif;
  font-weight:400;
  font-size:22px;
  letter-spacing:.5px;
  color:var(--dark);
}
.main-nav{display:flex;align-items:center;gap:0;}
.nav-item{
  font-family:'Open Sans',sans-serif;
  font-weight:400;
  font-size:16px;
  color:var(--dark);
  padding:6px 6px;
  margin:0 11px;
  cursor:pointer;
  display:inline-flex;align-items:center;gap:5px;
  white-space:nowrap;
}
.nav-item.active{
  background:var(--dark);
  color:#fff;
  border-radius:4px;
  padding:4px 9px;
}
.caret{display:inline-flex;align-items:center;line-height:1;opacity:.85;vertical-align:middle;margin-left:1px;}
.nav-search{
  background:none;border:none;cursor:pointer;
  color:var(--dark);
  margin-left:14px;padding:4px;display:inline-flex;
}

/* ============ HERO ============ */
.hero{
  position:relative;
  height:100vh;
  margin-top:-56px;        /* span full viewport behind the sticky header (matches the original banner) */
  min-height:560px;
  background:url('assets/hero-theater.jpg') center 50%/cover no-repeat;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.18);}
.hero-content{position:relative;z-index:2;top:32px;width:100%;text-align:center;}
.hero-title{
  position:relative;
  margin:0 auto;
  font-family:'Oswald',sans-serif;
  font-weight:400;
  font-size:96px;
  line-height:1.2;
  text-transform:uppercase;
  color:#fff;
  text-align:center;
}
.hero-title::before{
  content:"";
  position:absolute;
  left:50%;transform:translateX(-50%);
  top:calc(100% + 6px);
  width:var(--content);max-width:90vw;
  height:12px;
  background:var(--coral);
}
.hero-title span{
  background:transparent;
  padding:0 18px;
}
.hero-social{
  margin-top:34px;
  display:flex;justify-content:center;gap:14px;
}
.soc-circle{
  width:34px;height:34px;border-radius:50%;
  background:rgba(0,0,0,.35);
  display:flex;align-items:center;justify-content:center;
}
.soc-circle img{width:24px;height:24px;opacity:.92;}

/* ============ SECTIONS ============ */
.band-white{background:#fff;}
.heading-131{
  max-width:var(--content);
  margin:0 auto;
  padding:32px 24px;
  font-family:'Oswald',sans-serif;
  font-weight:400;
  font-size:64px;
  line-height:1.23;
  text-transform:uppercase;
  text-align:center;
  color:var(--dark);
}

.band-red{
  background:var(--red);
  display:flex;align-items:center;justify-content:center;
  padding:32px 24px;
}
.heading-proximas{
  margin:0;
  font-family:'Oswald',sans-serif;
  font-weight:400;
  font-size:50.6667px;
  line-height:1.23;
  text-transform:uppercase;
  text-align:center;
  color:#fff;
}

/* ============ CAROUSEL ============ */
.carousel-section{padding:48px 24px;}
.carousel{
  max-width:var(--content);
  margin:0 auto;
  display:flex;flex-direction:column;align-items:center;
}
.carousel-track{
  position:relative;
  width:520px;max-width:100%;
  height:779px;
}
.slide{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:contain;
  opacity:0;transition:opacity .6s ease;
}
.slide.active{opacity:1;}
.dots{
  margin-top:24px;
  display:flex;gap:10px;justify-content:center;
}
.dot{
  width:10px;height:10px;border-radius:50%;
  background:#bdbdbd;cursor:pointer;
}
.dot.active{background:var(--red);}

/* ============ ATIVIDADES ============ */
.activities{
  max-width:var(--content);
  margin:0 auto;
  padding:0 0 17px;
}
.coral-rule{
  border:none;height:2px;background:rgb(255,117,117);
  margin:0 -8px 57px;
}
.heading-atividades{
  margin:0 0 34px;
  font-family:'Oswald',sans-serif;
  font-weight:400;
  font-size:40px;
  line-height:1.23;
  text-transform:uppercase;
  text-align:center;
  color:var(--dark);
}
.act-text{
  margin:0 0 22px;
  font-family:'Open Sans',sans-serif;
  font-weight:400;
  font-size:26.6667px;
  line-height:1.35;
  color:var(--ink);
}
.act-text a{text-decoration:underline;}

/* ============ RED SPACER ============ */
.band-red-spacer{
  background:var(--red);
  height:67px;
}

/* ============ FOOTER ============ */
.site-footer{
  background:#fff;
  text-align:center;
  padding:34px 24px 44px;
}
.footer-social{
  display:flex;justify-content:center;gap:14px;
  margin-bottom:22px;
}
.foot-circle{
  width:34px;height:34px;border-radius:50%;
  background:#5f6368;
  display:flex;align-items:center;justify-content:center;
}
.foot-circle img{width:22px;height:22px;}
.footer-text{
  margin:0;
  font-family:'Open Sans',sans-serif;
  font-size:13.3333px;
  color:var(--foot);
}

/* ============ COOKIE BANNER ============ */
.cookie-box{
  position:fixed;
  left:24px;bottom:23px;
  z-index:5;
  width:439px;
  background:#fff;
  color:#5f6368;
  padding:16px 18px;
  font-family:'Roboto','Open Sans',sans-serif;
  font-size:16px;
  line-height:1.5;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.cookie-box p{margin:0 0 8px;}
.cookie-actions{
  display:flex;align-items:center;justify-content:flex-end;gap:18px;
  text-transform:uppercase;
}
.cookie-learn{color:#1a73e8;font-weight:500;text-decoration:underline;}
.cookie-ok{
  background:none;border:none;cursor:pointer;
  color:#1a73e8;font-weight:500;font-size:12px;
  font-family:inherit;text-transform:uppercase;padding:0;
}

/* ============ NAV DROPDOWNS ============ */
.nav-cell{position:relative;display:inline-flex;align-items:center;gap:2px;}
.dropdown{
  position:absolute;top:100%;left:0;
  background:#fff;
  min-width:200px;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
  border-radius:2px;
  padding:8px 0;
  display:none;
  z-index:60;
}
.nav-cell:hover .dropdown{display:block;}
.dropdown a{
  display:block;
  padding:9px 18px;
  font-family:'Open Sans',sans-serif;
  font-weight:600;
  font-size:14px;
  color:var(--dark);
  white-space:nowrap;
}
.dropdown a:hover{background:#f2f2f2;}

/* ============ SUB-PAGE BANNER ============ */
.page-banner{position:relative;width:100%;overflow:hidden;background:#fff;}
.banner-bg{position:absolute;left:0;width:100%;background-size:cover;background-repeat:no-repeat;z-index:0;}
.banner-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:1;}
.banner-rule{position:absolute;left:50%;transform:translateX(-50%);background:#ff5252;z-index:2;}
.banner-title{
  position:absolute;left:0;width:100%;margin:0;
  text-align:center;white-space:nowrap;z-index:3;
  font-family:'Oswald',sans-serif;
}

/* ============ PAGE BODY ============ */
.page-body{
  max-width:var(--content);
  margin:0 auto;
  padding:48px 24px 64px;
}
.section-heading{
  margin:38px 0 26px;
  font-family:'Oswald',sans-serif;
  font-weight:400;
  font-size:40px;
  line-height:1.23;
  text-transform:uppercase;
  text-align:center;
  color:var(--dark);
}
.page-body > .section-heading:first-child{margin-top:6px;}
.page-body .act-text{
  font-size:18px;
  line-height:1.6;
  color:var(--ink);
  margin:0 0 20px;
}
.content-figure{margin:28px auto;text-align:center;}
.content-figure img{
  max-width:100%;height:auto;margin:0 auto;
  display:inline-block;
}
.image-row{
  display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;
  gap:16px;margin:26px 0;
}
.image-row img{max-width:100%;height:auto;}

/* member grid (board / órgãos sociais) */
.member-grid{
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:32px 40px;
  margin:18px 0 34px;
}
.member-card{
  margin:0;text-align:center;
}
.member-card img{
  max-width:100%;height:auto;margin:0 auto 10px;display:block;
}
.member-name{
  font-family:'Oswald',sans-serif;font-weight:500;
  font-size:18px;text-transform:uppercase;color:var(--dark);
  margin:0 0 4px;
}
.member-role{
  font-family:'Open Sans',sans-serif;font-size:14px;
  color:#5f6368;margin:0;
}

/* embeds (maps / video) */
.embed{margin:26px 0;}
.embed iframe{width:100%;height:420px;max-width:640px;display:block;}

/* ============ GEOMETRY CANVAS (sub-pages) ============ */
.page-canvas{
  position:relative;
  width:1366px;
  margin:0 auto;
  background:#fff;
}
.abs{position:absolute;box-sizing:border-box;}
.txt{
  margin:0;padding:0;
  font-family:'Open Sans',sans-serif;
  white-space:normal;
  word-wrap:break-word;
}
.txt a{color:#1155cc;}
.page-canvas img{display:block;max-width:none;}
.foot-soc{display:flex;align-items:center;justify-content:center;background:#5f6368;border-radius:50%;width:32px!important;height:32px!important;margin:-2px;}
.foot-soc img{width:22px;height:22px;object-fit:contain;}

/* collapsible widgets */
.collap-chevron{color:#5f6368;font-size:20px;line-height:1;transition:transform .2s;}
.collap-header.expanded ~ .collap-chevron, .collap-chevron.open{transform:rotate(180deg);}
.collap-content p:last-child{margin-bottom:0;}

/* ===================================================================== */
/* ============ RESPONSIVE / MOBILE (max-width:768px) ================== */
/* ===================================================================== */
@media (max-width:768px){
  /* ---- header: hamburger + crest + search ---- */
  .header-inner{padding:0 12px;}
  .nav-toggle{display:inline-flex;align-items:center;}
  .brand{margin-right:auto;gap:8px;}
  .brand-title{display:none;}
  .brand-logo{height:42px;}
  .main-nav{
    margin-left:0;
    position:absolute;top:56px;left:0;right:0;
    flex-direction:column;align-items:stretch;gap:0;
    background:#fff;box-shadow:0 8px 12px rgba(0,0,0,.15);
    padding:4px 0;display:none;
    max-height:calc(100vh - 56px);overflow-y:auto;
  }
  .site-header.nav-open .main-nav{display:flex;}
  .main-nav .nav-cell{display:block;width:100%;}
  .nav-item{margin:0;padding:13px 20px;width:100%;font-size:16px;border-radius:0;}
  .nav-item.active{background:none;color:var(--red);border-radius:0;padding:13px 20px;}
  .caret{margin-left:auto;}
  .dropdown{position:static;display:block;box-shadow:none;border-radius:0;padding:0;min-width:0;background:#f6f6f6;}
  .dropdown a{padding:11px 20px 11px 38px;}
  .nav-search{margin-left:0;}

  /* ---- hero ---- */
  .hero{height:auto;min-height:0;aspect-ratio:390/430;margin-top:-56px;}
  .hero-content{top:0;}
  .hero-title{font-size:44px;line-height:1.1;max-width:6em;}
  .hero-title span{padding:0 10px;}
  .hero-title::before{width:64vw;height:6px;top:calc(100% + 12px);}
  .hero-social{margin-top:34px;gap:12px;}

  /* ---- section headings ---- */
  .heading-131{font-size:40px;padding:40px 22px;line-height:1.22;}
  .band-red{padding:28px 22px;}
  .heading-proximas{font-size:30px;}
  .heading-atividades{font-size:25px;margin:0 0 20px;}
  .act-text{font-size:17px;}
  .carousel-section{padding:40px 16px;}
  .carousel-track{width:100%;max-width:360px;height:auto;aspect-ratio:520/779;}
  .coral-rule{margin:0 0 34px;}

  /* ---- footer / cookie ---- */
  .site-footer{padding:28px 18px 36px;}
  .cookie-box{left:10px;right:10px;bottom:10px;width:auto;}

  /* ---- sub-page banner ---- */
  .page-banner{height:200px!important;}
  .banner-bg{height:100%!important;}
  .banner-title{
    top:44%!important;transform:translateY(-50%);
    white-space:normal!important;font-size:40px!important;
    line-height:1.08!important;padding:0 16px;letter-spacing:0!important;
  }
  /* red title underline, re-centred for the mobile banner (original keeps it) */
  .banner-rule{
    display:block!important;top:auto!important;bottom:26px!important;left:50%!important;
    transform:translateX(-50%)!important;
    width:62%!important;max-width:250px!important;height:6px!important;background:var(--coral)!important;
  }
  /* documentos has a tall cover banner (crest on curtain) — keep it tall on mobile too */
  .page-documentos .page-banner{height:300px!important;}
  .page-documentos .banner-title{top:58%!important;}
  .page-documentos .banner-rule{bottom:auto!important;top:70%!important;}

  /* ---- content canvas: reflow absolute layout into a single column ---- */
  .page-canvas{
    width:100%!important;height:auto!important;
    position:static;padding:22px 16px 8px;display:block;
  }
  .page-canvas .deco{display:none!important;}
  .page-canvas .abs{
    position:static!important;left:auto!important;top:auto!important;
    width:auto!important;max-width:100%!important;height:auto!important;
    min-width:0!important;white-space:normal!important;
    margin:0 0 14px!important;z-index:auto!important;
  }
  .page-canvas .txt{
    text-align:left!important;
    font-size:calc(var(--fs,16px)*1.13)!important;line-height:1.5!important;
  }
  /* on-band buttons keep tighter leading so they stay pill-shaped */
  .page-canvas .on-band{line-height:1.25!important;}
  /* full-bleed red section band (white heading text gets its own red strip on mobile) */
  .page-canvas .band-head{
    display:block!important;background:var(--red)!important;color:#fff!important;
    text-align:center!important;line-height:1.18!important;
    margin:6px -16px 18px!important;padding:18px 16px!important;
    width:calc(100% + 32px)!important;max-width:none!important;box-sizing:border-box;
  }
  .page-canvas .on-band{
    display:block!important;width:fit-content!important;max-width:100%!important;
    background:var(--band,#d3413f)!important;color:#fff!important;
    padding:12px 22px!important;border-radius:3px!important;
    font-weight:600;text-align:center!important;margin:0 auto 22px!important;
  }
  .page-canvas .on-band a{color:#fff!important;}
  .page-canvas .foot-soc{display:inline-flex!important;vertical-align:middle;}
  /* keep each image's captured aspect (inline width capped to viewport); wide content images
     (member photos, room/seating photos) go full-width like the original */
  .page-canvas img{max-width:100%!important;height:auto!important;margin:0 auto 18px!important;}
  .page-canvas .img-wide{width:100%!important;max-width:100%!important;text-align:center;}
  .page-canvas .img-wide img{width:100%!important;height:auto!important;}
  .page-canvas .tl-band{width:100%!important;height:auto!important;object-fit:contain!important;}
  .page-canvas .collap-chevron{display:none!important;}
  .page-canvas .collap-header{cursor:default;}
  /* embedded map: original is a tall (~square) map, not a 16:9 strip */
  .page-canvas iframe.abs{width:100%!important;max-width:100%!important;height:330px!important;margin:0 0 18px!important;}
  .page-canvas .foot-soc{display:inline-flex!important;width:34px!important;height:34px!important;margin:0 8px 16px 0!important;}
  .page-canvas .foot-soc img{width:22px!important;height:22px!important;}
}

/* ===================== MOBILE DUAL-RENDER ===================== */
/* Subpages emit a desktop canvas (.desktop-view) AND a mobile canvas (.mobile-view) rebuilt
   from the original's 390px geometry. Each mode shows its own pixel-reconstructed layout. */
.mobile-view{display:none;}
.m-canvas{position:relative;width:390px;margin:0 auto;overflow:hidden;background:#fff;
  font-family:'Open Sans',sans-serif;}
.m-canvas > *{position:absolute;box-sizing:border-box;}
.m-banner{overflow:hidden;background:#1a1a1a;}
.m-banner .m-ov{position:absolute;inset:0;background:rgba(0,0,0,.5);}
.m-img,.m-band{object-fit:cover;display:block;}
.m-rule{background:var(--coral);z-index:3;}
.m-soc img{width:100%;height:100%;display:block;}
.m-title{z-index:3;}
.m-if{background:#e8e8e8;}
.m-btn{background:var(--red);color:#fff;border-radius:3px;font-weight:600;
  display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;}
.m-btn a{color:#fff;text-decoration:none;}
.m-bandhead{background:var(--red);color:#fff;font-weight:400;
  display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;}

@media (max-width:768px){
  .desktop-view{display:none!important;}
  .mobile-view{display:block!important;}
  /* header overlays the mobile banner/hero (transparent), matching the original */
  .site-header{position:absolute!important;top:0;left:0;right:0;
    background:transparent!important;box-shadow:none!important;color:#fff;z-index:30;}
}

/* index mobile-view extras */
.m-hero{overflow:hidden;background:#111;}
.m-hero .m-ov{position:absolute;inset:0;background:rgba(0,0,0,.2);}
.m-band-red{background:var(--red);}
.m-carousel{overflow:hidden;}
.m-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .6s;}
.m-slide.active{opacity:1;}
.m-dots{display:flex;justify-content:center;gap:10px;}
.m-dot{width:10px;height:10px;border-radius:50%;background:#bdbdbd;}
.m-dot.active{background:var(--red);}
.m-coral{position:absolute;border:none;height:2px;background:rgb(255,117,117);margin:0;}
