:root{
  --bg:#000;
  --fg:rgba(255,255,255,.78);
  --muted:rgba(255,255,255,.45);
  --muted2:rgba(255,255,255,.25);
  --line:rgba(255,255,255,.08);
  --accent:#8b0000;
  --max:1100px;
}

*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:"Cormorant Garamond", serif;
  overflow-x:hidden; /* remove “borda”/scroll lateral */
}

.container{
  width:min(var(--max), calc(100% - 120px));
  margin:0 auto;
}

@media (max-width: 820px){
  .container{ width: calc(100% - 40px); }
}

/* vignette */
body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at center, rgba(0,0,0,0) 0%, #000 72%);
  opacity:.55;
}

/* ===== HEADER ===== */
.site-header{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(0,0,0,.55);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header.compact{ position:relative; }

.header-inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  padding:22px 0 14px;
  gap:22px;
}

/* brand */
.brand{ text-decoration:none; color:inherit; display:block; }
.brand-title{
  font-family:"Cinzel", serif;
  font-weight:400;
  letter-spacing:11px;
  text-transform:uppercase;
  white-space:nowrap; /* NÃO empilha */
  font-size:26px;
  line-height:1.05;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.brand-sub{
  margin-top:10px;
  font-family:"Cinzel", serif;
  font-weight:300;
  letter-spacing:4px;
  font-size:12px;
  opacity:.45;
  text-align:center;
  transition: color .25s ease, opacity .25s ease;
}
.brand:hover .brand-sub{
  color: var(--accent);
  opacity:.85;
}

/* nav */
.nav{
  display:flex;
  gap:34px;
  align-items:center;
  padding-top:6px;
}
.nav-link{
  font-family:"Cinzel", serif;
  font-weight:400;
  letter-spacing:3px;
  font-size:12px;
  text-transform:uppercase;
  opacity:.6;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  transition: opacity .2s ease, color .2s ease;
}
.nav-link:hover{ opacity:.95; color:#fff; }

/* actions */
.actions{ display:flex; align-items:center; gap:14px; padding-top:2px; }

.icon-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.75);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  padding:0;
  opacity:.65;
  transition: opacity .2s ease, color .2s ease;
}
.icon-btn:hover{ opacity:.95; color:#fff; }
.icon-btn svg{ width:18px; height:18px; display:block; }

/* hamburger */
.menu-btn{ gap:5px; flex-direction:column; }
.menu-btn span{
  display:block;
  width:18px;
  height:2px;
  background: var(--accent);
  opacity:.9;
}

/* lines */
.header-lines{ padding:8px 0 18px; }
.line{
  height:1px;
  background: var(--line);
}
.line-thin{
  margin-top:10px;
  opacity:.6;
}

/* ===== HERO ===== */
.hero{
  position:relative;
  min-height: 58vh;
  display:flex;
  align-items:center;
  padding: 70px 0 50px;
}
.hero-bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  opacity:.28;
  filter:saturate(.9) contrast(1.05);
}
.hero-vignette{
  position:absolute; inset:0;
  background: radial-gradient(circle at center, rgba(0,0,0,.15) 0%, #000 70%);
  opacity:.9;
}
.hero-inner{
  position:relative;
  text-align:center;
  padding: 70px 0 70px;
}

.kicker{
  font-family:"Cinzel", serif;
  font-weight:300;
  font-size:11px;
  letter-spacing:7px;
  text-transform:uppercase;
  opacity:.14;
  animation: breathe 3.8s ease-in-out infinite;
}
@keyframes breathe{
  0%,100%{ opacity:.10; transform: translateY(0); }
  50%{ opacity:.18; transform: translateY(-1px); }
}
.kicker-line{
  width:120px;
  height:1px;
  background: var(--line);
  margin: 14px auto 0;
  opacity:.8;
}
.quote{
  margin: 36px auto 0;
  max-width: 920px;
  font-style: italic;
  font-size: 22px;
  line-height: 1.75;
  letter-spacing:.6px;
  opacity:.75;
}
.accent-line{
  width:60px;
  height:2px;
  background: var(--accent);
  opacity:.65;
  margin: 26px auto 0;
}

/* ===== SECTIONS ===== */
.section{ padding: 56px 0 0; }
.section-head{
  display:flex;
  align-items:center;
  gap:14px;
  padding-bottom:18px;
}
.dash{ width:46px; height:2px; background: var(--accent); opacity:.65; }
.section-title{
  margin:0;
  font-family:"Cinzel", serif;
  font-weight:400;
  letter-spacing:4px;
  font-size:12px;
  text-transform:uppercase;
  color: rgba(255,255,255,.55);
}

/* grid featured */
.grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  padding-bottom: 10px;
}
.card{
  display:block;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.02);
  overflow:hidden;
  transition: transform .2s ease, border-color .2s ease;
}
.card:hover{
  transform: translateY(-2px);
  border-color: rgba(255,255,255,.12);
}
.card-img{
  aspect-ratio: 16/10;
  background-size:cover;
  background-position:center;
  filter: saturate(.95) contrast(1.02);
  opacity:.9;
}
.card-body{ padding: 18px 18px 16px; }
.card-kicker{
  font-family:"Cinzel", serif;
  letter-spacing:4px;
  text-transform:uppercase;
  font-size:11px;
  opacity:.35;
}
.card-title{
  margin-top:10px;
  font-family:"Cinzel", serif;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:14px;
  opacity:.9;
}
.card-excerpt{
  margin-top:10px;
  font-size:18px;
  line-height:1.6;
  opacity:.65;
}
.card-more{
  margin-top:14px;
  font-family:"Cinzel", serif;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:11px;
  color: var(--accent);
  opacity:.75;
}

/* recent list */
.list{ padding-bottom: 40px; }
.row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  text-decoration:none;
  color:inherit;
  border-bottom:1px solid rgba(255,255,255,.06);
  padding: 18px 0;
}
.row-title{
  font-family:"Cinzel", serif;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:13px;
  opacity:.9;
}
.row-excerpt{
  margin-top:8px;
  font-size:18px;
  opacity:.6;
  line-height:1.55;
}
.row-right{
  color: var(--accent);
  opacity:.75;
  font-size:18px;
}

/* prose */
.prose{ padding-bottom: 20px; }
.prose p{ font-size:19px; opacity:.7; line-height:1.8; margin: 0 0 16px; }

/* ===== FOOTER ===== */
.site-footer{
  margin-top: 70px;
  padding: 34px 0 30px;
}
.footer-line{
  height:1px;
  background: var(--line);
  margin-bottom: 22px;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.footer-nav{
  display:flex;
  gap:28px;
}
.footer-nav a{
  font-family:"Cinzel", serif;
  font-size:11px;
  letter-spacing:4px;
  text-transform:uppercase;
  color: rgba(255,255,255,.35);
  text-decoration:none;
  transition: color .2s ease, opacity .2s ease;
}
.footer-nav a:hover{ color: var(--accent); opacity:.9; }
.footer-copy{
  font-family:"Cinzel", serif;
  font-size:10px;
  letter-spacing:3px;
  color: rgba(255,255,255,.25);
  white-space:nowrap; /* NÃO corta */
}

/* ===== STORY PAGE ===== */
.story{ padding: 40px 0 80px; }
.story-wrap{ max-width: 980px; }
.story-cover{
  width:100%;
  aspect-ratio: 16/7;
  background-size:cover;
  background-position:center;
  border:1px solid rgba(255,255,255,.06);
  opacity:.92;
}
.story-meta{ padding: 22px 0 12px; }
.story-kicker{
  font-family:"Cinzel", serif;
  font-size:11px;
  letter-spacing:5px;
  text-transform:uppercase;
  opacity:.35;
}
.story-title{
  margin: 12px 0 0;
  font-family:"Cinzel", serif;
  letter-spacing:5px;
  text-transform:uppercase;
  font-weight:400;
  font-size: 28px;
  opacity:.95;
}
.story-sub{
  margin-top:10px;
  font-size:20px;
  opacity:.65;
  font-style: italic;
}
.story-content{
  padding-top: 12px;
  font-size: 19px;
  line-height: 1.9;
  opacity: .78;
}
.story-content p{ margin: 0 0 18px; }

/* ===== DRAWER ===== */
.drawer{
  position:fixed; inset:0;
  display:none;
  z-index:50;
}
.drawer.open{ display:block; }
.drawer-backdrop{
  position:absolute; inset:0;
  background: rgba(0,0,0,.65);
  border:0;
}
.drawer-panel{
  position:absolute;
  right:0; top:0; bottom:0;
  width:min(360px, 88vw);
  background:#050505;
  border-left: 1px solid rgba(255,255,255,.08);
  padding: 18px;
}
.drawer-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom: 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.drawer-title{
  font-family:"Cinzel", serif;
  letter-spacing:4px;
  text-transform:uppercase;
  font-size:12px;
  opacity:.6;
}
.drawer-link{
  display:block;
  padding: 14px 6px;
  border-bottom:1px solid rgba(255,255,255,.06);
  font-family:"Cinzel", serif;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:12px;
  color: rgba(255,255,255,.75);
  text-decoration:none;
  opacity:.75;
}
.drawer-link:hover{ color:#fff; opacity:1; }

/* ===== SEARCH ===== */
.search{
  position:fixed; inset:0;
  display:none;
  z-index:60;
}
.search.open{ display:block; }
.search-backdrop{
  position:absolute; inset:0;
    z-index: 0;
  background: rgba(0,0,0,.7);
  border:0;
}
.search-panel{
  position:absolute;
    z-index: 1;
  left:50%; top: 12vh;
  transform: translateX(-50%);
  width:min(720px, 92vw);
  background:#050505;
  border: 1px solid rgba(255,255,255,.08);
  padding: 14px;
}
.search-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 6px 6px 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.search-title{
  font-family:"Cinzel", serif;
  letter-spacing:4px;
  text-transform:uppercase;
  font-size:12px;
  opacity:.6;
}
.search-input{
  width:100%;
  margin-top:12px;
  padding: 14px 12px;
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  outline:none;
  font-size:16px;
}
.search-results{ padding-top: 10px; }
.search-item{
  display:block;
  padding: 12px 8px;
  border-bottom:1px solid rgba(255,255,255,.06);
  text-decoration:none;
  color:inherit;
}
.search-item-title{
  font-family:"Cinzel", serif;
  letter-spacing:3px;
  text-transform:uppercase;
  font-size:12px;
  opacity:.9;
}
.search-item-sub{
  margin-top:8px;
  font-size:18px;
  opacity:.6;
}

/* ===== RESPONSIVO (mobile sem “forçar empilhado”) ===== */
@media (max-width: 980px){
  .nav{ display:none; } /* menu vira drawer */
  .brand-title{
    font-size:20px;   /* reduz, mas mantém em 1 linha */
    letter-spacing:8px;
  }
  .quote{ font-size: 20px; }
  .grid{ grid-template-columns: 1fr; }
  .footer-inner{ flex-direction:column; text-align:center; }
  .footer-copy{ white-space:normal; }
}
/* ===== Post layout helpers ===== */
.post-title {
  text-align: center;
  margin: 0.2em 0 0.8em 0;
}

.post-title.red {
  color: #b30000;
}

/* Image blocks */
.post-img {
  margin: 14px 0;
}

.post-img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* Float variants (use when you want text wrapping) */
.post-img.left {
  float: left;
  width: 180px;
  margin: 0 18px 12px 0;
}

.post-img.right {
  float: right;
  width: 240px;
  margin: 6px 0 12px 18px;
}

.post-img.right.large {
  width: 260px;
}

.post-img.center {
  max-width: 520px;
  margin: 16px auto 0 auto;
}

/* Utility */
.clear {
  clear: both;
}

.contact-container{
  display:flex;
  justify-content:center;
  padding:60px 20px;
}

.contact-form{
  width:100%;
  max-width:500px;
  background:#0b0b0b;
  padding:30px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 20px rgba(0,0,0,.6);
}

.form-group{
  display:flex;
  flex-direction:column;
  margin-bottom:18px;
}

.form-group label{
  margin-bottom:6px;
  font-size:14px;
  color:#aaa;
}

.form-group input,
.form-group textarea{
  background:#050505;
  border:1px solid rgba(255,255,255,.1);
  padding:10px;
  color:white;
  font-family:inherit;
}

.form-group input:focus,
.form-group textarea:focus{
  outline:none;
  border-color:#990000;
}

.btn-primary{
  background:#990000;
  border:none;
  padding:12px;
  color:white;
  cursor:pointer;
  transition:0.3s;
}

.btn-primary:hover{
  background:#cc0000;
}
/* Página Contato */
.contact-container{
  min-height: 100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 60px 20px;
}

.contact-form{
  width: 100%;
  max-width: 620px;
  background: rgba(10,10,10,.85);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 0 35px rgba(0,0,0,.65);
  padding: 28px;
}

.contact-title{
  margin: 0 0 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 18px;
  color: rgba(255,255,255,.85);
}

.contact-subtitle{
  margin: 0 0 22px;
  color: rgba(255,255,255,.55);
  font-size: 14px;
}

.form-group{
  display:flex;
  flex-direction:column;
  gap: 8px;
  margin-bottom: 16px;
}

.form-group label{
  color: rgba(255,255,255,.65);
  font-size: 13px;
  letter-spacing: .05em;
}

.form-group input,
.form-group textarea{
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.9);
  padding: 12px 12px;
  font-family: inherit;
}

.form-group input:focus,
.form-group textarea:focus{
  outline: none;
  border-color: rgba(153,0,0,.8);
}

.btn-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#990000;
  border:none;
  padding: 12px 16px;
  color:white;
  cursor:pointer;
  text-decoration:none;
}

.btn-primary:hover{
  background:#c40000;
}

.thankyou-box{
  text-align:center;
}