:root {
  --red:       #b41217;
  --red-dark:  #7c0f15;
  --yellow:    #e8a800;
  --bg:        #050203;
  --bg-2:      #0c0607;
  --bg-3:      #110708;
  --text:      #f7f2e9;
  --muted:     #8a7d74;
  --border:    rgba(255,255,255,0.09);
  --nav-h:     78px;
  --r-lg:      28px;
  --r-pill:    999px;
  --ease:      cubic-bezier(0.33,1,0.68,1);
  --ease-slow: cubic-bezier(0.19,1,0.22,1);
  --t-fast:    0.26s;
  --t-slow:    0.65s;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img  { max-width:100%; display:block; }
a    { text-decoration:none; color:inherit; }
button { font-family:inherit; cursor:pointer; }

.container {
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px;
}

body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(ellipse 60% 40% at 10% 0%,  rgba(180,18,23,0.18) 0,transparent 70%),
    radial-gradient(ellipse 50% 35% at 90% 15%, rgba(232,168,0,0.07)  0,transparent 65%),
    radial-gradient(ellipse 55% 40% at 50% 110%,rgba(180,18,23,0.14) 0,transparent 70%);
  z-index:0;
}

/* ===== NAVBAR ===== */
.nav-wrap {
  position:fixed;
  inset:0 0 auto;
  height:var(--nav-h);
  z-index:100;
  backdrop-filter:blur(28px) saturate(1.6);
  background:linear-gradient(to bottom,rgba(5,2,3,0.96) 0%,rgba(5,2,3,0.88) 60%,rgba(5,2,3,0) 100%);
  border-bottom:1px solid rgba(255,255,255,0.06);
}

.nav {
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.nav-logo { display:flex; align-items:center; gap:14px; flex-shrink:0; }

.logo-image {
  height:44px;
  width:auto;
  display:block;
  transition:transform var(--t-fast) var(--ease);
}
.nav-logo:hover .logo-image { transform:translateY(-1px); }

.nav-links { display:flex; align-items:center; gap:28px; }

.nav-link {
  font-size:11px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
  position:relative;
  padding-bottom:3px;
  transition:color var(--t-fast) var(--ease);
}
.nav-link::after {
  content:"";
  position:absolute;
  left:0; bottom:0;
  height:1.5px; width:0;
  border-radius:var(--r-pill);
  background:var(--yellow);
  transition:width var(--t-fast) var(--ease);
}
.nav-link:hover,
.nav-link.active { color:var(--text); }
.nav-link:hover::after,
.nav-link.active::after { width:100%; }

/* BOTÕES */
.btn-ghost {
  padding:8px 18px;
  border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,0.18);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--muted);
  background:transparent;
  transition:all var(--t-fast) var(--ease);
}
.btn-ghost:hover {
  border-color:var(--yellow);
  color:var(--text);
  transform:translateY(-1px);
}

.btn-primary {
  padding:10px 24px;
  border-radius:var(--r-pill);
  border:none;
  font-size:10px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:#050203;
  background:var(--yellow);
  box-shadow:0 8px 26px rgba(0,0,0,0.5);
  display:inline-flex;
  align-items:center;
  gap:8px;
  position:relative;
  overflow:hidden;
  transition:transform var(--t-fast) var(--ease),background var(--t-fast) var(--ease);
}
.btn-primary:hover {
  transform:translateY(-2px);
  background:#f5c415;
}
.btn-icon {
  width:18px; height:18px;
  border-radius:50%;
  background:rgba(5,2,3,0.15);
  border:1px solid rgba(5,2,3,0.2);
  display:flex; align-items:center; justify-content:center;
  font-size:9px;
}

.nav-cta { display:flex; align-items:center; gap:10px; }

.hamburger {
  display:none;
  flex-direction:column;
  gap:5px;
  padding:6px;
  background:none;
  border:none;
}
.hamburger span {
  display:block;
  width:22px; height:2px;
  border-radius:2px;
  background:var(--text);
  transition:all var(--t-fast) var(--ease);
}

.mobile-nav {
  display:none;
  position:fixed;
  top:var(--nav-h);
  left:0; right:0;
  background:rgba(5,2,3,0.98);
  border-bottom:1px solid rgba(255,255,255,0.08);
  flex-direction:column;
  padding:24px;
  gap:20px;
  z-index:99;
}
.mobile-nav.open { display:flex; }
.mobile-nav-link {
  font-size:14px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
  transition:color var(--t-fast);
}
.mobile-nav-link:hover { color:var(--text); }

/* ===== HERO ===== */
.hero {
  position:relative;
  min-height:100vh;
  padding-top:var(--nav-h);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#000;
}

.hero-video-bg {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.32;
  pointer-events:none;
}

.hero-overlay {
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(to bottom,rgba(5,2,3,0.55) 0%,rgba(5,2,3,0.82) 55%,rgba(5,2,3,0.97) 100%);
  pointer-events:none;
}

.hero-inner {
  position:relative;
  z-index:3;
  width:100%;
  padding:72px 0 90px;
  text-align:center;
}

.hero-badge {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:6px 16px 6px 8px;
  border-radius:var(--r-pill);
  background:rgba(5,2,3,0.82);
  border:1px solid rgba(255,255,255,0.14);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:32px;
  backdrop-filter:blur(10px);
}

.badge-dot {
  width:22px; height:22px;
  border-radius:50%;
  background:var(--yellow);
}

.hero-headline {
  font-size:clamp(3.6rem,7vw,6.2rem);
  font-weight:900;
  line-height:0.9;
  letter-spacing:-0.01em;
  text-transform:uppercase;
  margin-bottom:28px;
}
.hero-headline-static { display:block; margin-bottom:6px; }
.hero-headline-rotating {
  display:block;
  color:var(--yellow);
  transition:opacity 0.25s var(--ease);
}

.hero-sub {
  font-size:clamp(0.95rem,1.6vw,1.08rem);
  font-weight:400;
  line-height:1.6;
  color:var(--muted);
  max-width:600px;
  margin:0 auto 42px;
}

.hero-cta {
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:16px;
  margin-bottom:72px;
}

.hero-stats { display:flex; justify-content:center; flex-wrap:wrap; }
.hero-stat {
  padding:22px 42px;
  border-right:1px solid rgba(255,255,255,0.08);
  text-align:center;
}
.hero-stat:last-child { border-right:none; }
.stat-number {
  font-size:2.4rem;
  font-weight:900;
  letter-spacing:-0.02em;
  color:var(--text);
  display:block;
}
.stat-label {
  font-size:10px;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--muted);
  margin-top:4px;
}

.scroll-hint {
  position:absolute;
  bottom:32px;
  left:50%;
  transform:translateX(-50%);
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  font-size:9px;
  font-weight:600;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--muted);
  opacity:.7;
}
.scroll-hint-line {
  width:1px; height:36px;
  background:var(--yellow);
  border-radius:999px;
}

/* ===== SEÇÕES GENÉRICAS ===== */
.section { padding:100px 0; position:relative; z-index:1; }
.section-alt  { background:var(--bg-2); }
.section-dark { background:var(--bg-3); }

.section-kicker {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.28em;
  text-transform:uppercase;
  color:var(--red);
  margin-bottom:12px;
  display:flex;
  align-items:center;
  gap:10px;
}
.section-kicker::before {
  content:"";
  display:block;
  width:24px; height:2px;
  border-radius:999px;
  background:var(--yellow);
}

.section-title {
  font-size:clamp(1.8rem,3vw,2.8rem);
  font-weight:800;
  letter-spacing:-0.01em;
  text-transform:uppercase;
  line-height:1.05;
  margin-bottom:16px;
}
.section-sub {
  font-size:0.96rem;
  line-height:1.65;
  color:var(--muted);
  max-width:520px;
}
.section-header {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:52px;
}
.section-header-left { max-width:540px; }

/* ===== SOBRE ===== */
.about-strip {
  background:var(--bg-2);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:80px 0;
  position:relative;
  overflow:hidden;
  z-index:1;
}

.about-grid {
  display:grid;
  grid-template-columns:1.1fr 0.9fr;
  gap:56px;
  align-items:center;
}

.about-text {
  font-size:0.97rem;
  line-height:1.7;
  color:var(--muted);
  margin-bottom:16px;
}
.about-text strong { color:var(--text); font-weight:600; }

.about-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.about-tag {
  padding:5px 12px;
  border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,0.12);
  font-size:9px;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--muted);
  background:rgba(5,2,3,0.7);
  transition:all var(--t-fast) var(--ease);
}
.about-tag:hover { border-color:var(--yellow); color:var(--yellow); }

/* ===== SLIDER SOBRE ===== */
.about-right { display:flex; justify-content:center; align-items:center; }

.about-slider {
  width:100%;
  height:380px;
  border-radius:24px;
  overflow:hidden;
  position:relative;
  border:1px solid rgba(255,255,255,0.1);
  background:transparent;
  box-shadow:0 32px 80px rgba(0,0,0,0.9);
}

.about-slide-track {
  display:flex;
  flex-direction:row;
  width:300%;
  height:100%;
  transition:transform 0.55s cubic-bezier(0.33,1,0.68,1);
  transform:translateX(0%);
  will-change:transform;
}

.about-slide {
  flex:0 0 33.3333%;
  height:100%;
  position:relative;
  overflow:hidden;
}

.about-slide-img {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  transition:transform 6s cubic-bezier(0.19,1,0.22,1);
}

.about-slide.active .about-slide-img { transform:scale(1.06); }

.about-slide-gradient {
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.88) 0%,rgba(0,0,0,0.3) 45%,transparent 100%);
  z-index:1;
}

.about-slide-caption {
  position:absolute;
  left:20px; right:20px;
  bottom:52px;
  z-index:2;
  font-size:0.88rem;
  line-height:1.5;
  color:#f7f2e9;
}
.about-slide-caption strong {
  display:block;
  font-size:0.75rem;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:#e8a800;
  margin-bottom:3px;
}

.about-slider-btn {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:5;
  width:38px; height:38px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.2);
  background:rgba(5,2,3,0.7);
  color:#fff;
  font-size:16px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(8px);
  transition:all 0.22s ease;
}
.about-slider-btn:hover { background:#e8a800; color:#050203; border-color:#e8a800; }
.about-slider-btn--prev { left:12px; }
.about-slider-btn--next { right:12px; }

.about-slider-dots {
  position:absolute;
  bottom:16px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:7px;
  z-index:5;
}
.about-dot {
  width:7px; height:7px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,0.3);
  cursor:pointer;
  transition:background 0.25s,transform 0.25s;
  padding:0;
}
.about-dot.about-dot-active { background:#e8a800; transform:scale(1.3); }

.about-slider-counter {
  position:absolute;
  top:14px; right:16px;
  z-index:5;
  font-size:10px;
  font-weight:600;
  letter-spacing:0.18em;
  color:rgba(255,255,255,0.45);
}
.about-slider-counter span { color:#fff; font-weight:800; }

/* ===== SERVIÇOS ===== */
.services-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}

.service-card {
  border-radius:var(--r-lg);
  padding:28px 22px 24px;
  background:rgba(12,6,7,0.9);
  border:1px solid var(--border);
  display:flex;
  flex-direction:column;
  gap:14px;
  cursor:pointer;
  transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);
  box-shadow:0 20px 50px rgba(0,0,0,0.7);
}
.service-card:hover { border-color:rgba(255,255,255,0.22); transform:translateY(-6px); }

.service-icon-wrap {
  width:48px; height:48px;
  border-radius:16px;
  background:var(--yellow);
  display:flex; align-items:center; justify-content:center;
  font-size:22px;
  box-shadow:0 10px 24px rgba(0,0,0,0.6);
}

.service-title {
  font-size:0.95rem;
  font-weight:700;
  letter-spacing:0.1em;
  text-transform:uppercase;
}
.service-text { font-size:0.87rem; line-height:1.65; color:var(--muted); flex:1; }
.service-link {
  display:inline-block;
  text-decoration:none;
  font-size:9px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--yellow);
  transition:letter-spacing var(--t-fast);
}
.service-card:hover .service-link { letter-spacing:0.28em; }

/* ===== PORTFÓLIO ===== */
.portfolio-grid {
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}

.p-card {
  position:relative;
  border-radius:var(--r-lg);
  overflow:hidden;
  cursor:pointer;
  isolation:isolate;
  border:1px solid var(--border);
  background:var(--bg-3);
  transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);
  box-shadow:0 24px 60px rgba(0,0,0,0.85);
}
.p-card:hover { transform:translateY(-6px); border-color:rgba(255,255,255,0.2); }

.p-card--wide   { grid-column:span 7; min-height:340px; }
.p-card--narrow { grid-column:span 5; min-height:340px; }
.p-card--third  { grid-column:span 4; min-height:280px; }
.p-card--half   { grid-column:span 6; min-height:280px; }

.p-frame {
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.04);
  transition:transform var(--t-slow) var(--ease-slow),filter var(--t-fast);
  filter:brightness(0.8);
}
.p-card:hover .p-frame { transform:scale(1.1); filter:brightness(1); }

.p-gradient {
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,0.88) 0,rgba(0,0,0,0.1) 50%,transparent 70%);
  z-index:1;
}

.p-overlay {
  position:absolute;
  inset:0;
  z-index:2;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.p-chips { display:flex; gap:8px; flex-wrap:wrap; }
.p-chip {
  padding:4px 10px;
  border-radius:var(--r-pill);
  background:rgba(5,2,3,0.82);
  border:1px solid rgba(255,255,255,0.14);
  font-size:9px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--text);
  backdrop-filter:blur(6px);
}
.p-runtime {
  padding:4px 10px;
  border-radius:var(--r-pill);
  background:rgba(232,168,0,0.18);
  border:1px solid rgba(232,168,0,0.4);
  font-size:9px;
  font-weight:600;
  letter-spacing:0.16em;
  color:var(--yellow);
}

.p-bottom { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
.p-title { font-size:clamp(0.9rem,1.5vw,1.1rem); font-weight:700; letter-spacing:0.04em; margin-bottom:6px; }
.p-meta { display:flex; flex-wrap:wrap; gap:4px 8px; font-size:9px; color:var(--muted); letter-spacing:0.12em; }

.p-watch {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:9px;
  font-weight:700;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--text);
  flex-shrink:0;
  padding:8px 14px;
  border-radius:var(--r-pill);
  background:rgba(5,2,3,0.75);
  border:1px solid rgba(255,255,255,0.16);
  backdrop-filter:blur(6px);
  transition:background var(--t-fast),border-color var(--t-fast);
}
.p-card:hover .p-watch { background:var(--yellow); color:#050203; border-color:var(--yellow); }
.p-watch-dot {
  width:7px; height:7px;
  border-radius:50%;
  background:var(--yellow);
  transition:background var(--t-fast);
}
.p-card:hover .p-watch-dot { background:#050203; }

/* ===== BLOG ===== */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }

.blog-card {
  border-radius:var(--r-lg);
  padding:28px 24px;
  background:rgba(12,6,7,0.9);
  border:1px solid var(--border);
  display:flex;
  flex-direction:column;
  gap:14px;
  cursor:pointer;
  transition:transform var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease);
  box-shadow:0 20px 50px rgba(0,0,0,0.7);
}
.blog-card:hover { transform:translateY(-5px); border-color:rgba(255,255,255,0.2); }

.blog-meta { font-size:9px; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--yellow); }
.blog-title { font-size:1rem; font-weight:700; line-height:1.3; letter-spacing:0.02em; }
.blog-excerpt { font-size:0.87rem; line-height:1.65; color:var(--muted); flex:1; }
.blog-link {
  font-size:9px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--yellow);
  transition:letter-spacing var(--t-fast);
}
.blog-card:hover .blog-link { letter-spacing:0.28em; }

/* ===== CTA BANNER ===== */
.cta-banner {
  padding:80px 0;
  background:var(--red-dark);
  position:relative;
  overflow:hidden;
  z-index:1;
}
.cta-banner::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse 70% 80% at 20% 50%,rgba(245,196,21,0.12) 0,transparent 65%);
  pointer-events:none;
}

.cta-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  position:relative;
  z-index:1;
}

.cta-heading {
  font-size:clamp(1.6rem,2.8vw,2.2rem);
  font-weight:800;
  letter-spacing:-0.01em;
  text-transform:uppercase;
  line-height:1.1;
  margin-bottom:12px;
}
.cta-heading em { font-style:normal; color:var(--yellow); }
.cta-text {
  font-size:0.95rem;
  line-height:1.65;
  color:rgba(247,242,233,0.7);
  max-width:520px;
}

.cta-right {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  flex-shrink:0;
}
.cta-note {
  font-size:10px;
  letter-spacing:0.14em;
  color:rgba(247,242,233,0.5);
  text-align:right;
}

/* ===== CONTATO ===== */
.contact-grid {
  display:grid;
  grid-template-columns:1.1fr 2fr; /* leve ajuste pra dar mais respiro à esquerda */
  gap:60px;
  align-items:flex-start;          /* garante alinhamento pelo topo */
}

.contact-info { display:flex; flex-direction:column; gap:28px; }

.contact-item { display:flex; align-items:flex-start; gap:16px; }
.contact-item-icon {
  width:40px; height:40px;
  border-radius:14px;
  background:rgba(232,168,0,0.12);
  border:1px solid rgba(232,168,0,0.25);
  display:flex; align-items:center; justify-content:center;
  font-size:16px;
  flex-shrink:0;
}
.contact-item-label {
  font-size:9px;
  font-weight:700;
  letter-spacing:0.22em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:4px;
}
.contact-item-value { font-size:0.95rem; font-weight:500; color:var(--text); }

.social-row { display:flex; gap:10px; margin-top:8px; }
.social-btn {
  padding:8px 16px;
  border-radius:var(--r-pill);
  border:1px solid var(--border);
  font-size:10px;
  font-weight:700;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
  background:transparent;
  transition:all var(--t-fast) var(--ease);
    text-decoration: none;
  cursor: pointer;
}
.social-btn:hover { border-color:var(--yellow); color:var(--yellow); }
.social-row {
  display: flex;
  gap: 10px;
  margin-top: 18px;
}

.social-dot {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.7);
  background: transparent;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
  font-size: 16px; /* tamanho do ícone */
}

.social-dot:hover {
  border-color: var(--yellow);
  background: rgba(232, 168, 0, 0.12); /* amarelo bem sutil */
  color: var(--yellow);
  transform: translateY(-1px);
}
.contact-form { display:flex; flex-direction:column; gap:16px; }
.contact-form {
  margin-top: 0;
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-field { display:flex; flex-direction:column; gap:6px; }
.form-field label {
  font-size:10px;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.form-field input,
.form-field select,
.form-field textarea {
  padding:12px 16px;
  border-radius:14px;
  border:1px solid var(--border);
  background:rgba(12,6,7,0.9);
  color:var(--text);
  font-family:inherit;
  font-size:0.9rem;
  outline:none;
  transition:border-color var(--t-fast);
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus { border-color:var(--yellow); }
.form-field textarea { height:140px; resize:vertical; }
.form-field select option { background:#0c0607; }

/* Aviso de envio de mensagem */
.contact-notice {
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  font-size: 0.8rem;
  line-height: 1.4;
  background: rgba(24, 148, 68, 0.12);
  border: 1px solid rgba(24, 148, 68, 0.5);
  color: #c5f1d3;
  opacity: 0;
  transform: translateY(6px);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.contact-notice.visible {
  opacity: 1;
  transform: translateY(0);
}
.contact-notice.error {
  background: rgba(180, 18, 23, 0.12);
  border-color: rgba(180, 18, 23, 0.6);
  color: #f8c5c5;
}
/* ===== FOOTER ===== */
footer {
  background:var(--bg-3);
  border-top:1px solid var(--border);
  padding:28px 0;
  position:relative;
  z-index:1;
}
.footer-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
}
.footer-copy { font-size:11px; color:var(--muted); letter-spacing:0.12em; }
.footer-right {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  color:var(--muted);
  letter-spacing:0.12em;
}
.footer-red-dot {
  width:8px; height:8px;
  border-radius:50%;
  background:var(--red);
}

/* ===== MODAL VÍDEO ===== */
.video-modal {
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
}
.video-modal.open { display:flex; }

.video-modal-backdrop {
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top,rgba(232,168,0,0.12) 0,transparent 45%),rgba(0,0,0,0.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  cursor:pointer;
}

.video-modal-inner {
  position:relative;
  z-index:1;
  width:92%;
  max-width:1040px;
  aspect-ratio:16/9;
  border-radius:22px;
  overflow:hidden;
  background:#000;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.08),
    0 60px 140px rgba(0,0,0,0.95),
    0 0 80px rgba(180,18,23,0.15);
  animation:modalIn 0.4s cubic-bezier(0.33,1,0.68,1) forwards;
}

@keyframes modalIn {
  from { opacity:0; transform:scale(0.93) translateY(24px); }
  to   { opacity:1; transform:scale(1) translateY(0); }
}

.video-modal-frame { width:100%; height:100%; }
.video-modal-frame iframe { width:100%; height:100%; display:block; }

.video-modal-close {
  position:absolute;
  top:12px;
  right:12px;
  z-index:10;
  width:36px; height:36px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.2);
  background:rgba(5,2,3,0.8);
  color:#fff;
  font-size:16px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition:background 0.2s,transform 0.2s,border-color 0.2s;
  backdrop-filter:blur(6px);
}
.video-modal-close:hover {
  background:var(--yellow);
  color:#050203;
  border-color:var(--yellow);
  transform:scale(1.1) rotate(90deg);
}

/* barra decorativa no topo do player */
.video-modal-inner::before {
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg,var(--red),var(--yellow),var(--red));
  background-size:200% 100%;
  animation:shimmer 2s linear infinite;
  z-index:5;
}
@keyframes shimmer {
  0%   { background-position:200% center; }
  100% { background-position:-200% center; }
}

/* ===== RESPONSIVE ===== */
@media (max-width:1024px) {
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .blog-grid     { grid-template-columns:repeat(2,1fr); }
  .p-card--wide,
  .p-card--narrow { grid-column:span 12; }
  .p-card--third  { grid-column:span 6; }
  .p-card--half   { grid-column:span 12; }
}

@media (max-width:860px) {
  .nav-links,
  .nav-cta { display:none; }
  .hamburger { display:flex; }

  .about-grid { grid-template-columns:1fr; gap:36px; }
  .about-right { justify-content:flex-start; }
  .about-slider { height:260px; }

  .cta-inner { flex-direction:column; align-items:flex-start; }
  .cta-right { align-items:flex-start; }

  .contact-grid { grid-template-columns:1fr; }
  .form-row     { grid-template-columns:1fr; }
}

@media (max-width:600px) {
  .services-grid  { grid-template-columns:1fr; }
  .blog-grid      { grid-template-columns:1fr; }
  .p-card--third  { grid-column:span 12; }
  .hero-stat      { padding:18px 24px; }
  .section-header { flex-direction:column; align-items:flex-start; }

  .video-modal-inner { width:96%; border-radius:14px; }
}

/* ===== PODCAST CARDS COM IMAGEM ===== */

.podcast-card {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.podcast-card-img {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
  flex-shrink: 0;
}

.podcast-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.65s cubic-bezier(0.19,1,0.22,1), filter 0.4s ease;
  filter: brightness(0.85) saturate(1.1);
}

.podcast-card:hover .podcast-card-img img {
  transform: scale(1.06);
  filter: brightness(1) saturate(1.2);
}

.podcast-card-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 40%,
    rgba(5,2,3,0.75) 100%
  );
  pointer-events: none;
}

.podcast-card-body {
  padding: 22px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

/* linha decorativa amarela no topo do card ao hover */
.podcast-card {
  border-top: 2px solid transparent;
  transition:
    transform var(--t-fast) var(--ease),
    border-color var(--t-fast) var(--ease),
    box-shadow var(--t-fast) var(--ease);
}
.podcast-card:hover {
  border-top-color: var(--yellow);
  transform: translateY(-6px);
  box-shadow: 0 32px 80px rgba(0,0,0,0.85);
}