:root {
  --tinta: #1c1712;
  --papel: #faf3e3;
  --sol: #e8743b;
  --amarelo: #f5b942;
  --verde: #2e7d4f;
  --verde-escuro: #123b26;
  --verde-claro: #8fc98a;
  --palha: #cde8b5;
  --terra: #7a4a2b;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--papel); color: var(--tinta); font-family: "Karla", sans-serif; }
a { color: inherit; }
img { max-width: 100%; }

.site-header {
  align-items: center;
  background: var(--verde-escuro);
  display: flex;
  justify-content: space-between;
  padding: 14px 36px;
  position: relative;
  z-index: 20;
}
.site-header.transparent { background: transparent; left: 0; position: absolute; right: 0; top: 0; }
.brand { align-items: center; background:#faf3e3e8; border:1px solid #fff6; border-radius:12px; display: flex; padding:5px 8px; text-decoration: none; }
.brand img { height: auto; width: 319px; }
.site-nav { display: flex; gap: 24px; }
.site-nav a { color: var(--palha); font-weight: 700; text-decoration: none; }
.site-nav a:hover, .site-nav a.active { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.menu-toggle { align-items:center; background:var(--tinta); border:1px solid #ffffff55; border-radius:10px; cursor:pointer; display:none; flex-direction:column; gap:5px; height:42px; justify-content:center; padding:0; width:42px; }
.menu-toggle span { background:var(--papel); border-radius:2px; display:block; height:2px; transition:transform .2s, opacity .2s; width:22px; }
.site-header.menu-open .menu-toggle span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.site-header.menu-open .menu-toggle span:nth-child(2) { opacity:0; }
.site-header.menu-open .menu-toggle span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.home-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 100vh; position: relative; }
.home-half { display: flex; flex-direction: column; justify-content: flex-start; overflow: hidden; padding: clamp(210px, 25vh, 270px) 48px 90px; position: relative; text-decoration: none; }
.home-half > * { position: relative; z-index: 2; }
.home-music { background: linear-gradient(180deg, #f07c54, #f5b942 70%, #fce9b8); }
.home-agro { background: linear-gradient(180deg, #0e2e1d, #1e5c38 60%, #2e7d4f); color: #eaf6e4; }
.eyebrow { font-family: "Sora", sans-serif; font-size: .78rem; font-weight: 800; letter-spacing: 3px; margin-bottom: 12px; text-transform: uppercase; }
.home-music .eyebrow { color: #a73c17; }
.home-agro .eyebrow { color: var(--verde-claro); }
.home-half h1 { font-family: "Sora", sans-serif; font-size: clamp(2.2rem, 4vw, 3.7rem); line-height: 1.04; max-width: 13ch; }
.home-half p { font-size: 1.12rem; line-height: 1.55; margin: 18px 0 28px; max-width: 38ch; }
.home-music p { color: #4a2410; }
.home-agro p { color: var(--palha); }
.button { align-self: flex-start; background: var(--tinta); border: 0; border-radius: 999px; color: var(--papel); cursor: pointer; display: inline-block; font-family: "Sora", sans-serif; font-weight: 700; padding: 14px 26px; text-decoration: none; transition: transform .2s; }
.button:hover { transform: translateY(-2px); }
.home-agro .button { background: var(--verde-claro); color: var(--verde-escuro); }
.landscape { bottom: 0; height: 210px; left: 0; position: absolute; width: 100%; z-index: 1; }
.about { align-items:center; display: grid; gap: 64px; grid-template-columns: 1fr 1fr; margin: 0 auto; max-width: 1180px; padding: 110px 32px; }
.about-photo { background:var(--verde-escuro); border-radius:28px; box-shadow:16px 16px 0 var(--amarelo); overflow:hidden; position:relative; }
.about-photo img { display:block; height:auto; width:100%; }
.about-copy .eyebrow { color:var(--verde); margin-bottom:10px; }
.about h2 { font-family: "Sora", sans-serif; font-size:clamp(2.2rem,4vw,3.5rem); line-height:1.05; margin-bottom:22px; }
.about p { font-size: 1.1rem; line-height: 1.7; margin-bottom: 14px; }
.about-lead { color:var(--terra); font-family:"Sora",sans-serif; font-size:1.25rem !important; font-weight:700; line-height:1.45 !important; }
.future { background: #efe5cd; border-left: 5px solid var(--terra); border-radius: 0 12px 12px 0; font-style: italic; margin-top:24px; padding: 20px 24px; }

.music-page { background: #fff6e0; font-family: "Nunito", sans-serif; }
.music-page h1, .music-page h2, .music-page h3, .music-page .button { font-family: "Baloo 2", cursive; }
.music-hero { background: linear-gradient(180deg, #f07c54, #f5b942 62%, #fce9b8); overflow: hidden; padding: 80px 24px 220px; position: relative; text-align: center; }
.music-hero h1, .music-hero p, .music-hero .button { position: relative; z-index: 3; }
.music-hero h1 { font-size: clamp(2.8rem, 7vw, 5rem); line-height: 1; text-shadow: 3px 3px 0 #fce9b8; transform: rotate(-2deg); }
.music-hero p { color: #5a2a10; font-size: 1.25rem; font-weight: 700; margin: 18px auto 30px; max-width: 48ch; }
.music-hero .button { font-size: 1.15rem; }
.cloud { background: #fce9b8; border-radius: 999px; height: 46px; opacity: .85; pointer-events: none; position: absolute; width: 170px; z-index: 1; }
.cloud.one { left: 7%; top: 80px; }
.cloud.two { right: 9%; top: 140px; width: 220px; }
.sun { background: #fce9b8; border-radius: 50%; bottom: 80px; box-shadow: 0 0 0 18px #ffffff30, 0 0 0 40px #ffffff18; height: 180px; left: 50%; pointer-events: none; position: absolute; transform: translateX(-50%); width: 180px; z-index: 1; }
.music-hero .landscape { pointer-events: none; z-index: 2; }
.section { margin: 0 auto; max-width: 1100px; padding: 80px 24px; }
.section-title { font-size: 2.4rem; line-height: 1.1; }
.section-subtitle { color: #6b4a2a; font-size: 1.08rem; margin: 8px 0 36px; }
.music-grid { display: grid; gap: 26px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.music-card { background: #fff; border: 4px solid var(--tinta); border-radius: 24px; box-shadow: 8px 8px 0 var(--amarelo); overflow: hidden; }
.album-art { align-items: center; display: flex; font-size: 3.5rem; height: 155px; justify-content: center; }
.music-card:nth-child(4n+1) .album-art { background: repeating-linear-gradient(45deg,#f07c54 0 18px,#e8632f 18px 36px); }
.music-card:nth-child(4n+2) .album-art { background: repeating-linear-gradient(45deg,#2e7d4f 0 18px,#3c955f 18px 36px); }
.music-card:nth-child(4n+3) .album-art { background: repeating-linear-gradient(45deg,#f5b942 0 18px,#f0a92c 18px 36px); }
.music-card:nth-child(4n+4) .album-art { background: repeating-linear-gradient(45deg,#5b8dd9 0 18px,#4a7bc4 18px 36px); }
.music-info { padding: 20px 22px 24px; }
.music-info h3 { font-size: 1.4rem; }
.performers { color: #8a6a45; margin: 4px 0 14px; }
audio { min-height:48px; width:100%; }
.audio-player { margin-top:4px; width:100%; }
.audio-custom-controls { display:none; }
.audio-player.enhanced audio { display:none; }
.audio-player.enhanced .audio-custom-controls { align-items:center; background:linear-gradient(145deg,#251e18,#100d0a); border:2px solid #ffffff1f; border-radius:18px; box-shadow:0 8px 22px #1c171226; display:grid; gap:10px; grid-template-columns:58px minmax(0,1fr) 48px; padding:12px; }
.audio-play { align-items:center; background:var(--amarelo); border:0; border-radius:50%; box-shadow:0 5px 14px #0007; color:var(--tinta); cursor:pointer; display:flex; font-size:1.5rem; height:58px; justify-content:center; padding:0 0 0 4px; transition:transform .2s, background .2s; width:58px; }
.audio-play:hover { background:#ffd465; transform:scale(1.07); }
.audio-player.playing .audio-play { padding-left:0; }
.audio-track { min-width:0; }
.audio-progress { accent-color:var(--amarelo); cursor:pointer; height:24px; width:100%; }
.audio-meta { color:#d9cdbd; display:flex; font-size:.75rem; font-variant-numeric:tabular-nums; justify-content:space-between; margin-top:1px; }
.audio-action,.audio-speed { align-items:center; background:#ffffff17; border:1px solid #ffffff2e; border-radius:12px; color:#fff; cursor:pointer; display:flex; font-weight:800; height:48px; justify-content:center; width:48px; }
.audio-action { font-size:1.2rem; }
.audio-action:hover,.audio-speed:hover { background:#ffffff29; }
.audio-speed { grid-column:3; font-size:.9rem; height:34px; }
.audio-unavailable { background:#f3ead8; border:1px dashed #b99e73; border-radius:10px; color:#765f3c; font-size:.88rem; font-weight:700; padding:10px 12px; text-align:center; }
.tag { border: 2px solid var(--tinta); border-radius: 999px; display: inline-block; font-size: .8rem; font-weight: 700; margin-top: 12px; padding: 2px 12px; }
.dark-band { background: var(--tinta); color: #fce9b8; }
.dark-band .section-title { color: var(--amarelo); }
.dark-band .section-subtitle { color:#d8c49a; }
.video-gallery { display:grid; gap:34px; margin-top:30px; }
.video-card h3 { color:var(--amarelo); font-size:1.7rem; line-height:1.1; margin-bottom:4px; }
.video-card > p { color:#d8c49a; margin-bottom:16px; }
.youtube-feature { display:flex; flex-direction:column; margin:0; max-width:none; }
.youtube-frame { aspect-ratio:16/9; background:#090806; border:4px solid var(--amarelo); border-radius:24px; box-shadow:0 20px 55px #0008; overflow:hidden; position:relative; }
.youtube-frame iframe { border:0; display:block; height:100%; left:0; position:absolute; top:0; width:100%; }
.youtube-cta { align-items:center; background:var(--amarelo); border-radius:999px; box-shadow:0 8px 0 #00000040; color:var(--tinta); display:inline-flex; font-family:"Baloo 2",cursive; font-size:1.25rem; font-weight:800; gap:10px; justify-content:center; margin:24px auto 0; min-height:58px; padding:14px 28px; text-decoration:none; transition:transform .2s; width:fit-content; }
.youtube-cta:hover { transform:translateY(-2px); }
.video-player { aspect-ratio:9/16; background:#050403; border:4px solid var(--amarelo); border-radius:24px; box-shadow:0 20px 55px #0008; margin:0 auto; max-width:430px; overflow:hidden; position:relative; }
.video-player video { background:#000; display:block; height:100%; object-fit:contain; width:100%; }
.video-big-play { align-items:center; background:#f5b942e8; border:0; border-radius:50%; box-shadow:0 10px 35px #0008; color:var(--tinta); cursor:pointer; display:none; font-size:2.4rem; height:96px; justify-content:center; left:50%; padding:0 0 0 7px; position:absolute; top:50%; transform:translate(-50%,-50%); transition:transform .2s, opacity .2s; width:96px; }
.video-big-play:hover { transform:translate(-50%,-50%) scale(1.08); }
.video-controls { align-items:center; background:linear-gradient(transparent,#000e); bottom:0; display:none; gap:12px; left:0; padding:32px 16px 16px; position:absolute; right:0; }
.video-player.enhanced .video-big-play,.video-player.enhanced .video-controls { display:flex; }
.video-player.playing .video-big-play { opacity:0; pointer-events:none; }
.video-control { align-items:center; background:#ffffff20; border:1px solid #ffffff40; border-radius:12px; color:#fff; cursor:pointer; display:flex; flex:0 0 52px; font-size:1.35rem; height:52px; justify-content:center; }
.video-control:hover { background:var(--amarelo); color:var(--tinta); }
.video-progress { accent-color:var(--amarelo); cursor:pointer; flex:1; min-width:50px; }
.video-time { color:#fff; font-size:.78rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.purpose { background: #fce9b8; text-align: center; }
.purpose .section { max-width: 780px; }
.purpose p { font-size: 1.2rem; line-height: 1.7; margin-top: 18px; }

.agro-page { background: #f4f7ee; color: #14231a; }
.agro-page h1, .agro-page h2, .agro-page h3, .article-page h1, .article-page h2, .article-page h3 { font-family: "Fraunces", serif; }
.agro-hero { background: linear-gradient(180deg, #0e2e1d, #1e5c38); color: #eaf6e4; overflow: hidden; padding: 90px 24px 0; }
.hero-inner { margin: 0 auto; max-width: 1000px; }
.agro-hero h1 { font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1.06; max-width: 18ch; }
.agro-hero p { color: var(--palha); font-size: 1.15rem; line-height: 1.55; margin: 18px 0 30px; max-width: 55ch; }
.category { background: var(--palha); border-radius: 999px; color: var(--verde-escuro); display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: 1.5px; margin-bottom: 14px; padding: 5px 12px; text-transform: uppercase; }
.strata { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 60px; }
.stratum { color: var(--verde-escuro); font-weight: 700; padding: 18px 16px 26px; }
.stratum small { display: block; font-weight: 400; margin-top: 4px; opacity: .8; }
.stratum:nth-child(1) { background: #cde8b5; border-radius: 14px 0 0; }
.stratum:nth-child(2) { background: #a9d79a; }
.stratum:nth-child(3) { background: #7fbf7c; }
.stratum:nth-child(4) { background: #579e63; border-radius: 0 14px 0 0; color: #fff; }
.featured { background: #fff; border-radius: 18px; box-shadow: 0 8px 30px #123b261f; color: inherit; display: grid; grid-template-columns: 1.1fr 1fr; margin-bottom: 32px; overflow: hidden; text-decoration: none; }
.article-image { align-items: flex-end; background: linear-gradient(140deg, #2e7d4f, #79b675); display: flex; min-height: 280px; padding: 20px; }
.article-image.has-image { background-position: center; background-size: cover; }
.article-image em { color: #fff; font-size: .8rem; font-style: normal; text-shadow: 0 1px 5px #000; }
.featured-copy { padding: 34px; }
.featured h3 { font-size: 1.8rem; line-height: 1.18; margin-bottom: 12px; }
.featured p, .article-card p { color: #465548; line-height: 1.55; margin-bottom: 16px; }
.meta { color: #718075; font-size: .86rem; }
.article-grid { display: grid; gap: 24px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.article-card { background: #fff; border-radius: 16px; box-shadow: 0 4px 18px #123b2617; color: inherit; overflow: hidden; text-decoration: none; transition: transform .2s; }
.article-card:hover { transform: translateY(-4px); }
.card-bar { background: var(--verde); height: 8px; }
.article-card:nth-child(2n) .card-bar { background: var(--terra); }
.article-card-copy { padding: 22px; }
.article-card h3 { font-size: 1.25rem; line-height: 1.25; margin-bottom: 10px; }
.author-band { background: var(--verde-escuro); color: var(--palha); }
.author-grid { align-items: center; display: grid; gap: 34px; grid-template-columns: auto 1fr; }
.author-avatar { align-items: center; background: var(--verde-claro); border-radius: 50%; display: flex; font-size: 3rem; height: 120px; justify-content: center; width: 120px; }
.author-band h2 { color: #fff; font-size: 1.8rem; margin-bottom: 10px; }
.author-band p { line-height: 1.7; max-width: 72ch; }

.article-page { background: #f4f7ee; color: #14231a; }
.article-cover { background: linear-gradient(140deg, #0e2e1d, #2e7d4f); color: #eaf6e4; padding: 80px 24px 60px; }
.article-cover-inner, .article-body { margin: 0 auto; max-width: 760px; }
.article-cover h1 { font-size: clamp(2rem, 4.5vw, 3.2rem); line-height: 1.12; }
.article-cover .meta { color: var(--palha); margin-top: 18px; }
.article-body { font-size: 1.12rem; line-height: 1.8; padding: 60px 24px; }
.article-body h2 { color: var(--verde-escuro); font-size: 1.65rem; margin: 42px 0 14px; }
.article-body h3 { margin: 36px 0 12px; }
.article-body p { margin-bottom: 20px; }
.article-body ul, .article-body ol { margin: 0 0 22px 24px; }
.article-body blockquote { background: #fff; border-left: 5px solid var(--verde-claro); border-radius: 0 12px 12px 0; color: #3a4c3e; font-style: italic; margin: 28px 0; padding: 20px 26px; }
.back-link { color: var(--verde-escuro); display: inline-block; font-weight: 700; margin-top: 36px; }

.site-footer { background: #0b2416; color: var(--palha); padding: 38px 24px; text-align: center; }
.site-footer a { color: var(--verde-claro); }
.empty-state { background: #fff; border-radius: 14px; color: #59675c; padding: 30px; text-align: center; }

@media (max-width: 800px) {
  .site-header { justify-content:center; padding:13px 8px; }
  .site-header.transparent.menu-open { background:var(--verde-escuro); }
  .brand { margin:0 auto; }
  .brand img { width:287px; }
  .menu-toggle { display:flex; position:absolute; right:8px; top:50%; transform:translateY(-50%); z-index:2; }
  .site-nav { background:var(--verde-escuro); border:1px solid #ffffff22; border-radius:14px; box-shadow:0 14px 30px #0005; display:none; flex-direction:column; gap:0; left:12px; overflow:hidden; padding:8px; position:absolute; right:12px; top:calc(100% + 8px); }
  .site-header.menu-open .site-nav { display:flex; }
  .site-nav a { border-radius:8px; padding:13px 16px; text-align:center; }
  .site-nav a:hover, .site-nav a.active { background:#ffffff12; text-decoration:none; }
  .home-hero { grid-template-columns: 1fr; }
  .home-half { min-height: 62vh; padding:150px 24px 48px; }
  .about { gap: 44px; grid-template-columns: 1fr; padding: 70px 24px; }
  .about-photo { box-shadow:9px 9px 0 var(--amarelo); }
  .featured { grid-template-columns: 1fr; }
  .strata { grid-template-columns: repeat(2, 1fr); }
  .author-grid { grid-template-columns: 1fr; }
  .cloud { display: none; }
  .music-hero { padding: 70px 20px 250px; }
  .music-hero p { margin-bottom: 22px; }
  .music-hero .button { margin-bottom: 24px; }
  .sun { bottom: 48px; box-shadow: 0 0 0 12px #ffffff30, 0 0 0 28px #ffffff18; height: 120px; width: 120px; }
  .music-hero .landscape { height: 140px; }
  .youtube-cta { font-size:1.1rem; min-height:54px; width:100%; }
  .video-big-play { height:84px; width:84px; }
  .video-control { flex-basis:48px; height:48px; }
  .video-controls { gap:8px; padding:28px 10px 10px; }
}

@media (max-width: 350px) {
  .brand img { width:250px; }
}

