:root {
  --navy: #0A0F2C;
  --green: #00C853;
  --gray: #2E2E2E;
  --red: #D50000;
  --white: #FFFFFF;
}

* { box-sizing: border-box; }
html, body { margin:0; padding:0; }

body {
  background: var(--navy);
  color: var(--white);
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, 'Apple Color Emoji','Segoe UI Emoji';
  line-height: 1.6;
}

/* Links globais: sem sublinhado por padrão */
a { color: var(--green); text-decoration: none; }

/* Sublinhar apenas onde faz sentido (menu e rodapé) */
.menu a:hover,
.footer-grid a:hover,
.post-list a:hover { text-decoration: underline; }

.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }

header {
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: #0b122e;
  position: sticky; top:0; z-index:10;
}

.nav {
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 0;
}

/* BRAND (ícone + texto): sem sublinhado nunca */
.nav .brand {
  display: inline-flex; align-items: center; gap: 10px;
  overflow: visible; text-decoration: none !important;
}
.nav .brand:hover,
.nav .brand:focus,
.nav .brand:active { text-decoration: none !important; }
.nav .brand:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

.nav img.logo { height: 32px; width: auto; flex-shrink: 0; }

.brand-name {
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-weight: 600; font-size: 18px; color: var(--white);
  white-space: nowrap; text-decoration: none !important;
}

.nav .menu a { margin: 0 12px; font-weight: 600; }

.btn {
  background: var(--green); color: #041226; border: none; padding: 10px 16px;
  border-radius: 12px; font-weight:700; cursor:pointer;
}
.btn.secondary { background: transparent; color: var(--white); border: 1px solid rgba(255,255,255,0.2); }

.hero {
  padding: 64px 0; display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px; align-items:center;
}
.hero h1 { font-size: clamp(28px, 4vw, 44px); line-height:1.15; margin: 0 0 12px; }
.tagline { color: #cfd8dc; font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }

.card {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 16px; padding: 20px;
}

.grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

footer {
  margin-top: 64px; padding: 40px 0 20px;
  border-top: 1px solid rgba(255,255,255,0.08);
}
.footer-grid { display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 24px; }
.footer-grid h3 { margin-top:0; }
.footer-bottom { text-align:center; margin-top: 20px; color:#b0bec5; font-size:14px; }

/* Tipografia e formulários */
blockquote {
  border-left: 4px solid var(--green);
  padding-left: 12px; color: #dce7ee; font-style: italic;
}
.kicker { color:#9fb3c8; letter-spacing:.08em; text-transform:uppercase; font-weight:700; font-size:12px; }
.post-list li { margin: 10px 0; }

input, textarea {
  width:100%; padding:12px 14px; background:#0f1736;
  border:1px solid rgba(255,255,255,.15); color:var(--white); border-radius:12px;
}
label { display:block; margin: 10px 0 6px; font-weight:600; }
form .row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

/* Responsividade */
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; }
  .grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) { form .row { grid-template-columns:1fr; } }

/*Sanduiche*/

/* === HAMBÚRGUER === */
.nav-toggle{
  display:none;
  appearance:none; -webkit-appearance:none;  /* Safari/iOS */
  background:transparent;
  border:none;
  color:var(--white);
  width:40px; height:40px;
  padding:0; margin:0;
  border-radius:12px;
  align-items:center; justify-content:center;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;  /* remove flash iOS */
}
.nav-toggle:active{ transform:scale(0.96); }
.nav-toggle svg{ display:block; }

/* Mobile layout: menu vira dropdown e começa fechado */
@media (max-width:900px){
  .nav{ gap:8px; }
  .nav .menu{
    position: fixed;        /* fica preso no topo */
    top:64px; right:16px; left:16px;
    display:none !important;
    flex-direction:column; gap:12px;
    padding:16px 20px;
    background:#0b122e;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:14px;
    box-shadow: 0 10px 30px rgba(0,0,0,.35);
    z-index: 20;
  }
  .nav .menu a{ margin:0; padding:10px 4px; font-size:18px; }
  .nav .menu.is-open{ display:flex !important; }

  .nav-toggle{ display:inline-flex; }       /* mostra o botão */
  /* esconda o menu horizontal no mobile */
  .nav .menu:not(.is-open){ display:none !important; }
}

/* Desktop mantém horizontal */
@media (min-width:901px){
  .nav .menu{ display:flex !important; position:static; padding:0; border:none; box-shadow:none; }
  .nav-toggle{ display:none; }
}

/* Garantias contra sublinhado na marca */
.nav .brand,
.nav .brand:link,
.nav .brand:visited,
.nav .brand:hover,
.nav .brand:active { text-decoration:none !important; }
.nav .brand .brand-name,
.nav .brand .brand-name:hover { text-decoration:none !important; border:none !important; }

/* Carrosel */

/* ==== Featured Carousel ==== */
.featured-carousel { padding: 16px; }
.fc-header{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.fc-header h3{ margin:0; }
.fc-nav{ display:flex; gap:8px; }
.fc-nav button{
  background: transparent;
  border:1px solid rgba(255,255,255,0.18);
  color: var(--white);
  width:34px; height:34px; border-radius:10px;
  font-size:18px; line-height:1; cursor:pointer;
}
.fc-nav button:active{ transform: scale(.97); }

.fc-viewport{ overflow:hidden; border-radius:12px; }
.fc-track{
  display:flex; transition: transform .45s ease; will-change: transform;
}
.fc-slide{
  min-width:100%; display:grid; grid-template-columns: 1.2fr 1fr; gap:18px;
  padding:16px;
}
.fc-cover{
  background:#0f1736; border:1px solid rgba(255,255,255,.08);
  border-radius:12px; overflow:hidden; aspect-ratio: 16/9;
}
.fc-cover img{ width:100%; height:100%; object-fit:cover; display:block; }
.fc-content h4{ margin:0 0 6px; font-size:18px; }
.fc-content p{ margin:0 0 10px; color:#b9c6d2; }
.fc-content a{ font-weight:600; }

.fc-dots{ display:flex; gap:6px; justify-content:center; margin-top:10px; }
.fc-dot{
  width:7px; height:7px; border-radius:999px;
  background: rgba(255,255,255,.35); border: none;
}
.fc-dot[aria-current="true"]{ background: var(--green); }

@media (max-width: 900px){
  .fc-slide{ grid-template-columns: 1fr; }
}

/* Acessibilidade foco */
.fc-nav button:focus-visible,
.fc-dot:focus-visible{ outline:2px solid var(--green); outline-offset:2px; }

/* ===== Ajustes de layout da home ===== */
.hero {
  display: grid;
  grid-template-columns: 1.1fr minmax(380px, 0.9fr);
  align-items: start;
  gap: 2.5rem;
}

/* Reduz o card de posts para alinhar melhor */
.hero .card {
  align-self: start;
  margin-top: 1.5rem;
  height: fit-content;
}

/* Corrige o "quadrado" ao redor do conteúdo */
.hero > div:first-child {
  margin-top: 0 !important;
}

/* Em telas menores: tudo empilhado, sem espaços */
@media (max-width: 980px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .hero .card {
    width: 100%;
    margin: 0;
  }
}
