*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
 --brand:#1B4332;
 --pop:#C9A227;
 --night:#14261F;
 --surface:#F4F7F5;
 --ink:#292929;
 --line:#D8E3DE;
}

html{scroll-behavior:smooth}

body{
 font-family:'Karla',sans-serif;
 font-weight:400;
 color:var(--ink);
 line-height:1.7;
 background:#fff;
}

h1,h2,h3,h4{
 font-family:'Sora',sans-serif;
 color:var(--night);
 line-height:1.3;
}

a{
 color:var(--brand);
 text-decoration:none;
 transition:color .25s;
}
a:hover{color:var(--pop)}

img{
 max-width:100%;
 display:block;
 border-radius:8px;
}

.afv-container{
 max-width:1140px;
 margin:0 auto;
 padding:0 20px;
}

/* Topbar disclaimer */
.afv-topbar{
 background:var(--night);
 color:#EDEDED;
 font-size:.78rem;
 padding:10px 20px;
 text-align:center;
}
.afv-topbar p{max-width:1140px;margin:0 auto}
.afv-topbar strong{color:var(--pop)}

/* Header */
.afv-header{
 height:68px;
 display:flex;
 align-items:center;
 border-bottom:1px solid var(--line);
 background:#fff;
 position:sticky;
 top:0;
 z-index:100;
}
.afv-header-inner{
 display:flex;
 align-items:center;
 justify-content:space-between;
 width:100%;
}
.afv-logo{
 font-family:'Sora',sans-serif;
 font-weight:700;
 font-size:1.2rem;
 color:var(--brand);
}
.afv-nav{
 display:flex;
 gap:28px;
}
.afv-nav a{
 color:var(--ink);
 font-size:.92rem;
 font-weight:600;
}
.afv-burger{
 display:none;
 flex-direction:column;
 justify-content:center;
 gap:5px;
 width:32px;
 height:32px;
 background:none;
 border:none;
 cursor:pointer;
}
.afv-burger span{
 display:block;
 width:100%;
 height:2px;
 background:var(--brand);
}

/* Buttons */
.afv-btn{
 display:inline-block;
 background:var(--brand);
 color:#fff;
 padding:13px 32px;
 border-radius:8px;
 font-weight:600;
 font-size:.92rem;
 border:none;
 cursor:pointer;
 transition:background .25s;
}
.afv-btn:hover{
 background:var(--night);
 color:#fff;
}

/* Hero */
.afv-hero{
 padding:70px 0;
 background:var(--surface);
}
.afv-hero-grid{
 display:grid;
 grid-template-columns:1.4fr 1fr;
 gap:48px;
 align-items:center;
}
.afv-badge{
 display:inline-block;
 background:var(--brand);
 color:#fff;
 font-size:.75rem;
 font-weight:600;
 padding:5px 14px;
 border-radius:20px;
 margin-bottom:18px;
}
.afv-hero-text h1{
 font-size:2.3rem;
 font-weight:700;
 margin-bottom:16px;
}
.afv-hero-sub{
 font-size:1.05rem;
 color:#4A4A4A;
 margin-bottom:20px;
}
.afv-hero-facts{
 list-style:none;
 margin-bottom:28px;
 border-left:3px solid var(--pop);
 padding-left:16px;
}
.afv-hero-facts li{
 font-size:.92rem;
 color:#3D3D3D;
 margin-bottom:8px;
}
.afv-hero-side img{
 border-radius:10px;
}

/* Section base */
.afv-section{
 padding:70px 0;
}
.afv-section-title{
 font-size:1.85rem;
 font-weight:700;
 margin-bottom:40px;
 text-align:center;
}
.afv-section-lead{
 max-width:720px;
 margin:0 auto 40px;
 text-align:center;
 color:#4A4A4A;
}

/* Sobre */
.afv-sobre-grid{
 display:grid;
 grid-template-columns:1fr 1.4fr;
 gap:40px;
 align-items:center;
}
.afv-sobre-img img{border-radius:10px}
.afv-sobre-text h2{
 font-size:1.85rem;
 margin-bottom:18px;
}
.afv-sobre-text p{
 margin-bottom:14px;
 color:#3D3D3D;
}

/* Processo (zigzag steps) */
.afv-steps{
 display:flex;
 flex-direction:column;
 gap:28px;
}
.afv-step{
 display:flex;
 gap:20px;
 align-items:flex-start;
 background:var(--surface);
 padding:24px;
 border-radius:10px;
}
.afv-step:nth-child(even){
 flex-direction:row-reverse;
 text-align:right;
}
.afv-step-num{
 font-family:'Sora',sans-serif;
 font-size:2rem;
 font-weight:700;
 color:var(--pop);
 flex-shrink:0;
}
.afv-step h3{
 font-size:1.1rem;
 margin-bottom:6px;
}
.afv-step p{
 color:#4A4A4A;
 font-size:.94rem;
}

/* Cards / Temas */
.afv-cards{
 display:flex;
 flex-direction:column;
 gap:18px;
}
.afv-card{
 display:flex;
 gap:18px;
 align-items:flex-start;
 padding:20px;
 border:1px solid var(--line);
 border-radius:10px;
}
.afv-card-icon{
 color:var(--pop);
 font-size:1.3rem;
 flex-shrink:0;
}
.afv-card h3{
 font-size:1.05rem;
 margin-bottom:6px;
}
.afv-card p{
 color:#4A4A4A;
 font-size:.92rem;
}

/* Blog */
.afv-blog{
 background:var(--surface);
}
.afv-blog-grid{
 display:grid;
 grid-template-columns:1.4fr 1fr;
 gap:24px;
}
.afv-blog-side{
 display:flex;
 flex-direction:column;
 gap:24px;
}
.afv-blog-card{
 display:block;
 background:#fff;
 border-radius:10px;
 overflow:hidden;
 border:1px solid var(--line);
}
.afv-blog-card img{
 border-radius:0;
 width:100%;
 height:180px;
 object-fit:cover;
}
.afv-blog-main img{height:260px}
.afv-blog-card-text{
 padding:18px;
}
.afv-blog-tag{
 display:inline-block;
 background:var(--brand);
 color:#fff;
 font-size:.7rem;
 font-weight:600;
 padding:3px 10px;
 border-radius:12px;
 margin-bottom:8px;
}
.afv-blog-card-text h3{
 font-size:1.05rem;
 color:var(--night);
}
.afv-blog-card-text p{
 font-size:.88rem;
 color:#4A4A4A;
 margin-top:6px;
}

/* FAQ */
.afv-faq-list{
 max-width:760px;
 margin:0 auto;
 display:flex;
 flex-direction:column;
 gap:10px;
}
.afv-faq-item{
 border:1px solid var(--line);
 border-radius:10px;
 overflow:hidden;
}
.afv-faq-question{
 display:flex;
 justify-content:space-between;
 align-items:center;
 padding:16px 20px;
 cursor:pointer;
 font-weight:600;
 font-size:.96rem;
}
.afv-faq-icon{
 color:var(--pop);
 font-size:1.3rem;
 font-weight:700;
 flex-shrink:0;
 margin-left:12px;
}
.afv-faq-answer{
 max-height:0;
 overflow:hidden;
 transition:max-height .3s ease;
 padding:0 20px;
}
.afv-faq-answer p{
 padding-bottom:16px;
 color:#4A4A4A;
 font-size:.92rem;
}
.afv-faq-toggle:checked ~ .afv-faq-answer{
 max-height:300px;
}
.afv-faq-toggle:checked ~ .afv-faq-question .afv-faq-icon{
 transform:rotate(45deg);
}

/* Contato */
.afv-contato-grid{
 display:grid;
 grid-template-columns:1.2fr 1fr;
 gap:50px;
}
.afv-contato-info h2{
 font-size:1.85rem;
 margin-bottom:14px;
}
.afv-contato-info p{
 color:#4A4A4A;
 margin-bottom:18px;
}
.afv-contato-info ul{
 list-style:none;
}
.afv-contato-info li{
 margin-bottom:10px;
 font-size:.94rem;
}
.afv-form{
 display:flex;
 flex-direction:column;
 gap:6px;
 background:var(--surface);
 padding:28px;
 border-radius:10px;
}
.afv-form label{
 font-size:.85rem;
 font-weight:600;
 margin-top:10px;
}
.afv-form input,.afv-form textarea{
 border:1px solid var(--line);
 border-radius:6px;
 padding:12px 16px;
 font-family:'Karla',sans-serif;
 font-size:.92rem;
}
.afv-form button{
 margin-top:16px;
 align-self:flex-start;
}

/* Footer */
.afv-footer{
 background:var(--night);
 color:#D8E3DE;
 padding-top:50px;
}
.afv-footer-grid{
 display:grid;
 grid-template-columns:1.4fr 1fr 1fr 1fr;
 gap:40px;
 padding-bottom:36px;
}
.afv-footer-grid h4{
 color:#fff;
 font-size:1rem;
 margin-bottom:12px;
}
.afv-footer-grid a{
 display:block;
 color:#B9C7C0;
 font-size:.88rem;
 margin-bottom:8px;
}
.afv-footer-grid a:hover{color:var(--pop)}
.afv-footer-grid p{
 color:#B9C7C0;
 font-size:.88rem;
}
.afv-footer-bottom{
 border-top:1px solid #2A3B33;
 padding:18px 20px;
 font-size:.76rem;
 color:#8FA79D;
 text-align:center;
}
.afv-footer-bottom p{margin-bottom:4px}

/* Cookie banner - Tipo C: bottom bar 2 linhas */
.afv-cookie-banner{
 position:fixed;
 bottom:0;
 left:0;
 right:0;
 background:var(--night);
 color:#EDEDED;
 padding:14px 20px;
 z-index:999;
 display:flex;
 flex-direction:column;
 gap:10px;
 text-align:center;
 box-shadow:0 -2px 12px rgba(0,0,0,.15);
}
.afv-cookie-text p{font-size:.85rem}
.afv-cookie-text a{color:var(--pop)}
.afv-cookie-btn{
 align-self:center;
 padding:9px 24px;
 font-size:.85rem;
}
#afv-cookie-consent:checked ~ .afv-cookie-banner{
 display:none;
}

/* Mobile */
@media (max-width:768px){
 .afv-nav{
 display:none;
 flex-direction:column;
 position:absolute;
 top:68px;
 left:0;
 right:0;
 background:#fff;
 padding:20px;
 gap:16px;
 border-bottom:1px solid var(--line);
 }
 .afv-nav-open{display:flex}
 .afv-burger{display:flex}
 .afv-hero-grid,.afv-sobre-grid,.afv-blog-grid,.afv-contato-grid,.afv-footer-grid{
 grid-template-columns:1fr;
 }
 .afv-step:nth-child(even){
 flex-direction:row;
 text-align:left;
 }
 .afv-hero-text h1{font-size:1.7rem}
 .afv-cookie-banner{
 flex-direction:column;
 }
}
