@charset "UTF-8";
:root{
     --green-950:#061b10;
     --green-900:#082517;
     --green-850:#0b2d19;
     --green-800:#0e3b20;
     --green-700:#14552d;
     --green-600:#1b7139;
     --green-500:#2f8f46;
     --lime:#9acb35;
     --gold:#c8a24a;
     --gold-2:#e0c06a;
     --cream:#f4f0e6;
     --paper:#fbfaf6;
     --white:#fff;
     --ink:#172019;
     --muted:#637066;
     --line:rgba(18,55,31,.14);
     --shadow:0 24px 70px rgba(5,31,15,.13);
     --shadow-sm:0 14px 35px rgba(5,31,15,.10);
     --radius:24px;
     --radius-sm:16px;
     --container:1240px;
     --transition:220ms ease
}
*{
     box-sizing:border-box
}
html{
     scroll-behavior:smooth
}
body{
     margin:0;
     font-family:Inter,Segoe UI,Arial,sans-serif;
     color:var(--ink);
     background:var(--paper);
     line-height:1.65;
     -webkit-font-smoothing:antialiased
}
body.menu-open{
     overflow:hidden
}
img{
     max-width:100%;
     display:block
}
a{
     color:inherit;
     text-decoration:none
}
button,input,textarea,select{
     font:inherit
}
button{
     cursor:pointer
}
svg{
     width:1.15em;
     height:1.15em;
     fill:none;
     stroke:currentColor;
     stroke-width:1.8;
     stroke-linecap:round;
     stroke-linejoin:round
}
.container{
     width:min(var(--container),calc(100% - 40px));
     margin-inline:auto
}
.skip-link{
     position:fixed;
     left:16px;
     top:-100px;
     z-index:9999;
     background:#fff;
     color:#000;
     padding:10px 14px;
     border-radius:8px
}
.skip-link:focus{
     top:16px
}
.icon{
     display:inline-flex;
     align-items:center;
     justify-content:center
}
.site-header{
     position:sticky;
     top:0;
     z-index:100;
     background:rgba(6,27,16,.88);
     backdrop-filter:blur(18px);
     border-bottom:1px solid rgba(255,255,255,.08);
     transition:var(--transition)
}
.site-header.is-scrolled{
     box-shadow:0 12px 32px rgba(0,0,0,.18)
}
.header-inner{
     height:84px;
     display:flex;
     align-items:center;
     justify-content:space-between
}
.brand{
     display:inline-flex;
     align-items:center;
     gap:12px;
     color:#fff
}
.brand img{
     width:54px;
     height:54px;
     object-fit:contain
}
.brand span{
     display:flex;
     flex-direction:column;
     line-height:1
}
.brand strong{
     font-size:1.12rem;
     letter-spacing:.01em
}
.brand small{
     text-transform:uppercase;
     letter-spacing:.16em;
     font-size:.62rem;
     color:var(--gold-2);
     margin-top:7px
}
.main-nav{
     display:flex;
     align-items:center;
     gap:27px;
     color:rgba(255,255,255,.83);
     font-size:.94rem;
     font-weight:650
}
.main-nav>a:not(.btn){
     position:relative;
     padding:28px 0
}
.main-nav>a:not(.btn)::after{
     content:"";
     position:absolute;
     left:0;
     right:100%;
     bottom:21px;
     height:2px;
     background:var(--gold-2);
     transition:var(--transition)
}
.main-nav>a:hover,.main-nav>a.is-active{
     color:#fff
}
.main-nav>a:hover::after,.main-nav>a.is-active::after{
     right:0
}
.nav-toggle{
     display:none;
     background:transparent;
     border:0;
     color:#fff;
     font-size:1.45rem;
     padding:10px
}
.btn{
     display:inline-flex;
     align-items:center;
     justify-content:center;
     gap:9px;
     min-height:48px;
     padding:12px 20px;
     border:1px solid transparent;
     border-radius:999px;
     font-weight:800;
     letter-spacing:.005em;
     transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)
}
.btn:hover{
     transform:translateY(-2px)
}
.btn-small{
     min-height:42px;
     padding:9px 17px;
     font-size:.88rem
}
.btn-large{
     min-height:56px;
     padding:15px 24px
}
.btn-gold{
     background:linear-gradient(135deg,var(--gold-2),var(--gold));
     color:var(--green-950);
     box-shadow:0 10px 28px rgba(200,162,74,.25)
}
.btn-gold:hover{
     box-shadow:0 16px 35px rgba(200,162,74,.34)
}
.btn-primary{
     background:var(--green-800);
     color:#fff
}
.btn-primary:hover{
     background:var(--green-700)
}
.btn-ghost{
     border-color:var(--line);
     background:#fff;
     color:var(--green-850)
}
.btn-outline-light{
     border-color:rgba(255,255,255,.35);
     color:#fff;
     background:rgba(255,255,255,.04)
}
.btn-outline-light:hover{
     background:rgba(255,255,255,.10)
}
.eyebrow{
     display:inline-flex;
     align-items:center;
     gap:8px;
     text-transform:uppercase;
     letter-spacing:.16em;
     font-weight:850;
     font-size:.72rem;
     color:var(--green-700)
}
.eyebrow::before{
     content:"";
     width:28px;
     height:2px;
     background:var(--gold)
}
.eyebrow-light{
     color:var(--gold-2)
}
h1,h2,h3{
     font-family:Montserrat,Inter,Segoe UI,sans-serif;
     line-height:1.08;
     margin:0 0 .65em;
     letter-spacing:-.035em
}
h1{
     font-size:clamp(2.7rem,5.2vw,5.4rem)
}
h2{
     font-size:clamp(2rem,3.5vw,3.7rem)
}
h3{
     font-size:1.25rem
}
p{
     margin:0 0 1.2em
}
.lead{
     font-size:clamp(1.08rem,1.55vw,1.3rem);
     color:inherit;
     max-width:66ch
}
.gold-text{
     color:var(--gold)
}
.actions{
     display:flex;
     gap:12px;
     flex-wrap:wrap;
     margin:30px 0 24px
}
.microcopy{
     font-size:.84rem;
     color:var(--muted)
}
.section{
     padding:110px 0
}
.section-light{
     background:var(--cream)
}
.section-dark{
     background:linear-gradient(145deg,var(--green-950),var(--green-850));
     color:#fff
}
.split-heading{
     display:grid;
     grid-template-columns:1.2fr .8fr;
     gap:60px;
     align-items:end;
     margin-bottom:46px
}
.split-heading p{
     font-size:1.08rem;
     color:var(--muted);
     max-width:54ch
}
.text-link,.card-link{
     display:inline-flex;
     align-items:center;
     gap:8px;
     color:var(--green-700);
     font-weight:850
}
.text-link:hover,.card-link:hover{
     color:var(--gold)
}
.pill{
     display:inline-flex;
     width:max-content;
     padding:7px 12px;
     border-radius:999px;
     background:rgba(20,85,45,.09);
     color:var(--green-700);
     font-size:.72rem;
     font-weight:850;
     text-transform:uppercase;
     letter-spacing:.09em;
     margin-bottom:16px
}
.hero{
     position:relative;
     overflow:hidden;
     background:radial-gradient(circle at 18% 20%,rgba(44,133,68,.34),transparent 32%),linear-gradient(135deg,#061b10 0%,#0a2d19 48%,#0b3b20 100%);
     color:#fff;
     padding:82px 0 0
}
.hero-aurora{
     position:absolute;
     inset:auto -10% -55% 20%;
     height:650px;
     background:radial-gradient(circle,rgba(154,203,53,.14),transparent 60%);
     filter:blur(30px)
}
.hero-grid{
     position:relative;
     display:grid;
     grid-template-columns:1.05fr .95fr;
     gap:72px;
     align-items:center
}
.hero-copy{
     padding-bottom:74px
}
.hero h1 em{
     font-style:normal;
     color:var(--gold-2)
}
.hero .lead{
     color:rgba(255,255,255,.74)
}
.trust-row{
     display:flex;
     gap:24px;
     flex-wrap:wrap;
     margin-top:28px
}
.trust-row>span{
     display:grid;
     grid-template-columns:auto auto;
     grid-template-rows:auto auto;
     column-gap:9px;
     align-items:center
}
.trust-row .icon{
     grid-row:1/3;
     color:var(--gold-2);
     font-size:1.35rem
}
.trust-row strong{
     font-size:.95rem
}
.trust-row small{
     font-size:.75rem;
     color:rgba(255,255,255,.6)
}
.hero-visual{
     position:relative;
     align-self:end
}
.hero-photo{
     position:relative;
     border-radius:32px 32px 0 0;
     overflow:hidden;
     min-height:660px;
     box-shadow:0 50px 90px rgba(0,0,0,.26)
}
.hero-photo::after{
     content:"";
     position:absolute;
     inset:0;
     background:linear-gradient(180deg,transparent 55%,rgba(2,19,10,.84))
}
.hero-photo img{
     width:100%;
     height:660px;
     object-fit:cover;
     object-position:center 52%
}
.photo-label{
     position:absolute;
     z-index:2;
     left:28px;
     right:28px;
     bottom:24px;
     display:flex;
     flex-direction:column
}
.photo-label strong{
     font-size:1rem
}
.photo-label span{
     font-size:.82rem;
     color:rgba(255,255,255,.68)
}
.floating-card{
     position:absolute;
     z-index:3;
     background:rgba(8,37,23,.88);
     border:1px solid rgba(224,192,106,.32);
     box-shadow:0 22px 50px rgba(0,0,0,.22);
     backdrop-filter:blur(12px);
     padding:14px 18px;
     border-radius:16px;
     display:flex;
     flex-direction:column;
     max-width:235px
}
.floating-card span{
     font-weight:850
}
.floating-card small{
     color:rgba(255,255,255,.65)
}
.card-top{
     top:34px;
     right:-24px
}
.card-bottom{
     left:-42px;
     bottom:88px
}
.proof-strip{
     position:relative;
     display:flex;
     justify-content:center;
     gap:22px;
     align-items:center;
     padding:20px 0;
     color:rgba(255,255,255,.64);
     font-size:.8rem;
     text-transform:uppercase;
     letter-spacing:.09em;
     border-top:1px solid rgba(255,255,255,.10)
}
.proof-strip i{
     width:4px;
     height:4px;
     background:var(--gold);
     border-radius:50%
}
.service-grid{
     display:grid;
     grid-template-columns:repeat(4,1fr);
     gap:18px
}
.service-card{
     position:relative;
     min-height:315px;
     padding:28px;
     border-radius:var(--radius);
     background:#fff;
     border:1px solid rgba(19,69,36,.10);
     box-shadow:var(--shadow-sm);
     display:flex;
     flex-direction:column;
     transition:var(--transition)
}
.service-card:hover{
     transform:translateY(-8px);
     box-shadow:var(--shadow);
     border-color:rgba(200,162,74,.4)
}
.service-icon{
     width:54px;
     height:54px;
     border-radius:16px;
     background:var(--green-850);
     color:var(--gold-2);
     font-size:1.35rem;
     margin-bottom:28px
}
.service-card>small{
     position:absolute;
     top:32px;
     right:30px;
     color:#9da69f;
     font-weight:800
}
.service-card p{
     color:var(--muted)
}
.service-card .card-link{
     margin-top:auto
}
.field-section{
     position:relative;
     overflow:hidden
}
.field-section::after{
     content:"";
     position:absolute;
     width:700px;
     height:700px;
     border-radius:50%;
     right:-360px;
     top:-280px;
     background:rgba(154,203,53,.08)
}
.field-grid{
     position:relative;
     z-index:1;
     display:grid;
     grid-template-columns:.9fr 1.1fr;
     gap:80px;
     align-items:center
}
.field-image{
     position:relative
}
.field-image img{
     height:660px;
     width:100%;
     object-fit:cover;
     border-radius:32px
}
.image-badge{
     position:absolute;
     left:22px;
     bottom:22px;
     background:var(--gold-2);
     color:var(--green-950);
     font-weight:850;
     padding:10px 15px;
     border-radius:999px
}
.field-copy p{
     color:rgba(255,255,255,.68);
     font-size:1.08rem
}
.check-list{
     list-style:none;
     padding:0;
     margin:28px 0 34px;
     display:grid;
     gap:13px
}
.check-list li{
     display:flex;
     align-items:center;
     gap:10px;
     font-weight:750
}
.check-list .icon{
     color:var(--gold-2)
}
.course-spotlight{
     display:grid;
     grid-template-columns:1.15fr .85fr;
     gap:0;
     background:#fff;
     border-radius:32px;
     overflow:hidden;
     box-shadow:var(--shadow)
}
.course-art img{
     height:100%;
     min-height:500px;
     object-fit:cover
}
.course-copy{
     padding:58px
}
.course-copy p{
     color:var(--muted)
}
.course-features{
     display:grid;
     gap:9px;
     margin:24px 0 30px
}
.course-features span{
     display:flex;
     align-items:center;
     gap:8px;
     font-weight:750
}
.course-features .icon{
     color:var(--green-600)
}
.product-grid{
     display:grid;
     grid-template-columns:repeat(3,1fr);
     gap:22px
}
.product-card{
     background:#fff;
     border:1px solid var(--line);
     border-radius:var(--radius);
     overflow:hidden;
     box-shadow:var(--shadow-sm);
     transition:var(--transition)
}
.product-card:hover{
     transform:translateY(-7px);
     box-shadow:var(--shadow)
}
.product-card>div:last-child{
     padding:26px
}
.product-image{
     overflow:hidden
}
.product-image img{
     width:100%;
     height:250px;
     object-fit:cover;
     transition:transform .55s ease
}
.product-card:hover img{
     transform:scale(1.04)
}
.product-card p{
     color:var(--muted)
}
.article-grid{
     display:grid;
     grid-template-columns:repeat(3,1fr);
     gap:22px
}
.article-card a{
     display:flex;
     flex-direction:column;
     height:100%;
     background:#fff;
     border-radius:var(--radius);
     overflow:hidden;
     border:1px solid var(--line);
     box-shadow:var(--shadow-sm);
     padding-bottom:26px
}
.article-card img{
     height:230px;
     width:100%;
     object-fit:cover;
     margin-bottom:24px
}
.article-card .pill,.article-card h2,.article-card h3,.article-card p,.article-card .card-link{
     margin-left:26px;
     margin-right:26px
}
.article-card p{
     color:var(--muted)
}
.article-card .card-link{
     margin-top:auto
}
.closing-cta{
     padding:68px 0
}
.closing-grid{
     display:grid;
     grid-template-columns:1fr auto;
     align-items:center;
     gap:50px
}
.closing-grid h2{
     font-size:clamp(2rem,3vw,3.2rem)
}
.closing-grid p{
     color:rgba(255,255,255,.66);
     max-width:62ch
}
.site-footer{
     background:#04140c;
     color:rgba(255,255,255,.72);
     padding:70px 0 24px
}
.footer-grid{
     display:grid;
     grid-template-columns:1.5fr repeat(3,1fr);
     gap:50px
}
.footer-grid h3{
     font-size:.78rem;
     text-transform:uppercase;
     letter-spacing:.12em;
     color:var(--gold-2);
     margin-bottom:18px
}
.footer-grid>div:not(.footer-brand){
     display:flex;
     flex-direction:column;
     gap:11px
}
.footer-grid a:hover{
     color:#fff
}
.footer-brand p{
     max-width:34ch;
     margin-top:20px
}
.footer-bottom{
     border-top:1px solid rgba(255,255,255,.08);
     margin-top:48px;
     padding-top:22px;
     display:flex;
     justify-content:space-between;
     gap:20px;
     font-size:.78rem
}
.breadcrumb{
     display:flex;
     gap:9px;
     align-items:center;
     padding-top:24px;
     font-size:.82rem;
     color:var(--muted)
}
.breadcrumb a:hover{
     color:var(--green-700)
}
.page-hero{
     margin-top:-40px;
     padding:115px 0 86px;
     background:radial-gradient(circle at 80% 10%,rgba(154,203,53,.17),transparent 28%),linear-gradient(135deg,var(--green-950),var(--green-800));
     color:#fff
}
.page-hero.compact{
     padding-bottom:70px
}
.page-hero-grid{
     display:grid;
     grid-template-columns:1.15fr .65fr;
     gap:70px;
     align-items:end
}
.page-hero .lead{
     color:rgba(255,255,255,.68)
}
.page-hero-note{
     border-left:1px solid rgba(224,192,106,.45);
     padding:20px 0 20px 28px;
     display:flex;
     flex-direction:column
}
.page-hero-note strong{
     font-size:1.25rem;
     color:var(--gold-2)
}
.page-hero-note span{
     color:rgba(255,255,255,.65)
}
.collection-grid{
     display:grid;
     grid-template-columns:repeat(2,1fr);
     gap:26px
}
.collection-card{
     display:grid;
     grid-template-columns:.9fr 1.1fr;
     background:#fff;
     border:1px solid var(--line);
     border-radius:var(--radius);
     overflow:hidden;
     box-shadow:var(--shadow-sm);
     transition:var(--transition)
}
.collection-card:hover{
     transform:translateY(-6px);
     box-shadow:var(--shadow)
}
.collection-card img{
     width:100%;
     height:100%;
     min-height:340px;
     object-fit:cover
}
.collection-card>div{
     padding:36px
}
.collection-card p{
     color:var(--muted)
}
.collection-grid.large .collection-card{
     grid-template-columns:1fr
}
.collection-grid.large .collection-card img{
     height:330px;
     min-height:0
}
.detail-hero{
     padding:62px 0 96px;
     background:linear-gradient(180deg,var(--paper),var(--cream))
}
.detail-grid{
     display:grid;
     grid-template-columns:1.05fr .85fr;
     gap:70px;
     align-items:center
}
.detail-copy h1{
     font-size:clamp(2.8rem,4.8vw,5rem)
}
.detail-copy .lead{
     color:var(--muted)
}
.detail-media{
     margin:0;
     position:relative
}
.detail-media img{
     width:100%;
     height:650px;
     object-fit:cover;
     border-radius:32px;
     box-shadow:var(--shadow)
}
.detail-media figcaption{
     position:absolute;
     left:24px;
     right:24px;
     bottom:20px;
     padding:12px 16px;
     border-radius:14px;
     background:rgba(5,26,14,.78);
     color:#fff;
     backdrop-filter:blur(10px);
     font-size:.84rem
}
.feature-grid{
     display:grid;
     grid-template-columns:repeat(4,1fr);
     gap:18px
}
.feature-card{
     position:relative;
     background:#fff;
     border:1px solid var(--line);
     border-radius:var(--radius);
     padding:28px;
     min-height:255px
}
.feature-card>.icon{
     color:var(--green-600);
     font-size:1.35rem;
     margin-bottom:24px
}
.feature-number{
     position:absolute;
     right:24px;
     top:20px;
     color:#c7cec8;
     font-weight:900
}
.feature-card p{
     color:var(--muted);
     font-size:.92rem
}
.process-grid{
     display:grid;
     grid-template-columns:.9fr 1.1fr;
     gap:90px;
     align-items:start
}
.process-copy p{
     color:var(--muted);
     font-size:1.08rem
}
.process-list{
     counter-reset:step;
     list-style:none;
     margin:0;
     padding:0;
     display:grid;
     gap:10px
}
.process-list li{
     counter-increment:step;
     display:grid;
     grid-template-columns:64px 1fr;
     padding:24px;
     background:#fff;
     border:1px solid var(--line);
     border-radius:18px;
     box-shadow:var(--shadow-sm)
}
.process-list li::before{
     content:"0" counter(step);
     font-weight:900;
     color:var(--gold)
}
.process-list strong,.process-list span{
     grid-column:2
}
.process-list span{
     color:var(--muted)
}
.about-grid{
     display:grid;
     grid-template-columns:.8fr 1.2fr;
     gap:70px;
     align-items:center
}
.about-photo img{
     height:700px;
     width:100%;
     object-fit:cover;
     border-radius:32px
}
.about-copy p{
     color:var(--muted);
     font-size:1.06rem
}
.metric-grid{
     display:grid;
     grid-template-columns:repeat(2,1fr);
     gap:14px;
     margin-top:34px
}
.metric-grid>div{
     background:#fff;
     border:1px solid var(--line);
     border-radius:16px;
     padding:22px;
     display:flex;
     flex-direction:column
}
.metric-grid strong{
     font-size:1.5rem;
     color:var(--green-700)
}
.metric-grid span{
     font-size:.83rem;
     color:var(--muted)
}
.values-grid{
     display:grid;
     grid-template-columns:repeat(3,1fr);
     gap:28px
}
.values-grid article{
     padding:34px;
     border-top:2px solid var(--gold)
}
.values-grid article>span{
     font-weight:900;
     color:var(--gold)
}
.values-grid p{
     color:var(--muted)
}
.event-grid{
     display:grid;
     grid-template-columns:1.35fr .65fr;
     gap:30px
}
.event-feature{
     background:#fff;
     border:1px solid var(--line);
     border-radius:32px;
     overflow:hidden;
     box-shadow:var(--shadow)
}
.event-feature img{
     width:100%;
     height:410px;
     object-fit:cover
}
.event-feature>div{
     padding:38px
}
.event-feature p{
     color:var(--muted)
}
.event-sidebar{
     background:var(--green-850);
     color:#fff;
     border-radius:32px;
     padding:38px;
     align-self:start;
     position:sticky;
     top:110px
}
.event-sidebar p{
     color:rgba(255,255,255,.66)
}
.event-sidebar small{
     display:block;
     color:rgba(255,255,255,.52);
     margin-top:16px
}
.blog-layout{
     display:grid;
     grid-template-columns:1fr 280px;
     gap:40px
}
.blog-main{
     grid-template-columns:repeat(2,1fr)
}
.blog-sidebar{
     display:flex;
     flex-direction:column;
     gap:24px
}
.blog-sidebar>div{
     background:#fff;
     border:1px solid var(--line);
     border-radius:20px;
     padding:25px;
     display:flex;
     flex-direction:column;
     gap:10px
}
.blog-sidebar a:hover{
     color:var(--green-700)
}
.sidebar-cta{
     background:var(--green-850)!important;
     color:#fff
}
.article-page{
     padding-bottom:100px
}
.article-header{
     max-width:920px;
     padding:75px 0 38px
}
.article-header h1{
     font-size:clamp(2.8rem,5vw,5rem)
}
.article-header .lead{
     color:var(--muted)
}
.article-meta{
     display:flex;
     gap:20px;
     color:var(--muted);
     font-size:.85rem
}
.article-cover{
     max-width:1180px
}
.article-cover img{
     width:100%;
     height:620px;
     object-fit:cover;
     border-radius:32px
}
.article-body{
     max-width:780px;
     padding-top:62px;
     font-size:1.08rem
}
.article-body h2{
     font-size:2rem;
     margin-top:2em
}
.article-body p{
     color:#3d4940
}
.article-body blockquote{
     margin:42px 0;
     padding:28px 32px;
     border-left:4px solid var(--gold);
     background:var(--cream);
     font-size:1.35rem;
     font-weight:700;
     color:var(--green-850)
}
.article-cta{
     margin-top:60px;
     padding:34px;
     background:var(--green-850);
     color:#fff;
     border-radius:24px
}
.article-cta p{
     color:rgba(255,255,255,.7)
}
.contact-grid{
     display:grid;
     grid-template-columns:1.2fr .8fr;
     gap:40px
}
.contact-form{
     background:#fff;
     border-radius:28px;
     padding:42px;
     box-shadow:var(--shadow);
     display:grid;
     gap:19px
}
.form-head p{
     color:var(--muted)
}
.contact-form label{
     display:grid;
     gap:7px;
     font-weight:750;
     font-size:.9rem
}
.contact-form input,.contact-form textarea,.contact-form select{
     width:100%;
     border:1px solid #dfe5df;
     border-radius:13px;
     padding:14px 15px;
     background:#fbfcfa;
     color:var(--ink);
     outline:none;
     transition:var(--transition)
}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{
     border-color:var(--green-600);
     box-shadow:0 0 0 4px rgba(47,143,70,.10)
}
.form-row{
     display:grid;
     grid-template-columns:1fr 1fr;
     gap:16px
}
.form-note{
     color:var(--muted)
}
.contact-aside{
     display:flex;
     flex-direction:column;
     gap:18px
}
.contact-card{
     background:var(--green-850);
     color:#fff;
     border-radius:28px;
     padding:38px
}
.contact-card p{
     color:rgba(255,255,255,.65)
}
.contact-direct{
     display:flex;
     flex-direction:column;
     gap:8px;
     padding:28px;
     border:1px solid var(--line);
     border-radius:20px;
     background:#fff
}
.legal-page{
     max-width:850px;
     padding:90px 0
}
.legal-page h1{
     font-size:3.8rem
}
.legal-page h2{
     font-size:1.8rem;
     margin-top:2em
}
.legal-page p{
     color:var(--muted)
}
.not-found{
     min-height:70vh;
     display:grid;
     place-items:center;
     text-align:center
}
.not-found-code{
     font-size:clamp(7rem,20vw,15rem);
     font-weight:950;
     line-height:.8;
     color:rgba(14,59,32,.08)
}
.back-top{
     position:fixed;
     right:22px;
     bottom:22px;
     width:46px;
     height:46px;
     border-radius:50%;
     border:0;
     background:var(--green-850);
     color:#fff;
     box-shadow:var(--shadow-sm);
     opacity:0;
     pointer-events:none;
     transform:translateY(10px);
     transition:var(--transition);
     z-index:60
}
.back-top.is-visible{
     opacity:1;
     pointer-events:auto;
     transform:none
}
.reveal{
     opacity:0;
     transform:translateY(22px);
     transition:opacity .7s ease,transform .7s ease
}
.reveal.is-visible{
     opacity:1;
     transform:none
}
@media (max-width:1050px){
     .main-nav{
          position:fixed;
          inset:84px 0 auto;
          background:var(--green-950);
          padding:24px 20px 32px;
          display:flex;
          flex-direction:column;
          align-items:stretch;
          gap:0;
          transform:translateY(-130%);
          opacity:0;
          transition:.3s ease;
          box-shadow:0 30px 50px rgba(0,0,0,.25)
     }
     .main-nav.is-open{
          transform:none;
          opacity:1
     }
     .main-nav>a:not(.btn){
          padding:15px 4px;
          border-bottom:1px solid rgba(255,255,255,.08)
     }
     .main-nav>a:not(.btn)::after{
          display:none
     }
     .nav-toggle{
          display:block
     }
     .service-grid,.feature-grid{
          grid-template-columns:repeat(2,1fr)
     }
     .hero-grid,.field-grid,.detail-grid,.about-grid{
          grid-template-columns:1fr
     }
     .hero-copy{
          padding-bottom:20px
     }
     .hero-visual{
          max-width:700px;
          margin-inline:auto;
          width:100%
     }
     .card-top{
          right:15px
     }
     .card-bottom{
          left:15px
     }
     .field-image img,.detail-media img,.about-photo img{
          height:560px
     }
     .course-spotlight{
          grid-template-columns:1fr
     }
     .course-art img{
          min-height:0;
          height:420px
     }
     .product-grid,.article-grid{
          grid-template-columns:repeat(2,1fr)
     }
     .footer-grid{
          grid-template-columns:1.3fr 1fr 1fr
     }
     .footer-grid>div:last-child{
          grid-column:2/4
     }
     .page-hero-grid,.split-heading,.process-grid{
          grid-template-columns:1fr;
          gap:25px
     }
     .collection-card{
          grid-template-columns:1fr
     }
     .collection-card img{
          height:320px;
          min-height:0
     }
     .event-grid,.contact-grid{
          grid-template-columns:1fr
     }
     .event-sidebar{
          position:static
     }
     .blog-layout{
          grid-template-columns:1fr
     }
     .blog-sidebar{
          display:grid;
          grid-template-columns:1fr 1fr
     }
     .closing-grid{
          grid-template-columns:1fr
     }
     .closing-grid .btn{
          width:max-content
     }
}
@media (max-width:700px){
     .container{
          width:min(100% - 28px,var(--container))
     }
     .header-inner{
          height:72px
     }
     .brand img{
          width:45px;
          height:45px
     }
     .brand strong{
          font-size:1rem
     }
     .brand small{
          font-size:.52rem
     }
     .main-nav{
          inset:72px 0 auto
     }
     .hero{
          padding-top:54px
     }
     .hero-grid{
          gap:32px
     }
     .hero h1{
          font-size:clamp(2.55rem,12vw,4rem)
     }
     .hero-photo,.hero-photo img{
          height:530px;
          min-height:0
     }
     .floating-card{
          position:static;
          margin-top:10px;
          max-width:none
     }
     .hero-visual{
          display:grid;
          grid-template-columns:1fr 1fr;
          gap:10px
     }
     .hero-photo{
          grid-column:1/-1
     }
     .trust-row{
          gap:14px
     }
     .proof-strip{
          overflow:auto;
          justify-content:flex-start;
          white-space:nowrap
     }
     .section{
          padding:76px 0
     }
     .split-heading{
          margin-bottom:30px
     }
     .service-grid,.feature-grid,.product-grid,.article-grid,.values-grid,.blog-main,.footer-grid,.collection-grid{
          grid-template-columns:1fr
     }
     .service-card{
          min-height:280px
     }
     .field-grid{
          gap:42px
     }
     .field-image img,.detail-media img,.about-photo img{
          height:500px
     }
     .course-copy{
          padding:32px 24px
     }
     .course-art img{
          height:300px
     }
     .closing-cta{
          padding:54px 0
     }
     .closing-grid .btn{
          width:100%
     }
     .footer-grid>div:last-child{
          grid-column:auto
     }
     .footer-bottom{
          flex-direction:column
     }
     .page-hero{
          padding:90px 0 62px
     }
     .page-hero-note{
          display:none
     }
     .collection-card>div{
          padding:28px
     }
     .detail-hero{
          padding:38px 0 70px
     }
     .detail-grid{
          gap:38px
     }
     .feature-grid{
          gap:12px
     }
     .process-list li{
          grid-template-columns:44px 1fr;
          padding:18px
     }
     .metric-grid{
          grid-template-columns:1fr 1fr
     }
     .event-feature img{
          height:280px
     }
     .event-feature>div{
          padding:26px
     }
     .blog-sidebar{
          grid-template-columns:1fr
     }
     .article-header{
          padding-top:52px
     }
     .article-cover img{
          height:420px
     }
     .article-body{
          font-size:1rem
     }
     .contact-form{
          padding:26px 20px
     }
     .form-row{
          grid-template-columns:1fr
     }
     .legal-page h1{
          font-size:2.8rem
     }
     .actions .btn{
          width:100%
     }
     .card-bottom,.card-top{
          display:flex
     }
}
@media (prefers-reduced-motion:reduce){
     html{
          scroll-behavior:auto
     }
     .reveal{
          opacity:1;
          transform:none;
          transition:none
     }
     *{
          animation:none!important;
          transition:none!important
     }
}

/* ========================================================================== 
   UI/UX POLISH V2 — spacing, rhythm, responsive type and subtle motion
   ========================================================================== */
:root{
     --space-1:.5rem;
     --space-2:1rem;
     --space-3:1.5rem;
     --space-4:2rem;
     --space-5:3rem;
     --space-6:4.5rem;
     --space-7:6rem;
     --content-narrow:760px;
     --section-space:clamp(4.5rem,8vw,7rem);
     --header-h:76px;
     --ease-out:cubic-bezier(.22,1,.36,1);
}
html{
     scroll-padding-top:calc(var(--header-h) + 20px)
}
body{
     overflow-x:hidden;
     background:linear-gradient(180deg,#fbfaf6 0%,#f8f6ef 100%)
}
main{
     isolation:isolate
}
.container{
     width:min(var(--container),calc(100% - clamp(28px,5vw,64px)))
}
.section{
     padding-block:var(--section-space)
}
.section+.section{
     border-top:1px solid rgba(18,55,31,.055)
}

/* Header */
.header-inner{
     height:var(--header-h)
}
.site-header{
     background:rgba(5,25,14,.93);
     backdrop-filter:saturate(150%) blur(16px)
}
.site-header.is-scrolled{
     background:rgba(5,25,14,.97);
     box-shadow:0 12px 34px rgba(0,0,0,.19)
}
.brand{
     gap:10px
}
.brand img{
     width:48px;
     height:48px
}
.brand small{
     margin-top:5px
}
.main-nav{
     gap:clamp(16px,2vw,27px)
}
.main-nav>a:not(.btn){
     padding-block:25px
}
.main-nav>a:not(.btn)::after{
     bottom:18px
}
.nav-toggle{
     border-radius:12px
}
.nav-toggle:hover{
     background:rgba(255,255,255,.07)
}

/* Typography and readable measure */
h1,h2,h3{
     text-wrap:balance
}
h1{
     font-size:clamp(2.35rem,4.25vw,4.55rem);
     line-height:1.02;
     max-width:14ch;
     margin-bottom:.38em
}
h2{
     font-size:clamp(1.85rem,3.1vw,3.25rem);
     line-height:1.08;
     max-width:20ch;
     margin-bottom:.5em
}
h3{
     line-height:1.18;
     letter-spacing:-.025em
}
p{
     max-width:70ch
}
.lead{
     font-size:clamp(1.02rem,1.35vw,1.22rem);
     line-height:1.65
}
.eyebrow{
     margin-bottom:1rem
}
.split-heading{
     gap:clamp(24px,5vw,64px);
     margin-bottom:clamp(30px,4vw,50px);
     align-items:center
}
.split-heading h2{
     margin-bottom:0
}
.split-heading>p{
     margin:0
}

/* Buttons and accessibility */
.btn{
     min-height:50px;
     padding-inline:22px;
     box-shadow:none;
     will-change:transform
}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
     outline:3px solid rgba(224,192,106,.75);
     outline-offset:3px
}
.btn:hover{
     transform:translateY(-3px)
}
.btn:active{
     transform:translateY(0) scale(.985)
}
.actions{
     margin:clamp(22px,3vw,30px) 0 22px
}

/* Hero: shorter, cleaner, aligned */
.hero{
     padding-top:clamp(44px,6vw,72px)
}
.hero-grid{
     grid-template-columns:minmax(0,1.02fr) minmax(390px,.88fr);
     gap:clamp(42px,6vw,82px);
     align-items:center
}
.hero-copy{
     padding-bottom:clamp(46px,6vw,72px)
}
.hero-copy .lead{
     max-width:58ch
}
.hero-photo{
     min-height:580px;
     border-radius:28px 28px 0 0
}
.hero-photo img{
     height:580px
}
.hero-photo,.field-image img,.course-spotlight,.detail-media img,.about-photo img{
     transform:translateZ(0)
}
.hero-visual{
     filter:drop-shadow(0 30px 50px rgba(0,0,0,.2))
}
.hero-visual::before{
     content:"";
     position:absolute;
     inset:8% -5% 5% 10%;
     border:1px solid rgba(224,192,106,.18);
     border-radius:36px;
     z-index:-1;
     transform:rotate(2deg)
}
.trust-row{
     gap:clamp(15px,2.5vw,28px);
     margin-top:24px
}
.proof-strip{
     min-height:58px;
     padding-block:16px
}
.floating-card{
     animation:cardFloat 5.5s ease-in-out infinite
}
.card-bottom{
     animation-delay:-2.3s
}
@keyframes cardFloat{
     0%,100%{
          transform:translateY(0)
     }
     50%{
          transform:translateY(-7px)
     }
}

/* Consistent cards */
.service-grid,.product-grid,.article-grid,.feature-grid{
     gap:clamp(16px,2vw,24px)
}
.service-card,.product-card,.article-card a,.feature-card,.collection-card{
     border-color:rgba(18,55,31,.10);
     box-shadow:0 12px 35px rgba(5,31,15,.075)
}
.service-card{
     min-height:290px;
     padding:clamp(24px,2.5vw,32px)
}
.service-icon{
     margin-bottom:22px
}
.service-card:hover,.product-card:hover,.collection-card:hover{
     transform:translateY(-6px)
}
.product-card>div:last-child{
     padding:clamp(22px,2.6vw,30px)
}
.article-card a{
     padding-bottom:24px
}
.article-card h3,.article-card p,.article-card .pill,.article-card .card-link{
     margin-inline:24px
}
.article-card .pill{
     margin-top:24px;
     width:max-content
}

/* Dark field section */
.field-grid{
     gap:clamp(44px,7vw,88px)
}
.field-image img{
     height:min(660px,72vh);
     min-height:520px
}
.field-copy h2{
     max-width:17ch
}
.field-copy p{
     max-width:58ch
}
.check-list{
     margin-block:24px 30px
}

/* Courses */
.course-spotlight{
     grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)
}
.course-copy{
     padding:clamp(36px,5vw,62px)
}
.course-copy h2{
     font-size:clamp(2rem,3vw,3.2rem)
}
.course-art{
     overflow:hidden
}
.course-art img{
     transition:transform 1s var(--ease-out)
}
.course-spotlight:hover .course-art img{
     transform:scale(1.025)
}

/* Detail and institutional pages */
.page-hero{
     padding:clamp(72px,9vw,118px) 0 clamp(54px,7vw,88px)
}
.page-hero.compact{
     padding-block:clamp(58px,7vw,92px)
}
.detail-hero{
     padding:clamp(44px,6vw,72px) 0 clamp(70px,8vw,104px)
}
.detail-grid{
     gap:clamp(40px,6vw,76px)
}
.detail-copy h1,.article-header h1{
     font-size:clamp(2.35rem,4.1vw,4.35rem)
}
.detail-media img{
     height:min(620px,68vh);
     min-height:480px
}
.feature-card{
     min-height:230px;
     padding:clamp(22px,2.5vw,30px)
}
.process-grid{
     gap:clamp(44px,7vw,90px)
}
.process-list li{
     align-items:start
}
.about-grid{
     gap:clamp(42px,6vw,72px)
}
.about-photo img{
     height:min(680px,72vh);
     min-height:520px
}

/* Footer */
.closing-cta{
     padding:clamp(54px,7vw,82px) 0
}
.closing-grid{
     align-items:center;
     gap:32px
}
.closing-grid h2{
     margin-bottom:.35em
}
.site-footer{
     padding-top:clamp(50px,6vw,72px)
}
.footer-grid{
     gap:clamp(28px,4vw,58px)
}
.footer-bottom{
     margin-top:42px;
     padding-block:22px
}

/* Pepper particle animation — decorative, low cost */
.pepper-particles{
     position:fixed;
     inset:0;
     pointer-events:none;
     z-index:40;
     overflow:hidden;
     opacity:.42
}
.pepper-particle{
     position:absolute;
     top:-28px;
     width:var(--size,8px);
     height:calc(var(--size,8px)*1.18);
     border-radius:52% 48% 48% 52%;
     background:radial-gradient(circle at 32% 28%,#d6ef74 0 12%,#78a625 32%,#173d22 78%);
     box-shadow:inset -1px -2px 3px rgba(0,0,0,.4),0 4px 12px rgba(4,34,17,.15);
     opacity:0;
     animation:pepperFall var(--duration,13s) linear var(--delay,0s) infinite;
     transform:translate3d(0,-20px,0) rotate(0)
}
.pepper-particle::after{
     content:"";
     position:absolute;
     width:1px;
     height:4px;
     left:50%;
     top:-3px;
     background:#6f8b31;
     transform:rotate(25deg)
}
@keyframes pepperFall{
     0%{
          opacity:0;
          transform:translate3d(0,-30px,0) rotate(0)
     }
     8%{
          opacity:.72
     }
     88%{
          opacity:.48
     }
     100%{
          opacity:0;
          transform:translate3d(var(--drift,50px),calc(100vh + 55px),0) rotate(520deg)
     }
}

/* Reveal refinements */
.reveal{
     transform:translateY(18px);
     transition:opacity .72s var(--ease-out),transform .72s var(--ease-out)
}
.reveal[data-reveal-delay="1"]{
     transition-delay:.08s
}
.reveal[data-reveal-delay="2"]{
     transition-delay:.16s
}
.reveal[data-reveal-delay="3"]{
     transition-delay:.24s
}

@media (max-width:1050px){
     :root{
          --header-h:72px
     }
     .main-nav{
          inset:var(--header-h) 0 auto;
          max-height:calc(100vh - var(--header-h));
          overflow:auto
     }
     .hero-grid{
          grid-template-columns:1fr;
          gap:28px
     }
     .hero-copy{
          padding-bottom:8px;
          max-width:820px
     }
     .hero h1{
          max-width:13ch
     }
     .hero-visual{
          max-width:760px
     }
     .hero-photo,.hero-photo img{
          height:560px;
          min-height:0
     }
     .course-spotlight{
          grid-template-columns:1fr
     }
}
@media (max-width:700px){
     :root{
          --header-h:68px;
          --section-space:4.25rem
     }
     .container{
          width:min(100% - 28px,var(--container))
     }
     .header-inner{
          height:var(--header-h)
     }
     .brand span{
          display:none
     }
     .brand img{
          width:46px;
          height:46px
     }
     .hero{
          padding-top:38px
     }
     .hero h1{
          font-size:clamp(2.2rem,10vw,3.25rem);
          max-width:12ch
     }
     .hero-copy{
          text-align:left
     }
     .hero-copy .lead{
          font-size:1rem
     }
     .hero-photo,.hero-photo img{
          height:460px
     }
     .hero-visual{
          grid-template-columns:1fr;
          gap:9px
     }
     .floating-card{
          animation:none
     }
     .proof-strip{
          margin-inline:-14px;
          padding-inline:14px
     }
     .split-heading{
          align-items:start
     }
     .split-heading h2{
          max-width:17ch
     }
     .field-image img,.detail-media img,.about-photo img{
          height:440px;
          min-height:0
     }
     .course-art img{
          height:260px
     }
     .service-card{
          min-height:auto
     }
     .detail-copy h1,.article-header h1{
          font-size:clamp(2.15rem,9vw,3.1rem)
     }
     .detail-media figcaption{
          left:12px;
          right:12px;
          bottom:12px
     }
     .pepper-particles{
          opacity:.26
     }
}
@media (max-width:420px){
     .hero h1{
          font-size:2.15rem
     }
     .actions{
          gap:9px
     }
     .actions .btn{
          min-height:50px;
          padding-inline:16px
     }
     .trust-row>span{
          min-width:calc(50% - 8px)
     }
     .hero-photo,.hero-photo img{
          height:410px
     }
}
@media (prefers-reduced-motion:reduce){
     .pepper-particles{
          display:none
     }
     .floating-card{
          animation:none
     }
}

/* =========================================================
   CORREÇÃO DOS ÍCONES — CARDS DE SERVIÇOS
========================================================= */

.service-card {
     position: relative;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
}

/* Caixa padrão de todos os ícones */
.service-card .service-icon {
     width: 60px;
     height: 60px;
     min-width: 60px;
     min-height: 60px;

     display: inline-flex;
     align-items: center;
     justify-content: center;

     margin: 0 0 28px 0;
     padding: 0;

     background: #063b23;
     border-radius: 18px;

     line-height: 0;
     box-sizing: border-box;
     overflow: hidden;
}

/* Padronização real dos SVGs */
.service-card .service-icon svg {
     width: 27px !important;
     height: 27px !important;

     display: block;
     flex: 0 0 27px;

     margin: 0 !important;
     padding: 0 !important;

     position: static !important;
     inset: auto !important;

     transform: none !important;
     translate: none !important;
}

/* Número superior direito */
.service-card > small {
     position: absolute;
     top: 42px;
     right: 34px;

     margin: 0;
     padding: 0;

     font-size: 14px;
     font-weight: 800;
     line-height: 1;
     color: #a7b0a9;
}

/* Títulos começam na mesma altura */
.service-card h3 {
     margin: 0 0 14px;
     min-height: 30px;
}

/* Textos com altura equilibrada */
.service-card p {
     margin: 0 0 28px;
     flex-grow: 1;
}

/* Link sempre alinhado na base */
.service-card .card-link {
     margin-top: auto;
}

/* Ajustes mobile */
@media (max-width: 768px) {
     .service-card .service-icon {
          width: 56px;
          height: 56px;
          min-width: 56px;
          min-height: 56px;
          margin-bottom: 24px;
     }

     .service-card .service-icon svg {
          width: 25px !important;
          height: 25px !important;
          flex-basis: 25px;
     }

     .service-card > small {
          top: 32px;
          right: 28px;
     }
}

/* =========================================================
   BOTÃO — AUTONOMIA NO CAMPO
========================================================= */

.hero-actions {
     display: flex;
     align-items: stretch;
     flex-wrap: wrap;
     gap: 14px;
}

.btn-autonomia {
     position: relative;

     display: inline-flex;
     align-items: center;
     justify-content: flex-start;
     gap: 13px;

     min-height: 64px;
     padding: 10px 18px;

     color: #ffffff;
     background:
          linear-gradient(
          135deg,
          rgba(255, 255, 255, 0.08),
          rgba(255, 255, 255, 0.015)
          ),
          #073d25;

     border: 1px solid rgba(222, 181, 84, 0.55);
     border-radius: 999px;

     box-shadow:
          0 12px 30px rgba(0, 0, 0, 0.16),
          inset 0 1px 0 rgba(255, 255, 255, 0.08);

     overflow: hidden;
     text-decoration: none;

     transition:
          transform 0.25s ease,
          border-color 0.25s ease,
          box-shadow 0.25s ease,
          background-color 0.25s ease;
}

/* brilho discreto */
.btn-autonomia::before {
     content: "";
     position: absolute;
     inset: 0;

     background: linear-gradient(
          110deg,
          transparent 20%,
          rgba(255, 255, 255, 0.12) 45%,
          transparent 70%
          );

     transform: translateX(-120%);
     transition: transform 0.65s ease;
     pointer-events: none;
}

.btn-autonomia:hover::before {
     transform: translateX(120%);
}

.btn-autonomia:hover {
     color: #ffffff;
     border-color: #deb554;

     transform: translateY(-3px);

     box-shadow:
          0 18px 38px rgba(0, 0, 0, 0.22),
          0 0 0 4px rgba(222, 181, 84, 0.08);
}

/* caixa do ícone */
.btn-autonomia-icon {
     width: 42px;
     height: 42px;
     min-width: 42px;

     display: inline-flex;
     align-items: center;
     justify-content: center;

     color: #092f20;
     background: linear-gradient(135deg, #efd073, #c99d3e);
     border-radius: 50%;

     box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}

.btn-autonomia-icon svg {
     width: 20px;
     height: 20px;
     display: block;
}

/* bloco dos textos */
.btn-autonomia-copy {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 2px;

     line-height: 1.1;
     text-align: left;
}

.btn-autonomia-copy small {
     margin: 0;

     color: #dcb75e;
     font-size: 0.68rem;
     font-weight: 800;
     letter-spacing: 0.12em;
     line-height: 1;
     text-transform: uppercase;
}

.btn-autonomia-copy strong {
     color: #ffffff;
     font-size: 0.93rem;
     font-weight: 800;
     line-height: 1.2;
}

/* seta */
.btn-autonomia-arrow {
     display: inline-flex;
     align-items: center;
     justify-content: center;

     margin-left: 4px;

     transition: transform 0.25s ease;
}

.btn-autonomia-arrow svg {
     width: 18px;
     height: 18px;
}

.btn-autonomia:hover .btn-autonomia-arrow {
     transform: translateX(4px);
}

/* tablet e celular */
@media (max-width: 860px) {
     .hero-actions {
          width: 100%;
     }

     .hero-actions .btn {
          width: 100%;
          justify-content: center;
     }

     .btn-autonomia {
          justify-content: flex-start !important;
     }

     .btn-autonomia-arrow {
          margin-left: auto;
     }
}

@media (max-width: 480px) {
     .btn-autonomia {
          min-height: 62px;
          padding: 9px 15px;
          gap: 11px;
     }

     .btn-autonomia-icon {
          width: 39px;
          height: 39px;
          min-width: 39px;
     }

     .btn-autonomia-copy strong {
          font-size: 0.86rem;
     }

     .btn-autonomia-copy small {
          font-size: 0.62rem;
     }
}

/* =========================================================
   HERO VISUAL ACOMPANHANDO A ROLAGEM — DESKTOP
========================================================= */

.hero-visual {
     position: relative;
     align-self: stretch;
     min-height: 100%;
}

.hero-visual-track {
     position: relative;
     width: 100%;
     will-change: transform;
     transform: translate3d(0, 0, 0);
}

/* No desktop, deixa espaço para a imagem percorrer a seção */
@media (min-width: 1051px) {
     .hero-grid {
          align-items: stretch;
     }

     .hero-visual {
          align-self: stretch;
     }

     .hero-visual-track {
          margin-top: 10px;
     }
}

/* Em tablet e celular, movimento desativado */
@media (max-width: 1050px) {
     .hero-visual {
          min-height: 0;
     }

     .hero-visual-track {
          transform: none !important;
          margin-top: 0;
     }
}

/* =========================================================
   CARROSSEL INFINITO — ÁREAS DE ATUAÇÃO
========================================================= */

.proof-marquee {
     position: relative;
     width: 100%;
     overflow: hidden;

     min-height: 58px;
     padding: 16px 0;

     color: rgba(255, 255, 255, 0.68);
     border-top: 1px solid rgba(255, 255, 255, 0.10);

     font-size: 0.8rem;
     font-weight: 600;
     letter-spacing: 0.09em;
     line-height: 1;
     text-transform: uppercase;
}

/* Degradês laterais para entrada e saída suaves */
.proof-marquee::before,
.proof-marquee::after {
     content: "";
     position: absolute;
     top: 0;
     bottom: 0;

     width: clamp(24px, 8vw, 120px);
     z-index: 2;

     pointer-events: none;
}

.proof-marquee::before {
     left: 0;
     background: linear-gradient(
          90deg,
          #0a2d19 0%,
          rgba(10, 45, 25, 0) 100%
          );
}

.proof-marquee::after {
     right: 0;
     background: linear-gradient(
          270deg,
          #0b3b20 0%,
          rgba(11, 59, 32, 0) 100%
          );
}

.proof-marquee-track {
     display: flex;
     width: max-content;

     will-change: transform;
     animation: proofMarquee 24s linear infinite;
}

.proof-marquee-group {
     display: flex;
     align-items: center;
     flex-shrink: 0;

     gap: 22px;
     padding-right: 22px;

     white-space: nowrap;
}

.proof-marquee-group span {
     display: inline-flex;
     align-items: center;
     flex-shrink: 0;
}

.proof-marquee-group i {
     display: block;
     flex: 0 0 4px;

     width: 4px;
     height: 4px;

     background: var(--gold);
     border-radius: 50%;
}

@keyframes proofMarquee {
     from {
          transform: translate3d(0, 0, 0);
     }

     to {
          transform: translate3d(-50%, 0, 0);
     }
}

/* Pausa no notebook ao passar o mouse */
@media (hover: hover) and (pointer: fine) {
     .proof-marquee:hover .proof-marquee-track {
          animation-play-state: paused;
     }
}

/* Tablet */
@media (max-width: 1050px) {
     .proof-marquee-track {
          animation-duration: 20s;
     }
}

/* Celular */
@media (max-width: 700px) {
     .proof-marquee {
          min-height: 54px;
          padding: 15px 0;

          font-size: 0.72rem;
          letter-spacing: 0.08em;
     }

     .proof-marquee-track {
          animation-duration: 17s;
     }

     .proof-marquee-group {
          gap: 18px;
          padding-right: 18px;
     }
}

/* Celulares pequenos */
@media (max-width: 420px) {
     .proof-marquee {
          font-size: 0.68rem;
     }

     .proof-marquee-track {
          animation-duration: 15s;
     }
}

/* Acessibilidade */
@media (prefers-reduced-motion: reduce) {
     .proof-marquee {
          overflow-x: auto;
          scrollbar-width: none;
     }

     .proof-marquee::-webkit-scrollbar {
          display: none;
     }

     .proof-marquee-track {
          animation: none;
     }

     .proof-marquee-group[aria-hidden="true"] {
          display: none;
     }
}

/* =========================================================
   OTIMIZAÇÃO — SEÇÃO CONSULTORIA ONLINE
========================================================= */

.field-copy {
     max-width: 620px;
}

.field-copy h2 {
     max-width: 15ch;
     margin-bottom: 22px;
}

.field-copy > p {
     max-width: 58ch;
}

.field-highlight {
     margin: 22px 0 0;
     padding: 18px 20px;

     color: rgba(255, 255, 255, 0.88) !important;
     background: rgba(255, 255, 255, 0.055);

     border-left: 3px solid var(--gold-2);
     border-radius: 0 14px 14px 0;

     font-weight: 650;
     line-height: 1.65;
}

.field-copy .check-list li {
     align-items: flex-start;
}

.field-copy .check-list li .icon {
     flex: 0 0 auto;
     margin-top: 4px;
}

.field-copy .check-list li span {
     display: block;
}

.field-actions {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     gap: 18px;
}

.field-actions .btn {
     flex: 0 0 auto;
}

.field-microcopy {
     max-width: 260px;

     color: rgba(255, 255, 255, 0.56);
     font-size: 0.78rem;
     line-height: 1.45;
}

/* Refinamento da imagem */
.field-image {
     overflow: hidden;
     border-radius: 32px;
}

.field-image img {
     transition: transform 0.8s var(--ease-out);
}

.field-image:hover img {
     transform: scale(1.025);
}

.image-badge {
     box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
}

@media (max-width: 1050px) {
     .field-copy {
          max-width: 760px;
     }

     .field-copy h2 {
          max-width: 18ch;
     }
}

@media (max-width: 700px) {
     .field-copy h2 {
          max-width: 15ch;
     }

     .field-highlight {
          padding: 16px 17px;
     }

     .field-actions {
          align-items: stretch;
          flex-direction: column;
     }

     .field-actions .btn {
          width: 100%;
     }

     .field-microcopy {
          max-width: none;
          text-align: center;
     }
}

/* =========================================================
   PROVA SOCIAL E AUTORIDADE — ERASMO AGRO
========================================================= */

.authority-section {
     position: relative;
     overflow: hidden;
     background:
          radial-gradient(
          circle at 90% 12%,
          rgba(154, 203, 53, 0.10),
          transparent 25%
          ),
          var(--cream);
}

.authority-heading {
     display: grid;
     grid-template-columns: 1.05fr 0.95fr;
     gap: clamp(34px, 6vw, 82px);
     align-items: end;
     margin-bottom: 52px;
}

.authority-heading h2 {
     max-width: 17ch;
     margin-bottom: 0;
}

.authority-heading-text > p {
     max-width: 57ch;
     margin-bottom: 25px;
     color: var(--muted);
     font-size: 1.05rem;
}

.authority-metrics {
     display: flex;
     flex-wrap: wrap;
     gap: 12px;
}

.authority-metrics > span {
     min-width: 135px;
     padding: 13px 16px;
     display: flex;
     flex-direction: column;

     background: rgba(255, 255, 255, 0.68);
     border: 1px solid rgba(18, 55, 31, 0.10);
     border-radius: 15px;
}

.authority-metrics strong {
     color: var(--green-800);
     font-size: 0.94rem;
     line-height: 1.25;
}

.authority-metrics small {
     margin-top: 3px;
     color: var(--muted);
     font-size: 0.71rem;
}

/* =========================================================
   CARROSSEL INFINITO DE FOTOS
========================================================= */

.authority-photo-marquee {
     position: relative;
     width: 100%;
     overflow: hidden;
     padding: 8px 0 76px;
}

.authority-photo-marquee::before,
.authority-photo-marquee::after {
     content: "";
     position: absolute;
     top: 0;
     bottom: 65px;
     z-index: 3;

     width: clamp(28px, 8vw, 150px);
     pointer-events: none;
}

.authority-photo-marquee::before {
     left: 0;
     background: linear-gradient(
          90deg,
          var(--cream) 0%,
          rgba(244, 240, 230, 0) 100%
          );
}

.authority-photo-marquee::after {
     right: 0;
     background: linear-gradient(
          270deg,
          var(--cream) 0%,
          rgba(244, 240, 230, 0) 100%
          );
}

.authority-photo-track {
     display: flex;
     width: max-content;

     animation: authorityPhotoMarquee 72s linear infinite;
     will-change: transform;
}

.authority-photo-group {
     display: flex;
     flex-shrink: 0;
     gap: 18px;
     padding-right: 18px;
}

.authority-photo-card {
     position: relative;
     flex: 0 0 auto;

     width: clamp(230px, 19vw, 330px);
     aspect-ratio: 4 / 5;

     margin: 0;
     overflow: hidden;

     border-radius: 24px;
     background: var(--green-850);

     box-shadow: 0 18px 45px rgba(5, 31, 15, 0.14);
     transform: translateZ(0);
}

.authority-photo-card:nth-child(3n + 2) {
     transform: translateY(18px);
}

.authority-photo-card:nth-child(3n) {
     transform: translateY(7px);
}

.authority-photo-card img {
     width: 100%;
     height: 100%;
     object-fit: cover;

     filter: saturate(0.94) contrast(1.02);
     transition:
          transform 0.7s var(--ease-out),
          filter 0.4s ease;
}

.authority-photo-card::after {
     content: "";
     position: absolute;
     inset: 0;

     background: linear-gradient(
          180deg,
          transparent 60%,
          rgba(4, 24, 13, 0.28)
          );

     pointer-events: none;
}

.authority-photo-card:hover img {
     transform: scale(1.045);
     filter: saturate(1.08) contrast(1.03);
}

.authority-photo-marquee:hover .authority-photo-track {
     animation-play-state: paused;
}

@keyframes authorityPhotoMarquee {
     from {
          transform: translate3d(0, 0, 0);
     }

     to {
          transform: translate3d(-50%, 0, 0);
     }
}

/* =========================================================
   CARROSSEL DE VÍDEOS
========================================================= */

.authority-videos {
     padding-top: 8px;
}

.authority-videos-head {
     display: flex;
     align-items: flex-end;
     justify-content: space-between;
     gap: 30px;
     margin-bottom: 28px;
}

.authority-videos-head h3 {
     margin-bottom: 9px;
     font-size: clamp(1.65rem, 2.4vw, 2.35rem);
}

.authority-videos-head p {
     max-width: 60ch;
     margin-bottom: 0;
     color: var(--muted);
}

.video-carousel-controls {
     display: flex;
     flex: 0 0 auto;
     gap: 9px;
}

.video-carousel-button {
     width: 46px;
     height: 46px;

     display: inline-flex;
     align-items: center;
     justify-content: center;

     color: var(--green-850);
     background: #fff;

     border: 1px solid var(--line);
     border-radius: 50%;

     font-size: 1.15rem;
     font-weight: 800;

     transition:
          transform var(--transition),
          color var(--transition),
          background var(--transition);
}

.video-carousel-button:hover {
     color: #fff;
     background: var(--green-800);
     transform: translateY(-2px);
}

.video-carousel {
     display: grid;
     grid-auto-flow: column;
     grid-auto-columns: minmax(330px, calc((100% - 24px) / 2));

     gap: 24px;
     overflow-x: auto;

     padding: 4px 2px 22px;

     scroll-behavior: smooth;
     scroll-snap-type: x mandatory;
     scrollbar-width: none;
}

.video-carousel::-webkit-scrollbar {
     display: none;
}

.authority-video-card {
     overflow: hidden;
     scroll-snap-align: start;

     background: #fff;
     border: 1px solid rgba(18, 55, 31, 0.10);
     border-radius: 24px;

     box-shadow: 0 14px 38px rgba(5, 31, 15, 0.09);
}

.authority-video-play {
     position: relative;
     width: 100%;
     aspect-ratio: 16 / 9;

     display: block;
     padding: 0;
     overflow: hidden;

     background: var(--green-950);
     border: 0;
}

.authority-video-play img {
     width: 100%;
     height: 100%;
     object-fit: cover;

     opacity: 0.88;
     transition:
          opacity 0.3s ease,
          transform 0.7s var(--ease-out);
}

.authority-video-play::after {
     content: "";
     position: absolute;
     inset: 0;

     background: linear-gradient(
          180deg,
          rgba(4, 23, 12, 0.02),
          rgba(4, 23, 12, 0.34)
          );
}

.authority-video-card:hover .authority-video-play img {
     opacity: 1;
     transform: scale(1.035);
}

.video-play-icon {
     position: absolute;
     top: 50%;
     left: 50%;
     z-index: 2;

     width: 62px;
     height: 62px;

     display: inline-flex;
     align-items: center;
     justify-content: center;

     color: var(--green-950);
     background: linear-gradient(
          135deg,
          var(--gold-2),
          var(--gold)
          );

     border-radius: 50%;
     box-shadow: 0 15px 35px rgba(0, 0, 0, 0.26);

     font-size: 1.15rem;
     transform: translate(-50%, -50%);
     transition: transform 0.25s ease;
}

.authority-video-card:hover .video-play-icon {
     transform: translate(-50%, -50%) scale(1.08);
}

.authority-video-play iframe {
     width: 100%;
     height: 100%;
     display: block;
     border: 0;
}

.authority-video-copy {
     padding: 22px 24px 25px;
     display: flex;
     flex-direction: column;
     gap: 5px;
}

.authority-video-copy span {
     color: var(--green-600);
     font-size: 0.7rem;
     font-weight: 850;
     letter-spacing: 0.1em;
     text-transform: uppercase;
}

.authority-video-copy strong {
     color: var(--ink);
     font-family: Montserrat, Inter, sans-serif;
     font-size: 1rem;
     line-height: 1.4;
}

.authority-final-cta {
     margin-top: 26px;
     padding: 25px 28px;

     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 25px;

     color: #fff;
     background:
          radial-gradient(
          circle at 85% 50%,
          rgba(154, 203, 53, 0.18),
          transparent 25%
          ),
          var(--green-850);

     border-radius: 22px;
}

.authority-final-cta > div {
     display: flex;
     flex-direction: column;
}

.authority-final-cta strong {
     font-size: 1.05rem;
}

.authority-final-cta span {
     margin-top: 3px;
     color: rgba(255, 255, 255, 0.65);
     font-size: 0.85rem;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {
     .authority-heading {
          grid-template-columns: 1fr;
          gap: 22px;
     }

     .authority-heading h2 {
          max-width: 20ch;
     }

     .authority-photo-card {
          width: clamp(225px, 31vw, 300px);
     }

     .video-carousel {
          grid-auto-columns: minmax(310px, 62vw);
     }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {
     .authority-heading {
          margin-bottom: 35px;
     }

     .authority-heading h2 {
          max-width: 16ch;
     }

     .authority-heading-text > p {
          font-size: 0.98rem;
     }

     .authority-metrics {
          display: grid;
          grid-template-columns: 1fr 1fr;
     }

     .authority-metrics > span:last-child {
          grid-column: 1 / -1;
     }

     .authority-photo-marquee {
          padding-bottom: 54px;
     }

     .authority-photo-track {
          animation-duration: 54s;
     }

     .authority-photo-group {
          gap: 12px;
          padding-right: 12px;
     }

     .authority-photo-card {
          width: 220px;
          border-radius: 19px;
     }

     .authority-photo-card:nth-child(3n + 2),
     .authority-photo-card:nth-child(3n) {
          transform: none;
     }

     .authority-videos-head {
          align-items: flex-start;
     }

     .video-carousel-controls {
          display: none;
     }

     .video-carousel {
          margin-right: -14px;
          padding-right: 14px;
          grid-auto-columns: 86%;
          gap: 14px;
     }

     .authority-video-card {
          border-radius: 19px;
     }

     .video-play-icon {
          width: 54px;
          height: 54px;
     }

     .authority-video-copy {
          padding: 18px 19px 21px;
     }

     .authority-final-cta {
          align-items: stretch;
          flex-direction: column;
          padding: 22px 20px;
     }

     .authority-final-cta .btn {
          width: 100%;
     }
}

@media (max-width: 420px) {
     .authority-photo-card {
          width: 195px;
     }

     .authority-photo-track {
          animation-duration: 48s;
     }

     .video-carousel {
          grid-auto-columns: 91%;
     }
}

/* Acessibilidade */
@media (prefers-reduced-motion: reduce) {
     .authority-photo-marquee {
          overflow-x: auto;
     }

     .authority-photo-track {
          animation: none;
     }

     .authority-photo-group[aria-hidden="true"] {
          display: none;
     }
}

/* =========================================================
   BOTÃO DE CONVERSÃO — CONSULTORIA ONLINE
========================================================= */

.authority-final-cta {
     position: relative;
     overflow: hidden;
     border: 1px solid rgba(224, 192, 106, 0.20);
}

/* Luz suave no fundo da faixa */
.authority-final-cta::before {
     content: "";
     position: absolute;
     top: -90px;
     right: 120px;

     width: 260px;
     height: 260px;

     background: radial-gradient(
          circle,
          rgba(224, 192, 106, 0.18),
          transparent 68%
          );

     pointer-events: none;
}

.authority-final-cta > * {
     position: relative;
     z-index: 1;
}

.authority-cta-button {
     position: relative;

     min-width: 310px;
     min-height: 64px;

     display: inline-flex;
     align-items: center;
     justify-content: space-between;
     gap: 18px;

     padding: 10px 17px 10px 22px;

     color: var(--green-950);
     background: linear-gradient(
          135deg,
          #efd477 0%,
          #dfb84e 55%,
          #c99d3e 100%
          );

     border: 1px solid rgba(255, 255, 255, 0.28);
     border-radius: 999px;

     box-shadow:
          0 15px 35px rgba(0, 0, 0, 0.22),
          inset 0 1px 0 rgba(255, 255, 255, 0.46);

     overflow: hidden;

     transition:
          transform 0.25s ease,
          box-shadow 0.25s ease,
          filter 0.25s ease;
}

/* Reflexo suave atravessando o botão */
.authority-cta-button::before {
     content: "";
     position: absolute;
     inset: 0;

     background: linear-gradient(
          110deg,
          transparent 20%,
          rgba(255, 255, 255, 0.28) 47%,
          transparent 72%
          );

     transform: translateX(-125%);
     transition: transform 0.7s ease;
     pointer-events: none;
}

.authority-cta-button:hover::before {
     transform: translateX(125%);
}

.authority-cta-button:hover {
     color: var(--green-950);

     transform: translateY(-3px);

     filter: saturate(1.05);

     box-shadow:
          0 20px 42px rgba(0, 0, 0, 0.28),
          0 0 0 4px rgba(224, 192, 106, 0.11),
          inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

.authority-cta-button:active {
     transform: translateY(0) scale(0.985);
}

.authority-cta-button-copy {
     position: relative;
     z-index: 1;

     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 3px;

     text-align: left;
     line-height: 1.1;
}

.authority-cta-button-copy small {
     color: rgba(6, 27, 16, 0.68);

     font-size: 0.63rem;
     font-weight: 850;
     letter-spacing: 0.11em;
     line-height: 1;
     text-transform: uppercase;
}

.authority-cta-button-copy strong {
     color: var(--green-950);

     font-size: 0.92rem;
     font-weight: 900;
     line-height: 1.25;
}

.authority-cta-button-arrow {
     position: relative;
     z-index: 1;

     width: 39px;
     height: 39px;
     flex: 0 0 39px;

     display: inline-flex;
     align-items: center;
     justify-content: center;

     color: #ffffff;
     background: var(--green-850);

     border-radius: 50%;

     transition:
          transform 0.25s ease,
          background 0.25s ease;
}

.authority-cta-button-arrow svg {
     width: 18px;
     height: 18px;
}

.authority-cta-button:hover .authority-cta-button-arrow {
     background: var(--green-950);
     transform: translateX(3px);
}

/* Tablet */
@media (max-width: 900px) {
     .authority-final-cta {
          align-items: stretch;
          flex-direction: column;
     }

     .authority-cta-button {
          width: 100%;
          min-width: 0;
     }
}

/* Mobile */
@media (max-width: 700px) {
     .authority-final-cta {
          padding: 22px 20px;
          gap: 18px;
     }

     .authority-final-cta > div {
          text-align: left;
     }

     .authority-cta-button {
          min-height: 62px;
          padding: 9px 13px 9px 18px;
     }

     .authority-cta-button-copy strong {
          font-size: 0.86rem;
     }

     .authority-cta-button-copy small {
          font-size: 0.58rem;
     }

     .authority-cta-button-arrow {
          width: 37px;
          height: 37px;
          flex-basis: 37px;
     }
}

/* Celulares menores */
@media (max-width: 390px) {
     .authority-cta-button-copy small {
          display: none;
     }

     .authority-cta-button-copy strong {
          font-size: 0.82rem;
     }
}

/* =========================================================
   SOLUÇÕES PARA O CAMPO
========================================================= */

.solutions-section {
     position: relative;
     overflow: hidden;
}

.solutions-section::before {
     content: "";
     position: absolute;
     top: 8%;
     right: -180px;

     width: 460px;
     height: 460px;

     background: radial-gradient(
          circle,
          rgba(154, 203, 53, 0.09),
          transparent 68%
          );

     pointer-events: none;
}

.solutions-grid {
     position: relative;
     z-index: 1;

     display: grid;
     grid-template-columns: repeat(6, minmax(0, 1fr));
     gap: 22px;
}

/* Primeiros três cards */
.solutions-grid .solution-card:nth-child(1),
.solutions-grid .solution-card:nth-child(2),
.solutions-grid .solution-card:nth-child(3) {
     grid-column: span 2;
}

/* Últimos dois cards centralizados */
.solutions-grid .solution-card:nth-child(4),
.solutions-grid .solution-card:nth-child(5) {
     grid-column: span 3;
}

.solution-card {
     display: flex;
     flex-direction: column;
     min-width: 0;
}

.solution-card .product-image {
     position: relative;
     overflow: hidden;
}

.solution-card .product-image::after {
     content: "";
     position: absolute;
     inset: 0;

     background: linear-gradient(
          180deg,
          transparent 62%,
          rgba(5, 32, 17, 0.12)
          );

     pointer-events: none;
}

.solution-card .product-image img {
     width: 100%;
     height: 255px;

     object-fit: cover;
     object-position: center;

     transition:
          transform 0.7s var(--ease-out),
          filter 0.35s ease;
}

.solution-card:hover .product-image img {
     transform: scale(1.045);
     filter: saturate(1.06);
}

.solution-card-content {
     display: flex;
     flex-direction: column;
     flex-grow: 1;

     padding: 27px;
}

.solution-card-content .pill {
     max-width: 100%;
     white-space: normal;
     line-height: 1.35;
}

.solution-card-content h3 {
     margin-bottom: 11px;
}

.solution-card-content p {
     flex-grow: 1;
     margin-bottom: 24px;

     color: var(--muted);
     line-height: 1.7;
}

.solution-card-content .card-link {
     margin-top: auto;
}

/* Tablet */
@media (max-width: 1050px) {
     .solutions-grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
     }

     .solutions-grid .solution-card:nth-child(n) {
          grid-column: auto;
     }

     .solutions-grid .solution-card:last-child {
          grid-column: 1 / -1;
          max-width: calc(50% - 11px);
          width: 100%;
          justify-self: center;
     }
}

/* Mobile */
@media (max-width: 700px) {
     .solutions-grid {
          grid-template-columns: 1fr;
          gap: 16px;
     }

     .solutions-grid .solution-card:nth-child(n),
     .solutions-grid .solution-card:last-child {
          grid-column: auto;
          max-width: none;
          width: 100%;
     }

     .solution-card .product-image img {
          height: 235px;
     }

     .solution-card-content {
          padding: 23px 21px;
     }
}

/* =========================================================
   ARTIGOS EM DESTAQUE
========================================================= */

.articles-section {
     position: relative;
     overflow: hidden;
}

.articles-section::before {
     content: "";
     position: absolute;
     top: 6%;
     right: -180px;

     width: 430px;
     height: 430px;

     background: radial-gradient(
          circle,
          rgba(154, 203, 53, 0.09),
          transparent 68%
          );

     pointer-events: none;
}

.articles-heading {
     position: relative;
     z-index: 1;

     display: grid;
     grid-template-columns: 1.05fr 0.95fr;
     align-items: end;

     gap: clamp(35px, 7vw, 110px);
     margin-bottom: 48px;
}

.articles-heading h2 {
     max-width: 15ch;
     margin-bottom: 0;
}

.articles-heading-side {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 18px;
}

.articles-heading-side p {
     max-width: 56ch;
     margin: 0;

     color: var(--muted);
     font-size: 1rem;
     line-height: 1.75;
}

/* =========================================================
   CARDS
========================================================= */

.articles-featured-grid {
     position: relative;
     z-index: 1;
}

.featured-article-card {
     position: relative;
     overflow: hidden;

     background: #ffffff;
     border: 1px solid rgba(18, 55, 31, 0.09);
     border-radius: 24px;

     box-shadow:
          0 16px 42px rgba(5, 31, 15, 0.08);

     transition:
          transform 0.3s ease,
          box-shadow 0.3s ease,
          border-color 0.3s ease;
}

.featured-article-card:hover {
     transform: translateY(-7px);

     border-color: rgba(31, 112, 63, 0.20);

     box-shadow:
          0 24px 54px rgba(5, 31, 15, 0.13);
}

.featured-article-card > a {
     height: 100%;

     display: flex;
     flex-direction: column;

     color: inherit;
     text-decoration: none;
}

.article-image {
     position: relative;
     overflow: hidden;

     aspect-ratio: 7 / 5;
     background: var(--green-900);
}

.article-image::after {
     content: "";
     position: absolute;
     inset: 0;

     background: linear-gradient(
          180deg,
          rgba(4, 25, 13, 0.02) 42%,
          rgba(4, 25, 13, 0.38) 100%
          );

     pointer-events: none;
}

.article-image img {
     width: 100%;
     height: 100%;

     object-fit: cover;
     object-position: center;

     transition:
          transform 0.75s var(--ease-out),
          filter 0.4s ease;
}

.featured-article-card:hover .article-image img {
     transform: scale(1.045);
     filter: saturate(1.06);
}

/* Selo sobre a imagem */
.article-reading-label {
     position: absolute;
     left: 18px;
     bottom: 18px;
     z-index: 2;

     padding: 8px 12px;

     color: #ffffff;
     background: rgba(4, 37, 21, 0.88);

     border: 1px solid rgba(222, 181, 84, 0.42);
     border-radius: 999px;

     backdrop-filter: blur(8px);

     font-size: 0.67rem;
     font-weight: 850;
     letter-spacing: 0.08em;
     line-height: 1;
     text-transform: uppercase;
}

/* Numeração */
.article-number {
     position: absolute;
     top: 18px;
     right: 18px;
     z-index: 2;

     width: 42px;
     height: 42px;

     display: inline-flex;
     align-items: center;
     justify-content: center;

     color: var(--green-950);
     background: var(--gold);

     border-radius: 50%;

     font-size: 0.75rem;
     font-weight: 900;

     box-shadow: 0 8px 20px rgba(0, 0, 0, 0.20);
}

/* Conteúdo */
.article-card-content {
     display: flex;
     flex-direction: column;
     flex-grow: 1;

     padding: 26px;
}

.article-card-content .pill {
     align-self: flex-start;
     margin-bottom: 17px;
}

.article-card-content h3 {
     margin-bottom: 13px;

     font-size: clamp(1.08rem, 1.5vw, 1.3rem);
     line-height: 1.35;
}

.article-card-content p {
     flex-grow: 1;

     margin-bottom: 24px;

     color: var(--muted);
     line-height: 1.7;
}

.article-read-link {
     display: inline-flex;
     align-items: center;
     gap: 9px;

     margin-top: auto;

     transition:
          gap 0.25s ease,
          color 0.25s ease;
}

.featured-article-card:hover .article-read-link {
     gap: 14px;
     color: var(--green-600);
}

/* =========================================================
   CTA INFERIOR
========================================================= */

.articles-bottom-cta {
     margin-top: 28px;
     padding: 24px 28px;

     display: flex;
     align-items: center;
     justify-content: space-between;

     gap: 25px;

     color: #ffffff;
     background:
          radial-gradient(
          circle at 85% 50%,
          rgba(154, 203, 53, 0.18),
          transparent 28%
          ),
          var(--green-850);

     border-radius: 22px;
}

.articles-bottom-cta > div {
     display: flex;
     flex-direction: column;
     gap: 4px;
}

.articles-bottom-cta strong {
     font-size: 1rem;
}

.articles-bottom-cta span {
     color: rgba(255, 255, 255, 0.66);
     font-size: 0.82rem;
     line-height: 1.5;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

     .articles-heading {
          grid-template-columns: 1fr;
          gap: 22px;
     }

     .articles-heading h2 {
          max-width: 19ch;
     }

}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

     .articles-heading {
          margin-bottom: 32px;
     }

     .articles-heading h2 {
          max-width: 15ch;
     }

     .articles-heading-side p {
          font-size: 0.96rem;
     }

     .featured-article-card {
          border-radius: 19px;
     }

     .article-card-content {
          padding: 22px 20px;
     }

     .article-reading-label {
          left: 14px;
          bottom: 14px;
     }

     .article-number {
          top: 14px;
          right: 14px;

          width: 38px;
          height: 38px;
     }

     .articles-bottom-cta {
          align-items: stretch;
          flex-direction: column;

          padding: 22px 20px;
     }

     .articles-bottom-cta .btn {
          width: 100%;
     }

}

/* ==========================================================================
   CTA FINAL — AUTONOMIA NO CAMPO
   Bloco consolidado: mantenha apenas esta versão no projeto.
   ========================================================================== */

.closing-autonomia {
     position: relative;
     overflow: hidden;
}

.closing-autonomia::before {
     content: "";
     position: absolute;
     top: -180px;
     right: 5%;
     width: 520px;
     height: 520px;
     background: radial-gradient(
          circle,
          rgba(111, 255, 146, 0.09),
          transparent 68%
          );
     pointer-events: none;
}

.closing-autonomia .closing-grid {
     position: relative;
     z-index: 1;
     display: grid;
     grid-template-columns: minmax(0, 1.15fr) minmax(280px, 350px);
     align-items: center;
     gap: clamp(36px, 7vw, 110px);
}

.closing-autonomia-copy {
     width: 100%;
     max-width: 760px;
}

/* Título propositalmente pequeno e controlado */
.closing-autonomia-copy h2 {
     width: 100%;
     max-width: 18ch;
     margin: 0 0 18px;
     font-size: clamp(1.95rem, 2.55vw, 2.75rem);
     line-height: 1.08;
     letter-spacing: -0.035em;
     text-wrap: balance;
}

.closing-autonomia-copy > p {
     max-width: 60ch;
     margin: 0 0 18px;
     color: rgba(255, 255, 255, 0.70);
     font-size: 0.96rem;
     line-height: 1.68;
}

.closing-autonomia-points {
     display: flex;
     flex-wrap: wrap;
     gap: 9px 18px;
     margin-top: 16px;
}

.closing-autonomia-points span {
     display: inline-flex;
     align-items: center;
     gap: 7px;
     color: rgba(255, 255, 255, 0.78);
     font-size: 0.76rem;
     font-weight: 750;
}

.closing-autonomia-points .icon,
.closing-autonomia-points svg {
     color: #9cff74;
}

/* Botão CTA */
.closing-autonomia-button.btn-autonomia-cta {
     position: relative;
     width: 100%;
     max-width: 350px;
     min-width: 0;
     min-height: 62px;
     justify-self: end;
     display: inline-flex;
     align-items: center;
     justify-content: space-between;
     gap: 15px;
     padding: 9px 10px 9px 19px;
     color: #ffffff;
     background: linear-gradient(
          135deg,
          rgba(8, 68, 41, 0.98),
          rgba(7, 91, 48, 0.95)
          );
     border: 1px solid rgba(139, 255, 166, 0.22);
     border-radius: 999px;
     box-shadow:
          0 12px 28px rgba(0, 0, 0, 0.20),
          inset 0 1px 0 rgba(255, 255, 255, 0.06);
     overflow: hidden;
     transition:
          transform 220ms ease,
          background 220ms ease,
          border-color 220ms ease,
          box-shadow 220ms ease;
}

.closing-autonomia-button.btn-autonomia-cta::before {
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(
          110deg,
          transparent 25%,
          rgba(173, 255, 184, 0.11) 48%,
          transparent 72%
          );
     transform: translateX(-125%);
     transition: transform 650ms ease;
     pointer-events: none;
}

.closing-autonomia-button.btn-autonomia-cta:hover::before {
     transform: translateX(125%);
}

.closing-autonomia-button.btn-autonomia-cta:hover {
     color: #ffffff;
     background: linear-gradient(
          135deg,
          rgba(9, 80, 47, 1),
          rgba(8, 108, 56, 0.98)
          );
     border-color: rgba(139, 255, 166, 0.42);
     transform: translateY(-2px);
     box-shadow:
          0 16px 34px rgba(0, 0, 0, 0.25),
          0 0 18px rgba(116, 255, 148, 0.10),
          inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.closing-autonomia-button .btn-autonomia-copy {
     position: relative;
     z-index: 2;
     min-width: 0;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     gap: 3px;
     text-align: left;
}

.closing-autonomia-button .btn-autonomia-copy small {
     margin: 0;
     color: rgba(180, 255, 197, 0.80);
     font-size: 0.59rem;
     font-weight: 850;
     line-height: 1;
     letter-spacing: 0.12em;
     text-transform: uppercase;
}

.closing-autonomia-button .btn-autonomia-copy strong {
     color: #ffffff;
     font-size: 0.88rem;
     font-weight: 850;
     line-height: 1.2;
     white-space: normal;
}

.closing-autonomia-button .btn-autonomia-icon {
     position: relative;
     z-index: 2;
     width: 42px;
     height: 42px;
     flex: 0 0 42px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     color: #adff7c;
     background: rgba(163, 255, 116, 0.10);
     border: 1px solid rgba(163, 255, 116, 0.22);
     border-radius: 50%;
     transition:
          transform 280ms cubic-bezier(.22, 1, .36, 1),
          background 220ms ease,
          border-color 220ms ease,
          box-shadow 220ms ease;
}

.closing-autonomia-button .btn-autonomia-icon .icon,
.closing-autonomia-button .btn-autonomia-icon svg {
     width: 18px;
     height: 18px;
     display: block;
     color: inherit;
     stroke: currentColor;
     transition: transform 280ms cubic-bezier(.22, 1, .36, 1);
}

.closing-autonomia-button:hover .btn-autonomia-icon {
     background: rgba(163, 255, 116, 0.17);
     border-color: rgba(163, 255, 116, 0.40);
     transform: translateX(4px);
     box-shadow: 0 0 16px rgba(163, 255, 116, 0.14);
}

.closing-autonomia-button:hover .btn-autonomia-icon .icon,
.closing-autonomia-button:hover .btn-autonomia-icon svg {
     transform: translateX(3px);
}

/* Notebook: título realmente pequeno */
@media (min-width: 701px) and (max-width: 1440px) {
     .closing-autonomia .closing-grid {
          grid-template-columns: minmax(0, 1fr) minmax(270px, 330px);
          gap: clamp(34px, 6vw, 82px);
     }

     .closing-autonomia-copy {
          max-width: 650px;
     }

     .closing-autonomia-copy h2 {
          max-width: 19ch;
          font-size: clamp(1.72rem, 2.15vw, 2.18rem);
          line-height: 1.10;
     }

     .closing-autonomia-copy > p {
          max-width: 58ch;
          font-size: 0.92rem;
     }

     .closing-autonomia-points {
          gap: 8px 14px;
     }

     .closing-autonomia-points span {
          font-size: 0.70rem;
     }

     .closing-autonomia-button.btn-autonomia-cta {
          max-width: 330px;
     }
}

/* Tablet */
@media (max-width: 900px) {
     .closing-autonomia .closing-grid {
          grid-template-columns: 1fr;
          gap: 26px;
     }

     .closing-autonomia-button.btn-autonomia-cta {
          width: 100%;
          max-width: 360px;
          justify-self: start;
     }
}

/* Mobile */
@media (max-width: 700px) {
     .closing-autonomia-copy {
          max-width: none;
     }

     .closing-autonomia-copy h2 {
          max-width: 17ch;
          font-size: clamp(1.82rem, 8.2vw, 2.28rem);
          line-height: 1.08;
     }

     .closing-autonomia-copy > p {
          font-size: 0.94rem;
     }

     .closing-autonomia-points {
          display: grid;
          grid-template-columns: 1fr;
          gap: 9px;
     }

     .closing-autonomia-button.btn-autonomia-cta {
          max-width: 100%;
          justify-self: stretch;
     }
}

@media (max-width: 390px) {
     .closing-autonomia-copy h2 {
          font-size: 1.75rem;
     }

     .closing-autonomia-button.btn-autonomia-cta {
          padding-left: 15px;
     }

     .closing-autonomia-button .btn-autonomia-copy small {
          font-size: 0.54rem;
     }

     .closing-autonomia-button .btn-autonomia-copy strong {
          font-size: 0.80rem;
     }

     .closing-autonomia-button .btn-autonomia-icon {
          width: 39px;
          height: 39px;
          flex-basis: 39px;
     }
}

/* ==========================================================================
   REDES SOCIAIS E CRÉDITO DO FOOTER
   ========================================================================== */

.footer-socials {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     gap: 9px;
     margin-top: 22px;
}

.footer-socials a {
     width: 39px;
     height: 39px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     color: var(--gold-2);
     background: rgba(255, 255, 255, 0.05);
     border: 1px solid rgba(224, 192, 106, 0.22);
     border-radius: 50%;
     transition:
          color 220ms ease,
          background 220ms ease,
          border-color 220ms ease,
          transform 220ms ease;
}

.footer-socials a:hover {
     color: var(--green-950);
     background: var(--gold-2);
     border-color: var(--gold-2);
     transform: translateY(-3px);
}

.footer-socials svg {
     width: 18px;
     height: 18px;
     fill: none;
     stroke: currentColor;
     stroke-width: 1.8;
}

.footer-socials a:first-child svg,
.footer-socials a:nth-child(5) svg {
     fill: currentColor;
     stroke: none;
}

.footer-developer {
     color: rgba(255, 255, 255, 0.42);
     font-size: 0.66rem;
     letter-spacing: 0.015em;
     text-align: center;
}

@media (max-width: 1050px) {
     .footer-bottom {
          align-items: center;
          flex-wrap: wrap;
     }

     .footer-developer {
          order: 3;
          width: 100%;
     }
}

@media (max-width: 700px) {
     .footer-socials {
          margin-top: 19px;
     }

     .footer-bottom {
          align-items: flex-start;
     }

     .footer-developer {
          order: initial;
          width: auto;
          text-align: left;
     }
}

/* =========================================================
   BOTÃO AUTONOMIA — FOOTER
   Componente isolado, sem conflito com .btn
========================================================= */

.autonomia-footer-cta {
    position: relative;
    isolation: isolate;

    width: 100%;
    max-width: 350px;
    min-height: 62px;

    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;

    padding: 9px 10px 9px 20px;

    color: #ffffff;
    text-decoration: none;

    background:
        linear-gradient(
            135deg,
            rgba(6, 61, 37, 0.98),
            rgba(5, 91, 47, 0.96)
        );

    border: 1px solid rgba(126, 255, 155, 0.24);
    border-radius: 999px;

    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.20),
        inset 0 1px 0 rgba(255, 255, 255, 0.06),
        0 0 0 rgba(117, 255, 149, 0);

    overflow: hidden;

    transition:
        transform 240ms ease,
        border-color 240ms ease,
        box-shadow 240ms ease,
        background 240ms ease;
}

/* Brilho que atravessa suavemente */
.autonomia-footer-cta::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;

    background:
        linear-gradient(
            110deg,
            transparent 24%,
            rgba(166, 255, 185, 0.14) 48%,
            transparent 72%
        );

    transform: translateX(-130%);
    transition: transform 700ms ease;
}

.autonomia-footer-cta:hover::before {
    transform: translateX(130%);
}

.autonomia-footer-cta:hover {
    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            rgba(7, 75, 43, 1),
            rgba(6, 112, 56, 0.98)
        );

    border-color: rgba(137, 255, 165, 0.46);

    transform: translateY(-3px);

    box-shadow:
        0 17px 36px rgba(0, 0, 0, 0.26),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 22px rgba(117, 255, 149, 0.12);
}

.autonomia-footer-cta:active {
    transform: translateY(-1px) scale(0.99);
}

.autonomia-footer-cta:focus-visible {
    outline: none;

    box-shadow:
        0 0 0 4px rgba(134, 255, 161, 0.15),
        0 17px 36px rgba(0, 0, 0, 0.25);
}

/* Texto */
.autonomia-footer-cta__copy {
    min-width: 0;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;

    text-align: left;
}

.autonomia-footer-cta__copy small {
    color: rgba(177, 255, 194, 0.80);

    font-size: 0.59rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.autonomia-footer-cta__copy strong {
    color: #ffffff;

    font-size: 0.88rem;
    font-weight: 850;
    line-height: 1.2;
}

/* Círculo do ícone */
.autonomia-footer-cta__icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #aaff76;
    background: rgba(163, 255, 116, 0.10);

    border: 1px solid rgba(163, 255, 116, 0.24);
    border-radius: 50%;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.05),
        0 0 0 rgba(163, 255, 116, 0);

    transition:
        transform 300ms cubic-bezier(.22, 1, .36, 1),
        background 240ms ease,
        border-color 240ms ease,
        box-shadow 240ms ease;
}

.autonomia-footer-cta__icon svg {
    display: block;

    transition:
        transform 300ms cubic-bezier(.22, 1, .36, 1);
}

/* Movimento do círculo */
.autonomia-footer-cta:hover .autonomia-footer-cta__icon {
    background: rgba(163, 255, 116, 0.18);
    border-color: rgba(163, 255, 116, 0.46);

    transform: translateX(4px);

    box-shadow:
        0 0 16px rgba(163, 255, 116, 0.16);
}

/* Movimento adicional da seta */
.autonomia-footer-cta:hover .autonomia-footer-cta__icon svg {
    transform: translateX(3px);
}

/* Tablet */
@media (max-width: 900px) {
    .autonomia-footer-cta {
        max-width: 360px;
    }
}

/* Mobile */
@media (max-width: 700px) {
    .autonomia-footer-cta {
        width: 100%;
        max-width: 100%;

        min-height: 60px;
        padding: 9px 9px 9px 17px;
    }

    .autonomia-footer-cta__copy strong {
        font-size: 0.84rem;
    }

    .autonomia-footer-cta__icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }
}

@media (max-width: 380px) {
    .autonomia-footer-cta__copy small {
        font-size: 0.53rem;
    }

    .autonomia-footer-cta__copy strong {
        font-size: 0.78rem;
    }
}

/* =========================================================
   CORREÇÃO — ÍCONE FIXO E DOURADO NO CTA AUTONOMIA
========================================================= */

.closing-autonomia .btn-autonomia-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    color: #17351f;
    background: linear-gradient(
        135deg,
        #efd477 0%,
        #ddb54f 100%
    );

    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.45),
        0 8px 18px rgba(0, 0, 0, 0.18);

    transform: none !important;
    transition: none !important;
}

.closing-autonomia .btn-autonomia-icon .icon,
.closing-autonomia .btn-autonomia-icon svg {
    width: 18px;
    height: 18px;

    color: #17351f;
    stroke: currentColor;

    transform: none !important;
    transition: none !important;
}

/* Impede qualquer movimento no hover */
.closing-autonomia .closing-autonomia-button:hover .btn-autonomia-icon,
.closing-autonomia .btn-autonomia:hover .btn-autonomia-icon {
    background: linear-gradient(
        135deg,
        #efd477 0%,
        #ddb54f 100%
    );

    border-color: rgba(255, 255, 255, 0.25);

    transform: none !important;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.45),
        0 8px 18px rgba(0, 0, 0, 0.18);
}

.closing-autonomia .closing-autonomia-button:hover .btn-autonomia-icon .icon,
.closing-autonomia .closing-autonomia-button:hover .btn-autonomia-icon svg,
.closing-autonomia .btn-autonomia:hover .btn-autonomia-icon .icon,
.closing-autonomia .btn-autonomia:hover .btn-autonomia-icon svg {
    transform: none !important;
}

/* =========================================================
   AJUSTE LEVE — BOTÃO ACESSAR O BLOG
========================================================= */

.articles-bottom-cta > .btn.btn-primary {
    color: #ffffff;

    background: linear-gradient(
        135deg,
        #176b3d 0%,
        #20854b 100%
    );

    border: 1px solid rgba(151, 255, 175, 0.24);

    box-shadow:
        0 8px 20px rgba(0, 0, 0, 0.14),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);

    transition:
        transform 0.22s ease,
        background 0.22s ease,
        border-color 0.22s ease,
        box-shadow 0.22s ease;
}

.articles-bottom-cta > .btn.btn-primary svg,
.articles-bottom-cta > .btn.btn-primary .icon {
    color: #b8ff8a;
    stroke: currentColor;

    transition: transform 0.22s ease;
}

.articles-bottom-cta > .btn.btn-primary:hover {
    color: #ffffff;

    background: linear-gradient(
        135deg,
        #1b7844 0%,
        #279653 100%
    );

    border-color: rgba(151, 255, 175, 0.42);

    transform: translateY(-2px);

    box-shadow:
        0 12px 26px rgba(0, 0, 0, 0.18),
        0 0 14px rgba(111, 255, 146, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.10);
}

.articles-bottom-cta > .btn.btn-primary:hover svg,
.articles-bottom-cta > .btn.btn-primary:hover .icon {
    transform: translateX(3px);
}