:root{
  /* Paleta escura com acento cobre */
  --accent:#d07a2c;
  --accent-600:#b36522;
  --bg-900:#0b0b0c;
  --bg-800:#141416;
  --text-300:#e9e9ec;
  --muted:#9aa0a6;
  --glass:rgba(255,255,255,.06);
  --border:rgba(255,255,255,.12);
  --radius:18px;

  /* alturas fixas */
  --topbar-h: 36px;
  --nav-h: 72px;
}

html,
body{
  background:var(--bg-900);
  color:#fff;
  scroll-behavior:smooth;
}

body{
  padding-top: calc(var(--topbar-h) + var(--nav-h));
}

/* TOPBAR */
.topbar{
  position:fixed;
  inset:0 0 auto 0;
  height:var(--topbar-h);
  background:rgba(12,12,14,.95);
  border-bottom:1px solid var(--border);
  color:var(--text-300);
  font-size:.9rem;
  z-index:1098;
  backdrop-filter:saturate(160%) blur(6px);
}

.topbar a{
  color:var(--text-300);
  text-decoration:none;
}

.topbar a:hover{
  color:var(--accent);
}

/* NAVBAR */
.navbar{
  background:rgba(10,10,10,.88);
  backdrop-filter:saturate(160%) blur(8px);
  z-index:1099;
  min-height:var(--nav-h);
  top:var(--topbar-h);
}

.navbar.fixed-top{
  top:var(--topbar-h);
}

.navbar .nav-link{
  color:#fff;
}

.navbar .nav-link:hover{
  color:var(--accent);
}

.navbar .navbar-brand span{
  color:#fff;
}

.brand-img{
  height:48px;
  object-fit:contain;
}

.flag-btn{
  width:30px;
  height:22px;
  border:1px solid #2a2a2e;
  border-radius:4px;
  background:#000;
  display:grid;
  place-items:center;
  cursor:pointer;
}

.flag-emoji{
  font-size:16px;
  line-height:1;
}

.btn-accent{
  background:var(--accent);
  border:none;
  color:#0a0a0a;
}

.btn-accent:hover{
  background:var(--accent-600);
  color:#0a0a0a;
}

.btn-ghost{
  border:1px solid var(--accent);
  color:var(--accent);
  background:transparent;
}

.btn-ghost:hover{
  border-color:var(--accent-600);
  color:var(--accent-600);
}

.section-label{
  letter-spacing:.08em;
  color:var(--accent);
  text-transform:uppercase;
  font-weight:700;
}

/* HERO */
.hero{
  height:100vh;
  position:relative;
}

.hero .carousel-item{
  height:100vh;
  background-size:cover;
  background-position:center;
}

.hero .overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 600px at 80% -10%,rgba(208,122,44,.18),transparent 60%),
    linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.65));
}

.hero-caption{
  position:absolute;
  bottom:14vh;
  left:6vw;
  right:6vw;
  z-index:10;
  max-width:860px;
}

.caption-box{
  background:rgba(12,12,14,.6);
  border:1px solid var(--border);
  backdrop-filter:blur(6px);
  border-radius:var(--radius);
}

.caption-title{
  font-weight:800;
}

.caption-accent{
  color:var(--accent);
}

/* Cards */
.card-glass{
  background:var(--glass);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease;
}

.card-glass:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 48px rgba(0,0,0,.35);
}

.card-glass img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}

/* “Em breve” */
.soon{
  border:1px dashed var(--border);
  border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.01));
}

/* História */
.story{
  background:linear-gradient(180deg, var(--bg-800), var(--bg-900));
  border-top:1px solid var(--border);
}

.story img{
  border-radius:12px;
  border:1px solid var(--border);
  object-fit:cover;
}

/* Rodapé */
footer{
  border-top:1px solid var(--border);
  color:var(--muted);
}