/* ── HERO ─────────────────────────────────────────────── */
.hero {
  min-height: 100vh; position: relative; display: flex; align-items: center;
  overflow: hidden; background: var(--clr-dark);
}
.hero__bg {
  position: absolute; inset: 0; z-index: 0;
  background: #080C14;
}
.hero__bg::after {
  content: ''; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(90deg, rgba(8,12,20,.94) 0%, rgba(8,12,20,.76) 44%, rgba(8,12,20,.48) 100%),
    linear-gradient(180deg, rgba(8,12,20,.18) 0%, rgba(8,12,20,.9) 100%);
}
.hero__bg-img {
  position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center; opacity: .7;
  filter: saturate(.8) contrast(1.05);
}
.hero__particles { position: absolute; inset: 0; z-index: 1; overflow: hidden; }
.hero__orb {
  position: absolute; z-index: 2; border-radius: 50%; filter: blur(80px); opacity: .35;
}
.hero__orb--1 { width: 600px; height: 600px; background: #9B1D20; top: -200px; right: -100px; animation: orb-float 8s ease-in-out infinite; }
.hero__orb--2 { width: 400px; height: 400px; background: #1a3a6b; bottom: -100px; left: -50px; animation: orb-float 10s ease-in-out infinite reverse; }
.hero__orb--3 { width: 300px; height: 300px; background: #C9A84C; top: 40%; left: 35%; opacity:.15; animation: orb-float 12s ease-in-out infinite 2s; }
@keyframes orb-float { 0%,100%{transform:translateY(0) scale(1);} 50%{transform:translateY(-40px) scale(1.05);} }
.hero__inner {
  position: relative; z-index: 2; width: 100%;
  max-width: var(--container-max); margin-inline: auto;
  padding: calc(var(--nav-height) + 4rem) var(--sp-6) var(--sp-24);
  display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center;
}
.hero__content { min-width: 0; }
.hero__eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--ff-sans); font-size: .75rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--clr-gold); margin-bottom: 1.25rem;
}
.hero__eyebrow::before { content:''; width:20px; height:1.5px; background:var(--clr-gold); }
.hero__title {
  font-family: var(--ff-serif); font-size: clamp(2.8rem,5vw,5rem);
  font-weight: 700; line-height: 1.08; color: #fff;
  margin-bottom: 1.5rem; letter-spacing: -.02em;
}
.hero__title em { font-style: italic; color: var(--clr-gold); }
.hero__desc { font-size: 1.05rem; color: rgba(255,255,255,.62); line-height: 1.8; margin-bottom: 2.5rem; max-width: 480px; }
.hero__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.hero__stats { display: flex; gap: 2rem; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.08); }
.hero__stat-num { font-family: var(--ff-sans); font-size: 1.8rem; font-weight: 700; color: #fff; }
.hero__stat-num span { color: var(--clr-primary); }
.hero__stat-label { font-size: .75rem; color: rgba(255,255,255,.45); letter-spacing: .06em; text-transform: uppercase; margin-top: .2rem; }
.hero__visual { position: relative; min-height: 520px; }
.hero__animation-mount { position:absolute; inset:-4rem -3rem -3rem; background:transparent; }
.hero__animation-mount .unilivre-animated-hero {
  min-height:100%; height:100%; padding:0; overflow:visible;
  background:transparent; color:#fff;
}
.hero__animation-mount .unilivre-animated-hero::before,
.hero__animation-mount .unilivre-animated-hero::after { display:none; }
.hero__animation-mount .unilivre-hero__inner,
.hero__animation-mount .unilivre-hero__visual { width:100%; height:100%; min-height:100%; }
.hero__animation-mount .unilivre-symbol {
  width:clamp(210px,24vw,310px);
  filter:drop-shadow(0 28px 34px rgba(0,0,0,.38)) drop-shadow(0 0 22px rgba(201,168,76,.18));
}
.hero__animation-mount .unilivre-news-card {
  width:clamp(190px,16vw,230px);
  background:rgba(255,255,255,.94);
}
.hero__animation-mount .unilivre-news-card__media { min-height:118px; }
.hero__animation-mount .unilivre-news-card__body { min-height:60px; padding:12px 14px; }
.hero__animation-mount .unilivre-news-card__title { font-size:.9rem; }
.hero__animation-mount .unilivre-news-card--right { left:calc(50% + clamp(72px,7vw,104px)); }
.hero__animation-mount .unilivre-news-card--left { right:calc(50% + clamp(72px,7vw,104px)); }
.hero__animation-mount .unilivre-hero__connector--right { left:calc(50% + clamp(42px,5vw,78px)); }
.hero__animation-mount .unilivre-hero__connector--left { right:calc(50% + clamp(42px,5vw,78px)); }
.hero__img-placeholder {
  width:100%; height:100%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:.75rem;
  color:rgba(255,255,255,.2); font-family:var(--ff-sans); font-size:.8rem;
  text-align:center; padding:2rem;
}
.hero__img-placeholder svg { opacity:.3; }
.hero__scroll { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); z-index: 2; display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.hero__scroll span { font-size: .65rem; letter-spacing: .12em; color: rgba(255,255,255,.3); text-transform: uppercase; }
.hero__scroll-line { width: 1px; height: 48px; background: linear-gradient(to bottom, rgba(255,255,255,.4), transparent); animation: scroll-pulse 2s ease-in-out infinite; }
@keyframes scroll-pulse { 0%,100%{opacity:.3;transform:scaleY(1);} 50%{opacity:1;transform:scaleY(1.2);} }
@media(max-width:900px){
  .hero__inner{grid-template-columns:1fr;}
  .hero__visual{min-height:520px;margin-top:-1rem;}
  .hero__animation-mount{inset:0;}
  .hero__animation-mount .unilivre-symbol{width:clamp(190px,46vw,285px);}
}
@media(max-width:560px){
  .hero__inner{grid-template-columns:minmax(0,1fr);padding:calc(var(--nav-height) + 3rem) var(--sp-6) var(--sp-16);}
  .hero__content{width:100%;max-width:340px;}
  .hero__title{font-size:2.25rem;letter-spacing:0;overflow-wrap:normal;}
  .hero__title em{display:block;}
  .hero__desc{max-width:100%;font-size:.98rem;line-height:1.75;}
  .hero__actions{display:grid;grid-template-columns:1fr;align-items:stretch;}
  .hero__actions .btn{width:auto;justify-content:center;}
  .hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;}
  .hero__stats > div{min-width:0;}
  .hero__stat-num{font-size:1.55rem;}
  .hero__stat-label{font-size:.64rem;letter-spacing:.04em;line-height:1.5;}
  .hero__scroll{display:none;}
  .hero__visual{min-height:470px;margin-top:1rem;}
  .hero__animation-mount .unilivre-news-card{width:min(100%,320px);}
}

/* ── SOBRE / MISSÃO ───────────────────────────────────── */
.about { background: var(--clr-surface-2); }
.about__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
.about__img-wrap {
  position: relative; border-radius: 20px; overflow: hidden;
  aspect-ratio: 1; background: var(--clr-surface-3);
}
.about__img-wrap img { width:100%; height:100%; object-fit:cover; }
.about__img-decor {
  position: absolute; bottom: -1rem; right: -1rem; width: 60%; height: 60%;
  background: var(--clr-primary); border-radius: 16px; z-index: -1; opacity: .12;
}
.about__placeholder {
  width:100%; height:100%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:.75rem;
  color:rgba(0,0,0,.25); font-family:var(--ff-sans); font-size:.8rem; text-align:center;
}
.about__content { padding-block: 2rem; }
.about__text { font-size: 1rem; color: var(--clr-text-secondary); line-height: 1.9; margin-bottom: 1.5rem; }
.about__pillars { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2rem; }
.about__pillar {
  padding: 1.25rem; background: #fff;
  border-radius: 12px; border: 1px solid var(--clr-border);
  transition: all .25s ease;
}
.about__pillar:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--clr-primary-glow); }
.about__pillar-icon { font-size: 1.5rem; margin-bottom: .5rem; }
.about__pillar-title { font-family: var(--ff-sans); font-size: .85rem; font-weight: 600; color: var(--clr-text-primary); }
@media(max-width:768px){ .about__inner{grid-template-columns:1fr;} .about__img-wrap{aspect-ratio:16/9;} }

/* ── ÁREAS DE ATUAÇÃO ─────────────────────────────────── */
.areas { background: var(--clr-dark); overflow: hidden; }
.areas__header { text-align: center; margin-bottom: 4rem; }
.areas__header h2 { color: #fff; }
.areas__header p { color: rgba(255,255,255,.5); max-width: 560px; margin: 1rem auto 0; }
.areas__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); gap: 1.5rem; }
.area-card {
  background: var(--clr-dark-3); border: 1px solid rgba(255,255,255,.06);
  border-radius: 16px; padding: 2rem; position: relative; overflow: hidden;
  cursor: pointer; transition: all .3s ease;
}
.area-card::before {
  content:''; position:absolute; inset:0; background: linear-gradient(135deg, var(--clr-primary) 0%, transparent 60%);
  opacity:0; transition:opacity .3s ease;
}
.area-card:hover { transform:translateY(-6px); border-color:rgba(155,29,32,.4); box-shadow:0 20px 60px rgba(155,29,32,.2); }
.area-card:hover::before { opacity:.08; }
.area-card__icon {
  width:52px; height:52px; border-radius:12px;
  background:rgba(155,29,32,.15); display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; margin-bottom:1.25rem; transition:background .25s;
}
.area-card:hover .area-card__icon { background:rgba(155,29,32,.3); }
.area-card__title { font-family:var(--ff-sans); font-size:1rem; font-weight:600; color:#fff; margin-bottom:.75rem; }
.area-card__desc { font-size:.85rem; color:rgba(255,255,255,.45); line-height:1.7; }
.area-card__tag {
  display:inline-block; margin-top:1rem; padding:.2rem .7rem;
  background:rgba(155,29,32,.2); color:var(--clr-primary-light);
  border-radius:999px; font-size:.7rem; font-weight:600; letter-spacing:.06em;
}

/* ── NÚMEROS / IMPACTO ────────────────────────────────── */
.impact { background: var(--clr-primary); position: relative; overflow: hidden; }
.impact::before {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}
.impact__inner { position:relative; z-index:1; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:2rem; text-align:center; }
.impact__item-num { font-family:var(--ff-serif); font-size:3.5rem; font-weight:700; color:#fff; line-height:1; }
.impact__item-suffix { font-size:2rem; color:var(--clr-gold); }
.impact__item-label { font-size:.8rem; color:rgba(255,255,255,.65); letter-spacing:.1em; text-transform:uppercase; margin-top:.5rem; }

/* ── PROJETOS DESTAQUE ────────────────────────────────── */
.projects { background: var(--clr-surface); }
.projects__header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:3rem; gap:2rem; }
.projects__grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.project-card {
  position:relative; border-radius:20px; overflow:hidden;
  aspect-ratio:16/10; cursor:pointer; transition:transform .35s ease;
}
.project-card--tall { aspect-ratio:3/4; }
.project-card:hover { transform:scale(1.02); }
.project-card__bg { position:absolute; inset:0; background:var(--clr-dark-3); }
.project-card__bg img { width:100%;height:100%;object-fit:cover;transition:transform .5s ease; }
.project-card:hover .project-card__bg img { transform:scale(1.06); }
.project-card__placeholder { width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:rgba(255,255,255,.2);font-size:.75rem; }
.project-card__overlay { position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0%,transparent 60%); }
.project-card__content { position:absolute;bottom:0;left:0;right:0;padding:1.5rem; }
.project-card__cat { font-size:.7rem;font-weight:600;letter-spacing:.1em;color:var(--clr-gold);text-transform:uppercase;margin-bottom:.4rem; }
.project-card__title { font-family:var(--ff-sans);font-size:1.1rem;font-weight:700;color:#fff;line-height:1.3; }
.project-card__action { margin-top:.75rem;display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:rgba(255,255,255,.6);transition:color .2s; }
.project-card:hover .project-card__action { color:#fff; }
.projects__grid--alt { grid-template-columns:2fr 1fr; }
@media(max-width:768px){ .projects__grid,.projects__grid--alt{grid-template-columns:1fr;} .projects__header{flex-direction:column;align-items:flex-start;} }

/* ── PARCEIROS ────────────────────────────────────────── */
.partners { background:var(--clr-surface-2); }
.partners__header { text-align:center; margin-bottom:3rem; }
.partners__track-wrap { overflow:hidden; position:relative; }
.partners__track-wrap::before,.partners__track-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2;
}
.partners__track-wrap::before { left:0; background:linear-gradient(to right,var(--clr-surface-2),transparent); }
.partners__track-wrap::after { right:0; background:linear-gradient(to left,var(--clr-surface-2),transparent); }
.partners__track { display:flex; gap:2rem; width:max-content; animation:marquee 30s linear infinite; }
.partners__track:hover { animation-play-state:paused; }
@keyframes marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }
.partner-logo {
  height:116px; min-width:260px; padding:.8rem 1.4rem;
  background:#fff; border-radius:12px; border:1px solid var(--clr-border);
  display:flex; align-items:center; justify-content:center;
  filter:grayscale(.2); opacity:.94; transition:all .25s ease; flex-shrink:0;
}
.partner-logo:hover { filter:grayscale(0); opacity:1; transform:translateY(-3px); box-shadow:var(--shadow-md); }
.partner-logo img { max-height:96px; max-width:100%; object-fit:contain; }
.partner-logo span { font-family:var(--ff-sans);font-size:.8rem;font-weight:600;color:var(--clr-text-muted); }

/* ── DEPOIMENTOS ──────────────────────────────────────── */
.testimonials { background:var(--clr-dark-2); overflow:hidden; }
.testimonials__header { text-align:center; margin-bottom:3rem; }
.testimonials__header h2 { color:#fff; }
.testimonials__slider { display:flex; gap:1.5rem; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:.5rem; }
.testimonials__slider::-webkit-scrollbar { display:none; }
.testimonial-card {
  flex-shrink:0; width:360px; scroll-snap-align:start;
  background:var(--clr-dark-3); border:1px solid rgba(255,255,255,.06);
  border-radius:20px; padding:2rem;
}
.testimonial-card__quote { font-size:2.5rem; color:var(--clr-primary); line-height:1; margin-bottom:1rem; font-family:Georgia,serif; }
.testimonial-card__text { font-size:.9rem; color:rgba(255,255,255,.65); line-height:1.8; margin-bottom:1.5rem; }
.testimonial-card__author { display:flex; align-items:center; gap:.75rem; }
.testimonial-card__avatar { width:44px; height:44px; border-radius:50%; background:rgba(155,29,32,.3); display:flex; align-items:center; justify-content:center; font-size:1.1rem; flex-shrink:0; }
.testimonial-card__name { font-family:var(--ff-sans);font-size:.875rem;font-weight:600;color:#fff; }
.testimonial-card__role { font-size:.75rem; color:rgba(255,255,255,.35); }

/* ── CANAL / VÍDEO ────────────────────────────────────── */
.canal { background:var(--clr-dark); }
.canal__inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center; }
.canal__content h2 { color:#fff; margin-bottom:1rem; }
.canal__content p { color:rgba(255,255,255,.55); line-height:1.8; margin-bottom:1.5rem; }
.canal__video {
  position:relative; border-radius:20px; overflow:hidden;
  aspect-ratio:16/9; background:var(--clr-dark-3);
  box-shadow:0 24px 64px rgba(0,0,0,.5);
}
.canal__video iframe { width:100%; height:100%; border:none; }
.canal__video-placeholder { position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.25); }
.canal__video-placeholder::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(8,12,20,.24),rgba(8,12,20,.66));
}
.canal__video-placeholder img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
.canal__play-btn {
  position:relative; z-index:1; width:72px; height:72px; border-radius:50%;
  background:var(--clr-primary); border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .25s ease; box-shadow:0 0 0 0 rgba(155,29,32,.4);
  animation:pulse-ring 2.5s ease-out infinite;
}
.canal__play-btn:hover { transform:scale(1.1); }
@keyframes pulse-ring { 0%{box-shadow:0 0 0 0 rgba(155,29,32,.5);} 80%{box-shadow:0 0 0 24px rgba(155,29,32,0);} 100%{box-shadow:0 0 0 0 rgba(155,29,32,0);} }
@media(max-width:768px){ .canal__inner{grid-template-columns:1fr;} }

/* ── NEWSLETTER ───────────────────────────────────────── */
.newsletter {
  background:linear-gradient(135deg,var(--clr-primary-dark),var(--clr-primary));
  position:relative; overflow:hidden;
}
.newsletter::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/svg%3E"); }
.newsletter__inner { position:relative; z-index:1; text-align:center; }
.newsletter h2 { font-family:var(--ff-serif);font-size:clamp(2rem,4vw,3rem);color:#fff;margin-bottom:.75rem; }
.newsletter p { color:rgba(255,255,255,.7);max-width:480px;margin:0 auto 2rem; }
.newsletter__form { display:flex; gap:.75rem; max-width:500px; margin-inline:auto; }
.newsletter__input {
  flex:1; padding:.75rem 1.25rem; border-radius:999px;
  border:none; background:rgba(255,255,255,.15); color:#fff;
  font-family:var(--ff-body); font-size:.9rem;
  outline:none; backdrop-filter:blur(8px);
  transition:background .2s;
}
.newsletter__input::placeholder { color:rgba(255,255,255,.5); }
.newsletter__input:focus { background:rgba(255,255,255,.22); }
.newsletter__btn {
  padding:.75rem 1.75rem; border-radius:999px;
  background:#fff; color:var(--clr-primary);
  font-family:var(--ff-sans); font-size:.875rem; font-weight:700;
  border:none; cursor:pointer; transition:all .25s ease; white-space:nowrap;
}
.newsletter__btn:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.25); }
@media(max-width:560px){ .newsletter__form{flex-direction:column;} .newsletter__input,.newsletter__btn{border-radius:12px;} }

/* ── FOOTER ───────────────────────────────────────────── */
.footer { background:var(--clr-dark); border-top:1px solid rgba(255,255,255,.06); }
.footer__top { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:3rem; padding-block:4rem; }
.footer__brand-desc { font-size:.875rem; color:rgba(255,255,255,.4); line-height:1.8; margin-block:1rem; max-width:260px; }
.footer__social { display:flex; gap:.75rem; margin-top:1.25rem; }
.footer__social a {
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.06); display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.45); font-size:.85rem; transition:all .2s;
}
.footer__social a:hover { background:var(--clr-primary); color:#fff; transform:translateY(-2px); }
.footer__col-title { font-family:var(--ff-sans); font-size:.8rem; font-weight:700; color:#fff; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1.25rem; }
.footer__links { display:flex; flex-direction:column; gap:.6rem; }
.footer__links a { font-size:.875rem; color:rgba(255,255,255,.4); transition:color .15s; }
.footer__links a:hover { color:#fff; }
.footer__bottom { display:flex; align-items:center; justify-content:space-between; padding-block:1.25rem; border-top:1px solid rgba(255,255,255,.06); }
.footer__copy { font-size:.8rem; color:rgba(255,255,255,.25); }
.footer__bottom-links { display:flex; gap:1.5rem; }
.footer__bottom-links a { font-size:.8rem; color:rgba(255,255,255,.25); transition:color .15s; }
.footer__bottom-links a:hover { color:rgba(255,255,255,.6); }
@media(max-width:1024px){ .footer__top{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ .footer__top{grid-template-columns:1fr;} .footer__bottom{flex-direction:column;gap:1rem;text-align:center;} }
