:root{
  --verde-escuro:#354024;
  --verde-escuro-60:rgba(53,64,36,0.65);
  --verde-escuro-15:rgba(53,64,36,0.12);
  --verde-oliva:#899064;
  --verde-oliva-soft:#AEB394;
  --verde-oliva-15:rgba(137,144,100,0.15);
  --bege:#E5D7C4;
  --bege-soft:#F4EEE3;
  --branco:#FFFFFF;
  --off:#FBF8F3;
  --font:'Nunito', sans-serif;
  --font-head:'Fraunces', serif;
  --ease:cubic-bezier(.16,.8,.24,1);
  --shadow-soft:0 4px 22px -4px rgba(53,64,36,.16);
  --shadow-float:0 16px 40px -12px rgba(137,144,100,.35);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font); color:var(--verde-escuro); background:var(--off); -webkit-font-smoothing:antialiased; position:relative;}
body::before{
  content:""; position:fixed; inset:0; z-index:9999; pointer-events:none;
  opacity:.035; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
a{color:inherit; text-decoration:none;}
img,svg{display:block; max-width:100%;}
.wrap{max-width:820px; margin:0 auto; padding:0 32px; position:relative; z-index:1;}
.wrap-wide{max-width:1080px; margin:0 auto; padding:0 32px;}

/* NAV (floating pill, matches home) */
header{position:sticky; top:16px; z-index:100; padding:0 16px;}
header .wrap-wide{
  display:flex; align-items:center; justify-content:space-between;
  background:rgba(255,255,255,.72); backdrop-filter:blur(12px) saturate(1.4);
  border:1px solid rgba(53,64,36,.1); border-radius:999px;
  padding:10px 12px 10px 26px; box-shadow:var(--shadow-soft);
}
.logo{display:flex; align-items:center; gap:10px; font-weight:700; font-size:1.15rem; color:var(--verde-escuro);}
.back-link{display:inline-flex; align-items:center; gap:8px; font-size:.82rem; font-weight:700; color:var(--verde-oliva); background:var(--bege-soft); padding:9px 18px; border-radius:999px; transition:all .3s var(--ease);}
.back-link:hover{background:var(--bege);}
.back-link svg{width:14px; height:14px;}

/* ARTICLE HERO */
.article-hero{padding:70px 0 40px; margin-bottom:48px; position:relative; overflow:hidden;}
.blob{position:absolute; filter:blur(60px); z-index:0; pointer-events:none;}
.blob-oliva{background:rgba(137,144,100,.25); border-radius:60% 40% 30% 70% / 60% 30% 70% 40%;}
.eyebrow{
  display:inline-flex; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  color:var(--verde-escuro-80,var(--verde-escuro)); background:var(--bege); padding:7px 16px; border-radius:999px;
}
.article-hero h1{font-family:var(--font-head); font-weight:700; font-size:clamp(1.9rem,4vw,2.7rem); line-height:1.15; margin:20px 0 20px; letter-spacing:-0.01em; position:relative; z-index:1;}
.article-meta{display:flex; gap:14px; flex-wrap:wrap; font-size:.82rem; color:var(--verde-escuro-60); font-weight:600; position:relative; z-index:1;}
.article-meta span::after{content:"·"; margin-left:14px; color:var(--verde-oliva-soft);}
.article-meta span:last-child::after{content:"";}

/* ARTICLE BODY */
.article-body{padding-bottom:90px;}
.article-body p{font-size:1.05rem; line-height:1.85; color:rgba(53,64,36,.82); margin-bottom:22px;}
.article-body h2{font-family:var(--font-head); font-weight:700; font-size:1.55rem; margin:44px 0 18px; color:var(--verde-escuro);}
.article-body h3{font-family:var(--font-head); font-weight:600; font-size:1.2rem; margin:32px 0 14px; color:var(--verde-escuro);}
.article-body ul, .article-body ol{margin:0 0 22px 22px; color:rgba(53,64,36,.82);}
.article-body li{font-size:1.02rem; line-height:1.8; margin-bottom:8px;}
.article-body strong{color:var(--verde-escuro); font-weight:800;}
.pull-note{background:var(--bege-soft); border-left:4px solid var(--verde-oliva); border-radius:1.6rem; padding:24px 28px; margin:34px 0; font-size:.96rem; line-height:1.75; color:var(--verde-escuro); box-shadow:var(--shadow-soft);}

.cta-block{background:var(--verde-escuro); border-radius:3rem 3rem 3rem 5rem; padding:48px; text-align:center; margin-top:56px; position:relative; overflow:hidden;}
.cta-block p.eyebrow{color:var(--verde-oliva-soft); background:rgba(255,255,255,.08);}
.cta-block h3{font-family:var(--font-head); color:var(--bege); font-weight:700; font-size:1.5rem; margin:16px 0 24px; position:relative; z-index:1;}
.btn{display:inline-flex; align-items:center; gap:10px; padding:14px 30px; border-radius:999px; font-size:.86rem; font-weight:700; background:var(--bege); color:var(--verde-escuro); transition:all .3s var(--ease); position:relative; z-index:1;}
.btn:hover{transform:scale(1.05); box-shadow:0 10px 24px -6px rgba(0,0,0,.25);}

/* CATEGORY TAGS */
.tag-row{display:flex; gap:10px; flex-wrap:wrap; margin:40px 0 0;}
.tag{padding:8px 18px; border-radius:999px; font-size:.76rem; font-weight:700; border:1px solid var(--verde-escuro-15); color:var(--verde-escuro); background:var(--branco);}

/* RELATED */
.related-title{font-family:var(--font-head); font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--verde-oliva); margin-bottom:22px;}
.related-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:20px; margin-bottom:80px;}
.related-card{display:block; padding:24px; border-radius:2rem 2rem 2rem 3rem; border:1px solid var(--verde-escuro-15); background:var(--branco); box-shadow:var(--shadow-soft); transition:all .3s var(--ease);}
.related-card:nth-child(2){border-radius:2rem 3rem 2rem 2rem;}
.related-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-float);}
.related-card .eyebrow{margin-bottom:10px;}
.related-card h4{font-family:var(--font-head); font-size:1rem; font-weight:700; color:var(--verde-escuro);}

/* FOOTER */
footer{background:var(--verde-escuro); color:var(--bege); padding:50px 0; text-align:center; border-radius:3rem 3rem 0 0;}
footer p{font-size:.8rem; color:rgba(231,216,197,.6);}
footer a{color:var(--bege); font-weight:700;}

@media (max-width:640px){
  .article-hero{padding:40px 0 30px;}
  .related-grid{grid-template-columns:1fr;}
}
