/* ═══════════════════════════════════════════════════════════
   SEMEANDO v2 — style2.css
   Playfair Display (serif destaque) + Montserrat (headings) + Open Sans (body)
═══════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════
   SEMEANDO v2 — "Sacred Noir"
   Dark Luxury × Editorial Church
   Playfair Display (serif destaque) + Montserrat (headings) + Open Sans (body)
═══════════════════════════════════════════════════════════ */
:root {
  --void:   #060A07;
  --deep:   #0B1210;
  --forest: #133524;
  --mid:    #1D4A30;
  --sage:   #2E7A52;
  --leaf:   #4CAF72;
  --neon:   #00FF88;
  --neon2:  #00CC6A;
  --glow:   rgba(0,255,136,.15);
  --gold:   #C9A84C;
  --gold2:  #F0D080;
  --cream:  #F5F0E8;
  --ivory:  #FAF8F4;
  --txt:    rgba(255,255,255,.82);
  --muted:  rgba(255,255,255,.38);
  --dim:    rgba(255,255,255,.14);
  --brd:    rgba(255,255,255,.07);
  --brd2:   rgba(255,255,255,.12);
  --fc:     'Playfair Display', Georgia, serif;
  --fh:     'Montserrat','Helvetica Neue',sans-serif;
  --fb:     'Open Sans','Helvetica Neue',sans-serif;
  --ease:   cubic-bezier(.16,1,.3,1);
  --snap:   cubic-bezier(.22,.68,0,1.2);
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box }
html { scroll-behavior:smooth; font-size:16px }
body {
  background:var(--void);
  color:var(--txt);
  font-family:var(--fb);
  font-size:16px;
  font-weight:400;
  overflow-x:hidden;
  line-height:1.75;
  cursor:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img { display:block; max-width:100%; object-fit:cover }
a   { text-decoration:none; color:inherit }
h1,h2,h3 { line-height:1.12 }

/* Grain texture overlay */
body::before {
  content:'';
  position:fixed;
  inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity:.032;
  pointer-events:none;
  z-index:9999;
}

/* ── CUSTOM CURSOR ─────────────────────────────────── */
#cursor-outer {
  position:fixed; top:0; left:0;
  width:36px; height:36px;
  border:1.5px solid rgba(0,255,136,.5);
  border-radius:50%;
  pointer-events:none;
  z-index:10000;
  transition:transform .12s var(--ease), opacity .3s;
  transform:translate(-50%,-50%);
  mix-blend-mode:screen;
}
#cursor-inner {
  position:fixed; top:0; left:0;
  width:6px; height:6px;
  background:var(--neon);
  border-radius:50%;
  pointer-events:none;
  z-index:10001;
  transform:translate(-50%,-50%);
  transition:width .2s, height .2s;
}
body.cursor-hover #cursor-outer { transform:translate(-50%,-50%) scale(1.8); border-color:var(--neon); background:rgba(0,255,136,.05) }
body.cursor-hover #cursor-inner { width:4px; height:4px; opacity:.5 }

/* ── NAV ──────────────────────────────────────────── */
.nav2 {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 5vw;
  height:72px;
  transition:background .4s, backdrop-filter .4s, transform .4s var(--ease);
}
.nav2.scrolled {
  background:rgba(6,10,7,.85);
  backdrop-filter:blur(24px);
  border-bottom:1px solid var(--brd);
}
.nav2.hidden { transform:translateY(-100%) }
.nav2-logo img { height:32px; filter:brightness(0) invert(1); opacity:.9; transition:opacity .2s }
.nav2-logo:hover img { opacity:1 }
.nav2-links { display:flex; align-items:center; gap:36px }
.nav2-links a {
  font-family:var(--fh);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
  transition:color .2s;
  position:relative;
}
.nav2-links a::after {
  content:'';
  position:absolute; bottom:-3px; left:0; right:0;
  height:1px; background:var(--neon);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav2-links a:hover { color:#fff }
.nav2-links a:hover::after { transform:scaleX(1) }
.nav2-cta {
  padding:9px 22px;
  border:1px solid rgba(0,255,136,.4);
  border-radius:4px;
  color:var(--neon) !important;
  transition:background .2s, border-color .2s !important;
}
.nav2-cta:hover { background:rgba(0,255,136,.1); border-color:var(--neon) !important }
.nav2-cta::after { display:none !important }
.nav2-ham { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none }
.nav2-ham span { display:block; width:22px; height:1.5px; background:rgba(255,255,255,.7); transition:all .3s }
.nav2-mob { display:none }

/* ── HERO ─────────────────────────────────────────── */
.hero2 { position:relative; height:100vh; min-height:640px; overflow:hidden; display:flex; align-items:center }
.hero2-vid { position:absolute; inset:-10%; pointer-events:none }
.hero2-vid iframe { width:100%; height:100%; border:none; filter:brightness(.35) saturate(.7) }
.hero2-ov {
  position:absolute; inset:0;
  background:linear-gradient(
    160deg,
    rgba(6,10,7,.7) 0%,
    rgba(11,18,16,.3) 50%,
    rgba(19,53,36,.4) 100%
  );
}
.hero2-ov2 {
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 20% 50%, rgba(0,255,136,.05) 0%, transparent 60%);
}
.hero2-c {
  position:relative; z-index:2;
  padding:0 5vw; max-width:900px;
}
.hero2-eyebrow {
  display:flex; align-items:center; gap:14px; margin-bottom:28px;
  opacity:0; animation:fadeUp .8s var(--ease) .2s forwards;
}
.hero2-line { width:40px; height:1px; background:var(--neon); opacity:.7 }
.hero2-label {
  font-family:var(--fh); font-size:.68rem; font-weight:700;
  letter-spacing:.22em; text-transform:uppercase; color:var(--neon); opacity:.8;
}
.hero2-h {
  font-family:var(--fh);
  font-size:clamp(3rem, 7vw, 6rem);
  font-weight:900;
  color:#fff;
  line-height:1.05;
  letter-spacing:-.03em;
  margin-bottom:8px;
  opacity:0; animation:fadeUp .9s var(--ease) .35s forwards;
}
.hero2-h em {
  font-family:var(--fc);
  font-style:italic;
  font-weight:400;
  font-size:1.1em;
  color:var(--neon);
  display:block;
  letter-spacing:-.01em;
}
.hero2-h strong {
  font-weight:900;
  letter-spacing:-.04em;
}
.hero2-sub {
  font-size:1.05rem;
  color:rgba(255,255,255,.5);
  max-width:480px;
  line-height:1.7;
  margin-bottom:44px;
  font-weight:300;
  opacity:0; animation:fadeUp .9s var(--ease) .5s forwards;
}
.hero2-btns {
  display:flex; gap:16px; flex-wrap:wrap;
  opacity:0; animation:fadeUp .9s var(--ease) .65s forwards;
}
.btn2 {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--fh); font-size:.78rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase;
  padding:16px 32px; border-radius:3px;
  border:none; cursor:pointer; transition:all .3s var(--ease);
  position:relative; overflow:hidden;
}
.btn2::before {
  content:''; position:absolute; inset:0;
  background:rgba(255,255,255,.05);
  transform:translateX(-101%); transition:transform .4s var(--ease);
}
.btn2:hover::before { transform:translateX(0) }
.btn2-primary { background:var(--neon); color:var(--void) }
.btn2-primary:hover { background:var(--neon2); transform:translateY(-2px) }
.btn2-ghost {
  background:transparent; color:#fff;
  border:1px solid rgba(255,255,255,.25);
}
.btn2-ghost:hover { border-color:rgba(255,255,255,.5); transform:translateY(-2px) }

.hero2-scroll {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  opacity:0; animation:fadeIn 1s ease 1.2s forwards;
}
.hero2-scroll-track {
  width:1px; height:50px;
  background:rgba(255,255,255,.12);
  position:relative; overflow:hidden;
}
.hero2-scroll-track::after {
  content:''; position:absolute; top:-100%; left:0; right:0; height:100%;
  background:var(--neon);
  animation:scrollDown 1.8s ease-in-out infinite;
}
.hero2-scroll span { font-family:var(--fh); font-size:.58rem; letter-spacing:.2em; color:var(--muted) }

/* ── MARQUEE STRIP ────────────────────────────────── */
.marquee-sec {
  background:var(--forest);
  padding:16px 0;
  overflow:hidden;
  border-top:1px solid rgba(0,255,136,.1);
  border-bottom:1px solid rgba(0,255,136,.1);
}
.marquee-track {
  display:flex; gap:0;
  animation:marquee 28s linear infinite;
  width:max-content;
}
.marquee-item {
  display:flex; align-items:center; gap:28px; padding:0 28px;
  font-family:var(--fh); font-size:.68rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.45); white-space:nowrap;
}
.marquee-item::before {
  content:'✦'; color:var(--neon); opacity:.6; font-size:.5rem;
}

/* ── SECTION COMMONS ──────────────────────────────── */
.s-tag {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--fh); font-size:.65rem; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase; color:var(--neon);
  margin-bottom:20px;
}
.s-tag::before {
  content:''; width:28px; height:1px; background:var(--neon); opacity:.6;
}
.s-h {
  font-family:var(--fh);
  font-size:clamp(2rem, 4.5vw, 3.4rem);
  font-weight:800; line-height:1.1; letter-spacing:-.025em; color:#fff;
}
.s-h em {
  font-family:var(--fc);
  font-style:italic;
  font-weight:400;
  font-size:1.06em;
  color:var(--neon);
  letter-spacing:-.01em;
}
.s-h strong { font-weight:900 }
.s-p {
  color:var(--muted); font-size:1rem; line-height:1.75;
  max-width:560px; font-weight:300;
}

/* Reveal animation */
.rv2 { opacity:0; transform:translateY(30px); transition:opacity .7s var(--ease), transform .7s var(--ease) }
.rv2.in { opacity:1; transform:none }
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.4s}

/* ── STATS STRIP ──────────────────────────────────── */
.stats-sec { padding:80px 5vw; background:var(--deep) }
.stats-grid { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:2px }
.stat-item {
  padding:36px 28px;
  text-align:center;
  border:1px solid var(--brd);
  position:relative; overflow:hidden;
  transition:border-color .3s;
}
.stat-item::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(0,255,136,.03), transparent);
  opacity:0; transition:opacity .3s;
}
.stat-item:hover { border-color:rgba(0,255,136,.2) }
.stat-item:hover::before { opacity:1 }
.stat-num {
  font-family:var(--fh);
  font-size:clamp(2.2rem, 5vw, 3.5rem);
  font-weight:900; color:#fff; line-height:1;
  display:block; margin-bottom:8px; letter-spacing:-.03em;
}
.stat-num .stat-acc { color:var(--neon) }
.stat-label {
  font-family:var(--fh); font-size:.65rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--muted);
}

/* ── ABOUT ────────────────────────────────────────── */
.about2 { background:var(--void) }
.about2-grid {
  display:grid; grid-template-columns:1fr 1fr; min-height:600px;
}
.about2-img {
  position:relative; overflow:hidden; min-height:500px;
}
.about2-img img {
  width:100%; height:100%; object-fit:cover;
  filter:saturate(.6) brightness(.7);
  transition:transform 8s ease, filter 4s ease;
}
.about2:hover .about2-img img { transform:scale(1.04); filter:saturate(.8) brightness(.8) }
.about2-img::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to right, transparent 60%, var(--void));
}
.about2-img-quote {
  position:absolute; bottom:40px; left:40px; right:60px; z-index:2;
}
.about2-img-quote blockquote {
  font-family:var(--fc); font-size:1.25rem; font-weight:400; font-style:italic;
  color:rgba(255,255,255,.88); line-height:1.6; margin-bottom:12px;
  text-shadow:0 2px 20px rgba(0,0,0,.5);
}
.about2-img-quote cite { font-size:.78rem; color:var(--neon); font-style:normal; font-family:var(--fh); letter-spacing:.1em }
.about2-txt { padding:80px 72px; display:flex; flex-direction:column; justify-content:center }
.pillars2 { margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:1px }
.pillar2 {
  padding:22px; border:1px solid var(--brd);
  transition:border-color .3s, background .3s;
}
.pillar2:hover { border-color:rgba(0,255,136,.2); background:rgba(0,255,136,.02) }
.pillar2-n {
  font-family:var(--fh); font-size:.6rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--neon); opacity:.7; margin-bottom:6px;
}
.pillar2-t { font-family:var(--fh); font-weight:700; font-size:.9rem; color:#fff; margin-bottom:4px }
.pillar2-d { font-size:.82rem; color:var(--muted); line-height:1.6 }

/* ── VERSÍCULO DO DIA ─────────────────────────────── */
.verse2-sec {
  padding:80px 5vw;
  text-align:center;
  background:linear-gradient(135deg, var(--forest), var(--deep));
  position:relative; overflow:hidden;
}
.verse2-sec::before {
  content:'❝';
  position:absolute;
  font-family:Georgia,serif; font-size:26rem; line-height:1;
  color:rgba(0,255,136,.03);
  top:-3rem; left:50%; transform:translateX(-50%);
  pointer-events:none;
}
.verse2-q {
  font-family:var(--fc);
  font-size:clamp(1.6rem, 4vw, 2.6rem);
  font-weight:400; font-style:italic;
  color:#fff; max-width:700px; margin:0 auto 22px; line-height:1.55;
  text-shadow:0 0 60px rgba(0,255,136,.15);
}
.verse2-r {
  font-family:var(--fh); font-size:.75rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--neon); opacity:.8;
}

/* ── BÍBLIA ───────────────────────────────────────── */
.bible2-sec {
  padding:100px 5vw;
  background:var(--deep);
}
.bible2-wrap { max-width:900px; margin:0 auto }
.bbar2 {
  display:grid; grid-template-columns:1fr 1fr 1fr auto;
  gap:12px; margin-top:40px;
}
.bsel2, .binp2 {
  background:rgba(255,255,255,.04);
  border:1px solid var(--brd2);
  color:#fff;
  padding:14px 18px;
  font-family:var(--fb); font-size:.95rem;
  border-radius:4px;
  width:100%;
  transition:border-color .2s, background .2s;
  appearance:none;
}
.bsel2:focus, .binp2:focus { outline:none; border-color:var(--neon); background:rgba(0,255,136,.04) }
.bsel2 option { background:var(--deep); color:#fff }
.bres2 {
  margin-top:24px;
  border:1px solid var(--brd);
  border-radius:8px;
  overflow:hidden;
  max-height:440px; overflow-y:auto;
}
.bres2::-webkit-scrollbar { width:3px }
.bres2::-webkit-scrollbar-thumb { background:var(--neon); border-radius:2px }
.bres2-hd { padding:18px 24px; background:rgba(0,255,136,.06); border-bottom:1px solid var(--brd); font-family:var(--fh); font-size:.8rem; letter-spacing:.1em; color:var(--neon) }
.vitem2 { display:flex; gap:18px; padding:14px 24px; border-bottom:1px solid var(--brd); transition:background .2s }
.vitem2:last-child { border-bottom:none }
.vitem2:hover { background:rgba(255,255,255,.02) }
.vnum2 { font-family:var(--fh); font-size:.65rem; font-weight:700; color:var(--neon); opacity:.5; min-width:22px; padding-top:3px }
.vtxt2 { font-size:.95rem; color:var(--txt); line-height:1.7 }

/* ── AGENDA ───────────────────────────────────────── */
.events2-sec { padding:100px 5vw; background:var(--void) }
.events2-sec .s-h { margin-bottom:14px }
.egrid2 {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(320px,1fr));
  gap:1px; margin-top:48px;
  border:1px solid var(--brd);
}
.ecard2 {
  background:var(--deep);
  display:flex; flex-direction:column;
  transition:background .3s;
  position:relative; overflow:hidden;
}
.ecard2:hover { background:rgba(19,53,36,.5) }
.ecard2-accent {
  position:absolute; top:0; left:0; bottom:0;
  width:3px;
}
.ecard2-img { width:100%; height:200px; object-fit:cover; display:block; filter:saturate(.7) brightness(.8); transition:filter .4s }
.ecard2:hover .ecard2-img { filter:saturate(1) brightness(.95) }
.ecard2-body { padding:24px 28px; flex:1 }
.ecard2-meta {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px;
}
.ecard2-dia { font-family:var(--fh); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted) }
.ecard2-date { font-family:var(--fb); font-size:.9rem; color:#fff; margin-top:2px; font-weight:500 }
.ebadge2 {
  font-family:var(--fh); font-size:.6rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  padding:4px 11px; border-radius:2px;
  background:rgba(0,255,136,.1); color:var(--neon); border:1px solid rgba(0,255,136,.2);
}
.ebadge2.gold  { background:rgba(201,168,76,.1); color:var(--gold);  border-color:rgba(201,168,76,.2) }
.ebadge2.blue  { background:rgba(58,158,255,.1); color:#3A9EFF;      border-color:rgba(58,158,255,.2) }
.ebadge2.past  { background:rgba(255,255,255,.04); color:var(--muted); border-color:var(--brd) }
.ecard2-title { font-family:var(--fh); font-weight:700; font-size:1rem; color:#fff; margin-bottom:8px; line-height:1.3 }
.ecard2-desc  { font-size:.85rem; color:var(--muted); line-height:1.6 }
.ecard2-past  { opacity:.55 }
.ecard2-foot  { padding:14px 28px; border-top:1px solid var(--brd); display:flex; align-items:center; gap:8px; font-size:.8rem; color:var(--muted) }
.ecard2-foot svg { flex-shrink:0; opacity:.5 }

/* ── MINISTÉRIOS ──────────────────────────────────── */
.min-sec { padding:100px 5vw; background:var(--deep); overflow:hidden }
.min-header { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:40px }
.min-search-wrap {
  display:flex; gap:12px; align-items:center; flex-wrap:wrap;
}
.min-search {
  background:rgba(255,255,255,.05);
  border:1px solid var(--brd2); color:#fff;
  padding:11px 18px 11px 44px;
  font-family:var(--fb); font-size:.9rem;
  border-radius:4px; width:260px;
  transition:border-color .2s, background .2s;
}
.min-search:focus { outline:none; border-color:var(--neon); background:rgba(0,255,136,.04) }
.min-search-wrap { position:relative }
.min-search-icon {
  position:absolute; left:14px; top:50%; transform:translateY(-50%);
  color:var(--muted); pointer-events:none;
}
.min-cats {
  display:flex; gap:8px; flex-wrap:wrap; margin-bottom:36px;
}
.min-cat-btn {
  font-family:var(--fh); font-size:.65rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  padding:8px 18px; border-radius:2px;
  border:1px solid var(--brd2); background:transparent; color:var(--muted);
  cursor:pointer; transition:all .2s;
}
.min-cat-btn:hover, .min-cat-btn.active {
  background:rgba(0,255,136,.1); color:var(--neon); border-color:rgba(0,255,136,.3);
}
.min-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(300px,1fr));
  gap:1px;
}
.min-card {
  background:rgba(255,255,255,.02);
  border:1px solid var(--brd);
  cursor:pointer;
  position:relative; overflow:hidden;
  transition:border-color .3s, transform .3s var(--ease), background .3s;
}
.min-card:hover { border-color:var(--brd2); transform:translateY(-4px); background:rgba(255,255,255,.04) }
.min-card-thumb {
  width:100%; height:190px; object-fit:cover;
  display:block;
  filter:saturate(.6) brightness(.75);
  transition:filter .5s, transform .6s var(--ease);
}
.min-card:hover .min-card-thumb { filter:saturate(.9) brightness(.9); transform:scale(1.04) }
.min-card-thumb-wrap { overflow:hidden; height:190px; position:relative }
.min-card-thumb-fallback {
  width:100%; height:190px;
  display:flex; align-items:center; justify-content:center;
  font-size:3rem;
  background:linear-gradient(135deg, var(--forest), var(--deep));
}
.min-card-color-bar {
  position:absolute; bottom:0; left:0; right:0; height:3px;
}
.min-card-body { padding:22px 24px }
.min-cat-tag {
  font-family:var(--fh); font-size:.6rem; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase;
  margin-bottom:8px; display:inline-block;
}
.min-card-title {
  font-family:var(--fh); font-weight:700; font-size:1rem;
  color:#fff; line-height:1.3; margin-bottom:8px;
}
.min-card-desc {
  font-size:.83rem; color:var(--muted); line-height:1.6;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.min-card-foot {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 24px; border-top:1px solid var(--brd);
}
.min-card-type { font-family:var(--fh); font-size:.6rem; letter-spacing:.15em; color:var(--muted) }
.min-play-btn {
  width:30px; height:30px; border-radius:50%;
  background:rgba(0,255,136,.1); border:1px solid rgba(0,255,136,.25);
  display:flex; align-items:center; justify-content:center;
  color:var(--neon); font-size:.65rem; transition:all .2s;
}
.min-card:hover .min-play-btn { background:var(--neon); color:var(--void) }
.min-empty { grid-column:1/-1; padding:48px; text-align:center; color:var(--muted); font-family:var(--fh); letter-spacing:.1em }
.min-loading { text-align:center; padding:48px; color:var(--muted) }

/* ── MODAL MINISTÉRIO ─────────────────────────────── */
.min-modal-bg {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.92); z-index:2000;
  align-items:center; justify-content:center;
  padding:24px; backdrop-filter:blur(8px);
}
.min-modal-bg.open { display:flex }
.min-modal {
  background:var(--deep);
  border:1px solid var(--brd2);
  border-radius:12px;
  width:100%; max-width:820px;
  max-height:90vh; overflow-y:auto;
  animation:modalIn .35s var(--ease);
  position:relative;
}
.min-modal::-webkit-scrollbar { width:3px }
.min-modal::-webkit-scrollbar-thumb { background:var(--neon) }
.min-modal-close {
  position:absolute; top:16px; right:16px;
  width:36px; height:36px;
  background:rgba(255,255,255,.06); border:1px solid var(--brd2);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:var(--muted); font-size:1rem;
  transition:all .2s; z-index:1;
}
.min-modal-close:hover { background:rgba(255,255,255,.12); color:#fff }
.min-modal-video {
  position:relative; width:100%; padding-top:56.25%; background:#000;
  border-radius:12px 12px 0 0; overflow:hidden;
}
.min-modal-video iframe { position:absolute; inset:0; width:100%; height:100%; border:none }
.min-modal-body { padding:32px }
.min-modal-cat { font-family:var(--fh); font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px }
.min-modal-title { font-family:var(--fh); font-weight:800; font-size:1.5rem; color:#fff; margin-bottom:14px }
.min-modal-desc { font-size:.95rem; color:var(--muted); line-height:1.75; margin-bottom:24px }
/* Galeria no modal */
.min-modal-gal { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:8px; margin-top:16px }
.min-modal-gal-item { height:90px; border-radius:6px; overflow:hidden; cursor:pointer; position:relative }
.min-modal-gal-item img { width:100%; height:100%; object-fit:cover; transition:transform .4s, filter .4s }
.min-modal-gal-item:hover img { transform:scale(1.08); filter:brightness(1.1) }

/* ── LIGHTBOX ─────────────────────────────────────── */
.lightbox {
  display:none; position:fixed; inset:0;
  background:rgba(0,0,0,.96); z-index:3000;
  align-items:center; justify-content:center;
  backdrop-filter:blur(20px);
}
.lightbox.open { display:flex }
.lb-img { max-width:90vw; max-height:85vh; border-radius:8px; object-fit:contain; animation:lbIn .3s var(--ease) }
.lb-close { position:absolute; top:20px; right:20px; font-size:1.6rem; cursor:pointer; color:var(--muted); transition:color .2s; background:none; border:none }
.lb-close:hover { color:#fff }
.lb-prev, .lb-next {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.06); border:1px solid var(--brd2);
  border-radius:50%; width:48px; height:48px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; color:#fff; font-size:1.1rem;
  transition:all .2s; user-select:none;
}
.lb-prev { left:20px }
.lb-next { right:20px }
.lb-prev:hover, .lb-next:hover { background:rgba(255,255,255,.14) }
.lb-counter {
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  font-family:var(--fh); font-size:.7rem; letter-spacing:.15em; color:var(--muted);
}

/* ── DEVOCIONAL ───────────────────────────────────── */
.dev2-sec {
  padding:110px 5vw; background:var(--void);
  position:relative; overflow:hidden;
}
.dev2-glow {
  position:absolute; width:600px; height:600px; border-radius:50%;
  background:radial-gradient(circle, rgba(0,255,136,.06) 0%, transparent 70%);
  top:-100px; right:-100px; pointer-events:none;
}
.dev2-wrap {
  max-width:1140px; margin:0 auto;
  display:grid; grid-template-columns:5fr 7fr; gap:80px; align-items:start;
}
.dev2-left { position:sticky; top:90px }
.dev2-eyebrow { display:flex; align-items:center; gap:14px; margin-bottom:32px }
.dev2-pill {
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 16px; border-radius:20px;
  border:1px solid rgba(0,255,136,.25); background:rgba(0,255,136,.06);
  font-family:var(--fh); font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--neon);
}
.dev2-pill::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--neon); animation:devPulse 2s infinite }
.dev2-date { font-family:var(--fh); font-size:.7rem; color:var(--muted); letter-spacing:.08em }
.dev2-ref-bg {
  font-family:var(--fh); font-weight:900;
  font-size:clamp(2.8rem,7vw,5rem); line-height:.9;
  color:transparent;
  -webkit-text-stroke:1px rgba(0,255,136,.1);
  letter-spacing:-.03em; user-select:none;
  margin-bottom:-10px;
}
.dev2-ref-fg {
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--fh); font-size:.76rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase; color:var(--neon);
}
.dev2-titulo {
  font-family:var(--fh); font-weight:700;
  font-size:clamp(1.9rem,3.8vw,2.8rem);
  font-style:italic;
  color:#fff; line-height:1.15; letter-spacing:-.02em;
  margin:18px 0 10px;
}
.dev2-sub { font-size:.97rem; color:var(--muted); font-style:italic; line-height:1.65 }
.dev2-divider { display:flex; align-items:center; gap:16px; margin-top:32px }
.dev2-divider span { flex:1; height:1px }
.dev2-divider span:first-child { background:linear-gradient(90deg, rgba(0,255,136,.25), transparent) }
.dev2-divider span:last-child  { background:linear-gradient(270deg, rgba(0,255,136,.25), transparent) }
.dev2-divider em { font-style:normal; color:var(--neon); opacity:.5; font-size:.6rem }
.dev2-right {
  padding:44px 48px; border:1px solid var(--brd);
  border-radius:16px; background:rgba(255,255,255,.02); position:relative;
}
.dev2-right::before {
  content:''; position:absolute; inset:0; border-radius:16px;
  padding:1px;
  background:linear-gradient(135deg, rgba(0,255,136,.18), transparent 60%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; pointer-events:none;
}
.dev2-quote { font-family:Georgia,serif; font-size:7rem; line-height:.5; color:var(--neon); opacity:.08; position:absolute; top:24px; left:32px; user-select:none }
.dev2-texto { position:relative; z-index:1; color:rgba(255,255,255,.72); line-height:1.9; font-size:1rem }
.dev2-texto p { margin-bottom:16px }
.dev2-texto em     { color:var(--neon); font-style:normal; font-weight:500 }
.dev2-texto strong { color:#fff }
.dev2-footer { margin-top:28px; padding-top:18px; border-top:1px solid var(--brd); display:flex; align-items:center; justify-content:space-between }
.dev2-autor { display:flex; align-items:center; gap:10px; font-family:var(--fh); font-size:.8rem; color:var(--muted) }
.dev2-autor::before { content:''; width:8px; height:8px; border-radius:50%; background:var(--neon); opacity:.4; flex-shrink:0 }
.dev2-ver { font-family:var(--fh); font-size:.6rem; letter-spacing:.2em; color:var(--muted); border:1px solid var(--brd2); padding:3px 9px; border-radius:3px }

/* ── PIX PARALLAX ─────────────────────────────────── */
.pix2-sec {
  position:relative; overflow:hidden;
  min-height:460px;
  display:flex; align-items:center; justify-content:center;
  padding:100px 5vw;
}
.pix2-bg {
  position:absolute; inset:-30%;
  background-image:
    radial-gradient(ellipse at 20% 50%, rgba(0,255,136,.12) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 20%, rgba(201,168,76,.08) 0%, transparent 50%),
    radial-gradient(ellipse at 50% 80%, rgba(19,53,36,.6) 0%, transparent 60%);
  will-change:transform;
}
.pix2-bg-img {
  position:absolute; inset:-30%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Ccircle cx='30' cy='30' r='1' fill='rgba(0,255,136,.06)'/%3E%3C/svg%3E"),
    linear-gradient(135deg, var(--forest) 0%, var(--void) 100%);
  will-change:transform;
}
.pix2-in {
  position:relative; z-index:1; text-align:center; max-width:600px; margin:0 auto;
}
.pix2-icon {
  font-size:3rem; margin-bottom:20px; display:block;
  animation:float 4s ease-in-out infinite;
}
.pix2-box {
  background:rgba(255,255,255,.04);
  border:1px solid var(--brd2);
  border-radius:12px; padding:28px 32px;
  display:flex; align-items:center; gap:24px;
  cursor:pointer; transition:all .3s var(--ease); margin:28px 0;
  position:relative; overflow:hidden;
}
.pix2-box::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(0,255,136,.04), transparent);
  transform:translateX(-100%); transition:transform .6s;
}
.pix2-box:hover::before { transform:translateX(100%) }
.pix2-box:hover { border-color:rgba(0,255,136,.3); transform:scale(1.01) }
.pix2-lbl { font-family:var(--fh); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:4px }
.pix2-key { font-family:var(--fb); font-size:1rem; color:#fff; font-weight:500 }
.pix2-copy { margin-left:auto; font-family:var(--fh); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; padding:10px 20px; border:1px solid rgba(0,255,136,.3); border-radius:3px; background:transparent; color:var(--neon); cursor:pointer; transition:all .2s }
.pix2-copy:hover { background:rgba(0,255,136,.1) }
.pix2-ok { font-family:var(--fh); font-size:.75rem; letter-spacing:.12em; color:var(--neon); opacity:0; transition:opacity .3s }
.pix2-ok.show { opacity:1 }
.pix2-verse { font-family:var(--fc); font-style:italic; font-weight:400; font-size:1.05rem; color:var(--muted); line-height:1.7; margin-top:24px }

/* ── CONTATO ──────────────────────────────────────── */
.contact2-sec { padding:100px 5vw; background:var(--deep) }
.cgrid2 { display:grid; grid-template-columns:1fr 1fr; gap:1px; max-width:1100px; margin:48px auto 0 }
.fcard2 {
  padding:48px; background:rgba(255,255,255,.02);
  border:1px solid var(--brd);
  transition:border-color .3s;
}
.fcard2:hover { border-color:var(--brd2) }
.fcard2 h3 { font-family:var(--fh); font-weight:700; font-size:1.1rem; color:#fff; margin-bottom:6px }
.fcard2 p  { font-size:.88rem; color:var(--muted); margin-bottom:28px; line-height:1.6 }
.field2 { margin-bottom:14px }
.field2 label { display:block; font-family:var(--fh); font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:7px }
.field2 input, .field2 textarea, .field2 select {
  width:100%; padding:13px 16px;
  background:rgba(255,255,255,.04); border:1px solid var(--brd2);
  border-radius:4px; color:#fff; font-family:var(--fb); font-size:.95rem;
  transition:border-color .2s, background .2s;
}
.field2 input:focus, .field2 textarea:focus { outline:none; border-color:var(--neon); background:rgba(0,255,136,.03) }
.field2 textarea { resize:vertical; min-height:96px }
.fmsg2 { margin-top:12px; padding:12px 16px; border-radius:4px; font-size:.86rem; display:none }
.fmsg2.ok  { background:rgba(0,255,136,.08); border:1px solid rgba(0,255,136,.2); color:var(--neon); display:block }
.fmsg2.err { background:rgba(255,80,80,.08); border:1px solid rgba(255,80,80,.2); color:#FF8080; display:block }
.field2-ck { display:flex; align-items:center; gap:9px; font-size:.87rem; color:var(--muted); cursor:pointer }
.field2-ck input { width:16px; height:16px; accent-color:var(--neon); cursor:pointer }

/* ── MAPA ─────────────────────────────────────────── */
.map2-sec { background:var(--void) }
.map2-grid { display:grid; grid-template-columns:1fr 2.2fr }
.map2-info { padding:72px 5vw; display:flex; flex-direction:column; justify-content:center; gap:16px }
.map2-row { display:flex; gap:14px; align-items:flex-start; padding:16px; border:1px solid var(--brd); border-radius:8px; transition:border-color .3s, background .3s }
.map2-row:hover { border-color:rgba(0,255,136,.2); background:rgba(0,255,136,.03) }
.map2-ico { width:36px; height:36px; border-radius:6px; background:rgba(0,255,136,.08); border:1px solid rgba(0,255,136,.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.9rem }
.map2-txt strong { display:block; color:#fff; font-family:var(--fh); font-weight:600; font-size:.85rem; margin-bottom:2px }
.map2-txt span { color:var(--muted); font-size:.83rem }
.map2-frame iframe { width:100%; height:520px; display:block; filter:saturate(50%) brightness(60%) invert(10%); border:none }

/* ── FOOTER ───────────────────────────────────────── */
footer2 { display:block; background:var(--void); border-top:1px solid var(--brd); padding:64px 5vw 30px }
.fg2 { display:grid; grid-template-columns:1.7fr 1fr 1fr; gap:48px; margin-bottom:48px }
.fb2 img { height:28px; margin-bottom:18px; filter:brightness(0) invert(1); opacity:.6 }
.fb2 p { color:var(--muted); font-size:.86rem; max-width:260px; line-height:1.75 }
.fc2 h4 { font-family:var(--fh); font-weight:700; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.2); margin-bottom:18px }
.fc2 ul { list-style:none }
.fc2 ul li { margin-bottom:10px }
.fc2 ul li a { color:var(--muted); font-size:.88rem; transition:color .2s }
.fc2 ul li a:hover { color:var(--neon) }
.fbot2 { display:flex; justify-content:space-between; align-items:center; padding-top:24px; border-top:1px solid var(--brd) }
.fbot2 p { color:rgba(255,255,255,.18); font-size:.75rem }
.fbot2 .mk { color:var(--neon) }

/* ── ANIMATIONS ───────────────────────────────────── */
@keyframes fadeUp   { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
@keyframes fadeIn   { from{opacity:0} to{opacity:1} }
@keyframes scrollDown { 0%{top:-100%} 100%{top:100%} }
@keyframes marquee  { from{transform:translateX(0)} to{transform:translateX(-50%)} }
@keyframes float    { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes devPulse { 0%,100%{opacity:.4;transform:scale(1)} 50%{opacity:1;transform:scale(1.25)} }
@keyframes modalIn  { from{opacity:0;transform:scale(.96) translateY(16px)} to{opacity:1;transform:none} }
@keyframes lbIn     { from{opacity:0;transform:scale(.9)} to{opacity:1;transform:none} }

/* ── RESPONSIVE ───────────────────────────────────── */
@media(max-width:1100px){
  .about2-grid, .map2-grid, .dev2-wrap { grid-template-columns:1fr }
  .about2-img { min-height:360px }
  .dev2-left { position:static }
  .map2-frame iframe { height:300px }
  .fg2 { grid-template-columns:1fr 1fr }
}
@media(max-width:860px){
  .cgrid2 { grid-template-columns:1fr }
  .bbar2 { grid-template-columns:1fr 1fr }
  .stats-grid { grid-template-columns:1fr 1fr }
  .pillars2 { grid-template-columns:1fr }
  .about2-txt { padding:48px 28px }
  .dev2-right { padding:28px 24px }
}
@media(max-width:768px){
  .nav2-links { display:none; position:fixed; top:72px; left:0; right:0; bottom:0; background:rgba(6,10,7,.97); backdrop-filter:blur(20px); flex-direction:column; align-items:center; justify-content:center; gap:32px; z-index:999 }
  .nav2-links.open { display:flex }
  .nav2-ham { display:flex }
  .hero2-h { font-size:clamp(2.8rem,10vw,4rem) }
}
@media(max-width:540px){
  .stats-grid { grid-template-columns:1fr }
  .bbar2 { grid-template-columns:1fr }
  .pix2-box { flex-direction:column; text-align:center }
  .hero2-btns { flex-direction:column }
  .fg2 { grid-template-columns:1fr }
}