:root {
  --void:     #060912;
  --deep:     #090d18;
  --navy:     #0f1f3d;
  --navy-l:   #162848;
  --gold:     #d4a017;
  --gold-l:   #f0c84a;
  --gold-dim: rgba(212,160,23,0.10);
  --gold-bdr: rgba(212,160,23,0.20);
  --gold-glow:rgba(212,160,23,0.06);
  --ink:      #e8e2d4;
  --ink-2:    #a89e88;
  --ink-3:    #5a5446;
  --serif:    'Cormorant Garamond', Georgia, serif;
  --sans:     'Inter', sans-serif;
  --mono:     'JetBrains Mono', monospace;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }

body {
  font-family: var(--sans);
  background: var(--deep);
  color: var(--ink);
  min-height: 100vh;
  overflow-x: hidden;
}

/* ── NOISE TEXTURE OVERLAY ── */
body::before {
  content:'';
  position:fixed;
  inset:0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:0;
  opacity:0.6;
}

/* ── HORIZONTAL LINE SYSTEM ── */
.rule { width:100%; height:0.5px; background:var(--gold-bdr); }

/* ── WRAP ── */
.wrap { max-width:960px; margin:0 auto; padding:0 40px; position:relative; z-index:1; }
.wrap-sm { max-width:640px; margin:0 auto; padding:0 40px; position:relative; z-index:1; }

/* ══════════════════════════════
   HEADER
══════════════════════════════ */
header {
  position:fixed; top:0; left:0; right:0; z-index:200;
  padding:0 40px;
  height:64px;
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(6,9,18,0.82);
  backdrop-filter:blur(20px) saturate(160%);
  border-bottom:0.5px solid var(--gold-bdr);
}

.logo-mark {
  display:flex; align-items:center; gap:14px;
  text-decoration:none;
}
.logo-mark img {
  height:32px;
  width:auto;
  filter: brightness(1.1);
}
.logo-text {
  font-family:var(--serif);
  font-size:20px;
  font-weight:500;
  letter-spacing:0.12em;
  color:var(--gold);
  text-transform:uppercase;
}

.header-right { display:flex; align-items:center; gap:32px; }

/* language switcher */
.lang-sw { display:flex; gap:2px; }
.lang-btn {
  background:none; border:none; cursor:pointer;
  font-family:var(--mono); font-size:10px; font-weight:400;
  color:var(--ink-3);
  padding:4px 8px; border-radius:3px;
  letter-spacing:0.08em;
  transition:color 0.2s, background 0.2s;
}
.lang-btn:hover  { color:var(--gold); }
.lang-btn.active { color:var(--gold); background:var(--gold-dim); }

.nav-cta {
  font-family:var(--sans); font-size:12px; font-weight:400;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--deep);
  background:var(--gold);
  border:none; padding:9px 22px; border-radius:2px;
  cursor:pointer;
  transition:background 0.2s;
  text-decoration:none;
  display:inline-block;
}
.nav-cta:hover { background:var(--gold-l); }

/* ══════════════════════════════
   HERO
══════════════════════════════ */
.hero {
  min-height:100vh;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center;
  padding:120px 40px 80px;
  position:relative;
  overflow:hidden;
}

/* radial glow behind seed */
.hero::after {
  content:'';
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-60%);
  width:600px; height:600px;
  background:radial-gradient(ellipse at center, rgba(212,160,23,0.07) 0%, transparent 70%);
  pointer-events:none;
}

/* animated seed */
.seed-wrap {
  margin-bottom:56px;
  position:relative; z-index:2;
}
.seed-svg {
  width:72px; height:72px;
  animation: seed-breathe 4s ease-in-out infinite;
}
@keyframes seed-breathe {
  0%,100% { transform:scale(1) rotate(0deg);   opacity:0.85; }
  50%      { transform:scale(1.06) rotate(3deg); opacity:1; }
}

/* sprout line that grows from seed */
.sprout-line {
  width:0.5px; height:0px;
  background:linear-gradient(to bottom, var(--gold), transparent);
  margin:0 auto;
  margin-top:8px;
  animation: grow-line 2.4s 0.6s cubic-bezier(0.22,1,0.36,1) forwards;
}
@keyframes grow-line {
  to { height:48px; }
}

.hero-eyebrow {
  font-family:var(--mono); font-size:11px; font-weight:400;
  letter-spacing:0.2em; text-transform:uppercase;
  color:var(--gold); opacity:0.7;
  margin-bottom:28px;
  position:relative; z-index:2;
  animation: fade-up 1s 0.3s both;
}

.hero-h1 {
  font-family:var(--serif);
  font-size:clamp(48px, 7vw, 88px);
  font-weight:300;
  line-height:1.05;
  letter-spacing:-0.01em;
  color:var(--ink);
  margin-bottom:32px;
  position:relative; z-index:2;
  animation: fade-up 1s 0.5s both;
}
.hero-h1 em {
  font-style:italic;
  color:var(--gold);
}

.hero-sub {
  font-family:var(--serif); font-size:19px; font-weight:300;
  font-style:italic;
  color:var(--ink-2);
  max-width:520px; margin:0 auto 52px;
  line-height:1.7;
  position:relative; z-index:2;
  animation: fade-up 1s 0.7s both;
}

/* trilingual sub — hidden by default */
[data-lang] { display:none; }
[data-lang].active { display:block; }
[data-lang-inline] { display:none; }
[data-lang-inline].active { display:inline; }

.hero-form {
  display:flex; gap:0;
  max-width:460px; margin:0 auto;
  border:0.5px solid var(--gold-bdr);
  border-radius:2px;
  overflow:hidden;
  position:relative; z-index:2;
  animation: fade-up 1s 0.9s both;
}
.hero-form input {
  flex:1; height:52px;
  background:rgba(15,31,61,0.6);
  border:none; outline:none;
  padding:0 20px;
  font-family:var(--sans); font-size:14px; font-weight:300;
  color:var(--ink);
  backdrop-filter:blur(8px);
}
.hero-form input::placeholder { color:var(--ink-3); }
.hero-form button {
  height:52px; padding:0 28px;
  background:var(--gold); border:none; cursor:pointer;
  font-family:var(--sans); font-size:11px; font-weight:500;
  letter-spacing:0.15em; text-transform:uppercase;
  color:var(--void);
  transition:background 0.2s;
  white-space:nowrap;
}
.hero-form button:hover { background:var(--gold-l); }

.hero-micro {
  margin-top:16px;
  font-family:var(--mono); font-size:11px; color:var(--ink-3);
  letter-spacing:0.05em;
  position:relative; z-index:2;
  animation: fade-up 1s 1.1s both;
}

/* scroll indicator */
.scroll-hint {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  z-index:2; animation: fade-up 1s 1.4s both;
}
.scroll-hint span {
  font-family:var(--mono); font-size:9px; letter-spacing:0.2em;
  text-transform:uppercase; color:var(--ink-3);
}
.scroll-dot {
  width:4px; height:4px; border-radius:50%; background:var(--gold);
  animation:scroll-pulse 2s ease-in-out infinite;
}
@keyframes scroll-pulse {
  0%,100% { opacity:0.3; transform:translateY(0); }
  50%      { opacity:1;   transform:translateY(6px); }
}

@keyframes fade-up {
  from { opacity:0; transform:translateY(24px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ══════════════════════════════
   MANIFESTO
══════════════════════════════ */
.manifesto {
  padding:120px 0;
  text-align:center;
}
.manifesto blockquote {
  font-family:var(--serif);
  font-size:clamp(26px,3.5vw,42px);
  font-weight:300; font-style:italic;
  line-height:1.4;
  color:var(--ink);
  max-width:680px; margin:0 auto 32px;
}
.manifesto blockquote em { color:var(--gold); font-style:normal; }
.manifesto cite {
  font-family:var(--mono); font-size:11px;
  color:var(--ink-3); letter-spacing:0.12em;
  font-style:normal; text-transform:uppercase;
}

/* ══════════════════════════════
   PILLARS
══════════════════════════════ */
.pillars { padding:100px 0; }

.section-header {
  display:flex; align-items:baseline; gap:24px;
  margin-bottom:64px;
}
.section-tag {
  font-family:var(--mono); font-size:10px;
  color:var(--gold); letter-spacing:0.18em; text-transform:uppercase;
}
.section-rule { flex:1; height:0.5px; background:var(--gold-bdr); }

.pillars-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:var(--gold-bdr);
  border:0.5px solid var(--gold-bdr);
}
.pillar {
  background:var(--deep);
  padding:48px 40px;
  transition:background 0.3s;
  position:relative;
  overflow:hidden;
}
.pillar::before {
  content:'';
  position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--gold), transparent);
  opacity:0;
  transition:opacity 0.3s;
}
.pillar:hover { background:var(--gold-glow); }
.pillar:hover::before { opacity:1; }

.pillar-glyph {
  font-family:var(--serif); font-size:52px; font-weight:300;
  color:var(--gold); opacity:0.25;
  line-height:1;
  margin-bottom:20px;
  display:block;
}
.pillar h3 {
  font-family:var(--serif); font-size:22px; font-weight:400;
  margin-bottom:14px; letter-spacing:0.01em;
}
.pillar p { font-size:14px; color:var(--ink-2); line-height:1.75; font-weight:300; }

/* ══════════════════════════════
   CONTENT PREVIEW
══════════════════════════════ */
.content-section { padding:100px 0; }

.posts { display:flex; flex-direction:column; gap:0; }
.post {
  display:grid; grid-template-columns:1fr auto;
  align-items:center; gap:32px;
  padding:32px 0;
  border-bottom:0.5px solid rgba(212,160,23,0.1);
  text-decoration:none; color:inherit;
  transition:padding-left 0.3s;
  cursor:pointer;
}
.post:first-child { border-top:0.5px solid rgba(212,160,23,0.1); }
.post:hover { padding-left:16px; }
.post-cat {
  font-family:var(--mono); font-size:10px;
  color:var(--gold); letter-spacing:0.12em; text-transform:uppercase;
  margin-bottom:10px;
}
.post h4 {
  font-family:var(--serif); font-size:20px; font-weight:400;
  margin-bottom:6px; letter-spacing:0.01em;
}
.post p { font-size:13px; color:var(--ink-2); line-height:1.6; font-weight:300; }
.post-arrow {
  font-family:var(--serif); font-size:24px; color:var(--gold);
  opacity:0.4; transition:opacity 0.2s, transform 0.2s;
}
.post:hover .post-arrow { opacity:1; transform:translateX(6px); }

/* ══════════════════════════════
   CTA BLOCK
══════════════════════════════ */
.cta-section { padding:100px 0 120px; }
.cta-inner {
  background:var(--navy);
  border:0.5px solid var(--gold-bdr);
  padding:72px 80px;
  text-align:center;
  position:relative;
  overflow:hidden;
}
.cta-inner::before {
  content:'';
  position:absolute; top:-1px; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
}
.cta-inner::after {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 0%, rgba(212,160,23,0.07), transparent 60%);
  pointer-events:none;
}
.cta-seed {
  font-family:var(--serif); font-size:64px; color:var(--gold);
  opacity:0.15; line-height:1; margin-bottom:24px;
  position:relative; z-index:1;
}
.cta-inner h2 {
  font-family:var(--serif); font-size:clamp(28px,4vw,44px);
  font-weight:300; font-style:italic;
  margin-bottom:16px; line-height:1.2;
  position:relative; z-index:1;
}
.cta-inner p {
  font-size:15px; color:var(--ink-2); font-weight:300;
  margin-bottom:44px; max-width:440px; margin-left:auto; margin-right:auto;
  position:relative; z-index:1;
}
.cta-form {
  display:flex; gap:0; max-width:420px;
  margin:0 auto;
  border:0.5px solid var(--gold-bdr); border-radius:2px;
  overflow:hidden; position:relative; z-index:1;
}
.cta-form input {
  flex:1; height:52px; background:rgba(6,9,18,0.6); border:none;
  outline:none; padding:0 20px;
  font-family:var(--sans); font-size:14px; color:var(--ink);
}
.cta-form input::placeholder { color:var(--ink-3); }
.cta-form button {
  height:52px; padding:0 28px; background:var(--gold);
  border:none; cursor:pointer;
  font-family:var(--sans); font-size:11px; font-weight:500;
  letter-spacing:0.15em; text-transform:uppercase; color:var(--void);
  transition:background 0.2s;
}
.cta-form button:hover { background:var(--gold-l); }
.cta-micro {
  margin-top:16px; font-family:var(--mono); font-size:11px;
  color:var(--ink-3); letter-spacing:0.05em;
  position:relative; z-index:1;
}

/* ── confirmação de subscrição ── */
.form-confirm {
  font-family:var(--mono); font-size:13px;
  color:var(--gold); letter-spacing:0.06em;
  text-align:center;
  padding:16px 0;
  animation: fade-up 0.5s both;
  position:relative; z-index:1;
}
.form-confirm-err { color: #e05252; }

/* ══════════════════════════════
   FOOTER
══════════════════════════════ */
footer {
  border-top:0.5px solid var(--gold-bdr);
  padding:40px 0 48px;
  position:relative; z-index:1;
}
footer .wrap {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:16px;
}
.footer-logo { font-family:var(--serif); font-size:15px; color:var(--gold); letter-spacing:0.1em; text-transform:uppercase; }
footer p { font-size:12px; color:var(--ink-3); font-weight:300; }
footer nav { display:flex; gap:24px; }
footer nav a { font-size:12px; color:var(--ink-3); text-decoration:none; letter-spacing:0.05em; }
footer nav a:hover { color:var(--gold); }

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media(max-width:640px){
  header { padding:0 20px; }
  .logo-text { display:none; }
  .wrap { padding:0 20px; }
  .wrap-sm { padding:0 20px; }
  .pillars-grid { grid-template-columns:1fr; }
  .pillar { padding:36px 28px; }
  .cta-inner { padding:48px 28px; }
  .hero-form { flex-direction:column; border-radius:2px; }
  .hero-form input, .hero-form button { width:100%; border-radius:0; }
  .cta-form { flex-direction:column; }
  .cta-form input, .cta-form button { width:100%; }
  .section-header { margin-bottom:40px; }
  .post { grid-template-columns:1fr; }
  .post-arrow { display:none; }
}

@media(prefers-reduced-motion:reduce){
  *, *::before, *::after { animation:none !important; transition:none !important; }
}

/* ══════════════════════════════
   COMPLEMENTOS — páginas internas (workshop, diário)
══════════════════════════════ */
.header-links { display:flex; align-items:center; gap:28px; }
.header-links a.txt {
  font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ink-2); text-decoration:none; transition:color 0.2s;
}
.header-links a.txt:hover, .header-links a.txt.on { color:var(--gold); }

.page-hero { padding:150px 40px 90px; text-align:center; position:relative; overflow:hidden; }
.page-hero::after {
  content:''; position:absolute; top:40%; left:50%; transform:translate(-50%,-50%);
  width:640px; height:520px; pointer-events:none;
  background:radial-gradient(ellipse at center, rgba(212,160,23,0.07) 0%, transparent 70%);
}
.page-hero .hero-h1 { font-size:clamp(40px,6vw,76px); }
.page-hero .hero-sub { margin-bottom:40px; }
.meta-line {
  font-family:var(--mono); font-size:11px; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--ink-2); margin-bottom:40px; position:relative; z-index:2;
  animation: fade-up 1s 0.8s both;
}
.meta-line b { color:var(--gold); font-weight:400; }

.btn-gold {
  display:inline-block; position:relative; z-index:2;
  font-family:var(--sans); font-size:11px; font-weight:500;
  letter-spacing:0.15em; text-transform:uppercase;
  color:var(--void); background:var(--gold);
  padding:18px 40px; border-radius:2px; text-decoration:none;
  transition:background 0.2s;
}
.btn-gold:hover { background:var(--gold-l); }
.page-hero .btn-gold { animation: fade-up 1s 0.9s both; }
.micro {
  margin-top:16px; font-family:var(--mono); font-size:11px; color:var(--ink-3);
  letter-spacing:0.05em; position:relative; z-index:2;
}

.block { padding:100px 0; }
.lead-txt { font-family:var(--serif); font-size:22px; font-weight:300; font-style:italic; color:var(--ink-2); line-height:1.6; max-width:640px; margin:-24px 0 56px; }

.pillar .ax {
  margin-top:22px; font-family:var(--mono); font-size:10px; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--gold); opacity:0.75;
}
.pillar.core { background:var(--navy); }
.pillar.core::before { opacity:1; }
.pillar .flag {
  position:absolute; top:22px; right:24px;
  font-family:var(--mono); font-size:9px; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--gold); border:0.5px solid var(--gold-bdr); padding:4px 10px; border-radius:2px;
}
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-4 { grid-template-columns:repeat(4,1fr); }
.grid-4 .pillar, .grid-3 .pillar { padding:40px 30px; }
.grid-4 .pillar-glyph, .grid-3 .pillar-glyph { font-size:40px; }

.author { display:grid; grid-template-columns:260px 1fr; gap:56px; align-items:center; }
.author img { width:100%; display:block; border:0.5px solid var(--gold-bdr); filter:saturate(0.9) contrast(1.02); }
.author h3 { font-family:var(--serif); font-size:40px; font-weight:300; margin-bottom:18px; }
.author p { font-size:15px; color:var(--ink-2); font-weight:300; line-height:1.8; margin-bottom:14px; }
.author blockquote {
  font-family:var(--serif); font-size:24px; font-weight:300; font-style:italic; color:var(--ink);
  line-height:1.45; border-left:1px solid var(--gold); padding-left:22px; margin:22px 0;
}

.offer { display:grid; grid-template-columns:1.2fr 0.8fr; gap:0; text-align:left; padding:0; }
.offer > div { padding:56px 52px; position:relative; z-index:1; }
.offer .facts { border-right:0.5px solid var(--gold-bdr); }
.facts dl { display:grid; grid-template-columns:auto 1fr; gap:14px 28px; }
.facts dt { font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); opacity:0.8; padding-top:3px; }
.facts dd { font-size:14px; font-weight:300; color:var(--ink); line-height:1.6; }
.price .lot { font-family:var(--mono); font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); }
.price .v { font-family:var(--serif); font-size:64px; font-weight:300; line-height:1; margin:18px 0 8px; }
.price .then { font-family:var(--mono); font-size:11px; color:var(--ink-3); margin-bottom:32px; }
.price .micro { margin-top:18px; line-height:1.7; font-family:var(--sans); font-size:12px; font-weight:300; letter-spacing:0; }

.faq details { border-bottom:0.5px solid rgba(212,160,23,0.15); padding:26px 0; }
.faq details:first-child { border-top:0.5px solid rgba(212,160,23,0.15); }
.faq summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:24px; font-family:var(--serif); font-size:21px; font-weight:400; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:'+'; color:var(--gold); font-weight:300; }
.faq details[open] summary::after { content:'–'; }
.faq details p { margin-top:14px; font-size:14px; color:var(--ink-2); font-weight:300; line-height:1.75; max-width:680px; }

.legal { border-top:0.5px solid var(--gold-bdr); padding:36px 0 56px; position:relative; z-index:1; }
.legal h5 { font-family:var(--mono); font-size:10px; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-2); font-weight:400; margin:18px 0 8px; }
.legal p { font-size:12px; color:var(--ink-3); font-weight:300; line-height:1.7; max-width:820px; margin-bottom:4px; }
.legal a { color:var(--ink-2); }

.entry { padding:44px 0; border-bottom:0.5px solid rgba(212,160,23,0.15); }
.entry:first-child { border-top:0.5px solid rgba(212,160,23,0.15); }
.entry time { font-family:var(--mono); font-size:10px; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); }
.entry h3 { font-family:var(--serif); font-size:32px; font-weight:300; margin:12px 0 18px; }
.entry p { font-size:15px; color:var(--ink-2); font-weight:300; line-height:1.8; margin-bottom:12px; max-width:680px; }
.entry p b { color:var(--ink); font-weight:400; }
.nums { display:flex; flex-wrap:wrap; gap:0; margin-top:26px; border:0.5px solid var(--gold-bdr); width:fit-content; }
.nums div { padding:16px 26px; border-right:0.5px solid var(--gold-bdr); }
.nums div:last-child { border-right:none; }
.nums span { display:block; font-family:var(--mono); font-size:9px; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-3); margin-bottom:6px; }
.nums strong { font-family:var(--serif); font-size:30px; font-weight:300; color:var(--gold); }

@media(max-width:860px){
  .grid-3, .grid-4 { grid-template-columns:1fr 1fr; }
  .author { grid-template-columns:1fr; gap:32px; }
  .author img { max-width:240px; }
  .offer { grid-template-columns:1fr; }
  .offer .facts { border-right:none; border-bottom:0.5px solid var(--gold-bdr); }
}
@media(max-width:640px){
  .grid-3, .grid-4 { grid-template-columns:1fr; }
  .page-hero { padding:120px 20px 70px; }
  .offer > div { padding:40px 26px; }
  .facts dl { grid-template-columns:1fr; gap:4px 0; }
  .facts dd { margin-bottom:12px; }
  .header-links { gap:18px; }
  .header-links a.txt.hide-sm { display:none; }
  .nums div { padding:14px 18px; }
  .block { padding:72px 0; }
}
