:root {
  --bg: #07090f;
  --surface: #0b0e18;
  --surface2: #0f1422;
  --ink: #f0f4ff;
  --muted: rgba(240, 244, 255, 0.65);
  --brand: #1a4fff;
  --brand2: #38cfff;
  --green: #00e5a0;
  --amber: #ffb830;
  --accent: #ff3a5c;
  --line: rgba(240, 244, 255, 0.07);
}

html,
body {
  margin: 0;
  padding: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* {
  box-sizing: border-box;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
}

.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.5rem;
}

.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 1.25rem;
}

.input,
.textarea,
.select {
  width: 100%;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid rgba(240, 244, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
  color: var(--ink);
  outline: none;
}

.input:focus,
.textarea:focus,
.select:focus {
  box-shadow: 0 0 0 3px rgba(26, 79, 255, 0.2);
  border-color: var(--brand);
}

.button {
  border: none;
  border-radius: 12px;
  padding: 0.75rem 1.2rem;
  cursor: pointer;
  font-weight: 600;
  background: var(--brand);
  color: var(--bg);
  transition: transform 0.1s ease, filter 0.1s ease;
}

.button:hover {
  filter: brightness(1.1);
  transform: translateY(-1px);
}

.button.secondary {
  background: rgba(240, 244, 255, 0.1);
  color: var(--ink);
}

.button.danger {
  background: var(--accent);
}

.small {
  font-size: 0.9rem;
  color: var(--muted);
}

.flex {
  display: flex;
}

.items-center {
  align-items: center;
}

.gap {
  gap: 1rem;
}

.mt-1 {
  margin-top: 1rem;
}

.mt-2 {
  margin-top: 2rem;
}

.hidden {
  display: none;
}

/* Cases styles */
.cases-full{display:block}
.case-card{border-radius:8px;overflow:hidden;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.18));margin-bottom:18px}
.case-img-placeholder{height:220px;background:linear-gradient(90deg,var(--brand),var(--brand2));display:flex;align-items:center;justify-content:center;font-family:'Instrument Serif',serif;font-size:22px}
.case-body{padding:16px}
.case-title{font-family:'Instrument Serif',serif;font-size:20px;margin-bottom:6px}
.case-desc{color:var(--muted);font-size:14px}

/* Full-screen case slides (used by cases.html) */
.case-slide{min-height:80vh;display:flex;align-items:center;justify-content:center;position:relative;background-size:cover;background-position:center}
.case-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,20,.25),rgba(2,6,20,.6));}
.case-content{position:relative;z-index:2;color:var(--ink);max-width:1100px;padding:40px}
.case-big-title{font-family:'Instrument Serif',serif;font-size:clamp(44px,8vw,96px);margin-bottom:12px}
.case-big-desc{font-size:18px;color:var(--muted);max-width:56ch}

/* === CASES FULLSCREEN === */
.cases-fullscreen { width: 100%; height: 100vh; overflow: hidden; cursor: none; }
.swiper-cases { height: 100%; }
.swiper-slide { display: flex; align-items: center; justify-content: center; position: relative; }
.slide-bege { background-color: #D2C7B7; color: #000; }
.slide-neon { background-color: #D4FF00; color: #E87A00; }
.slide-black { background-color: #0A0A08; color: #F4F1E8; }
.case-big-title { font-family: 'DM Sans', sans-serif; font-weight: 900; font-size: clamp(60px, 12vw, 180px); letter-spacing: -0.05em; text-transform: uppercase; }
.case-big-title.serif { font-family: 'Instrument Serif', serif; text-transform: lowercase; font-weight: 400; font-style: italic; }
.case-big-title.sm { font-size: clamp(40px, 8vw, 120px); margin-top: 40px; }
.slide-nav-arrows { position: absolute; top: 50%; left: 0; right: 0; display: flex; justify-content: space-between; pointer-events: none; }
.swiper-button-prev-custom, .swiper-button-next-custom { pointer-events: all; background: rgba(0,0,0,0.12); color: #000; border-radius: 50%; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; font-size: 2rem; cursor: pointer; transition: background 0.2s; }
.swiper-button-prev-custom:hover, .swiper-button-next-custom:hover { background: #D4E03A; color: #000; }

/* === MANIFESTO VÍDEO === */
.manifesto-video { position: relative; height: 100vh; display: flex; align-items: center; justify-content: center; padding: 0 8%; overflow: hidden; }
.manifesto-video-embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.manifesto-video-embed iframe { width: 100%; height: 100%; border: 0; }
.manifesto-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.5); z-index: 1; display: flex; align-items: center; justify-content: center; }
.manifesto-content { max-width: 800px; color: #fff; z-index: 2; position: relative; }
.manifesto-h2 { font-size: clamp(48px, 7vw, 90px); line-height: 1; margin-bottom: 30px; text-transform: uppercase; }
.manifesto-h2 .serif { font-family: 'Instrument Serif', serif; font-style: italic; text-transform: lowercase; }
.manifesto-p { font-size: 18px; line-height: 1.6; color: rgba(255,255,255,0.9); max-width: 550px; margin-bottom: 20px; }
.yellow-border { border: 2px solid #D4E03A !important; background: transparent !important; color: #D4E03A !important; }

/* === PARCEIROS === */
.partners-section { background: #fff; color: #000; padding: 80px 40px; }
.partners-title { font-size: 32px; font-weight: 500; margin-bottom: 60px; }
.partners-slider { display: flex; flex-direction: column; align-items: center; gap: 40px; padding: 100px 0; }
.partner-logo img { height: 60px; }
.p-nav-btn { background: #000; color: #fff; border: none; width: 50px; height: 50px; border-radius: 50%; font-size: 20px; cursor: pointer; }
.partners-bottom-bar { background: #565828; color: #fff; padding: 20px; display: flex; justify-content: space-between; align-items: center; margin-top: 60px; }
.pixel-folder { font-size: 40px; }

/* === TIPOGRAFIA E CORES === */
:root {
  --bg-bege: #D2C7B7;
  --bg-neon: #D4FF00;
}
.case-big-title, .case-big-title.serif { letter-spacing: -0.04em; line-height: 0.9; }

/* === CURSOR INTERATIVO === */
.cases-fullscreen:hover .cursor { background: #D4E03A; width: 40px; height: 40px; }
.swiper-slide:hover ~ .cursor { background: #D4E03A; width: 40px; height: 40px; }
