:root{
  --bl-cream:#F6F1E6;
  --bl-cream-2:#EFE7D6;
  --bl-green:#005843;
  --bl-green-dark:#003D2E;
  --bl-green-soft:#2F8E74;
  --bl-butter:#E7B84C;
  --bl-ink:#213027;
  --bl-muted:#6E7C74;
  --bl-line:#DCD3C0;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bl-cream);
  color:var(--bl-ink);
  font-family:"Hanken Grotesk",-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.bl-produtos{
  max-width:1180px;
  margin:-108px auto;
  padding:88px 24px 40px;
}
.bl-head{max-width:640px;margin:0 auto 54px;text-align:center}
.bl-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--bl-green);margin-bottom:20px;
}
.bl-eyebrow::before,.bl-eyebrow::after{
  content:"";width:26px;height:1px;background:var(--bl-green-soft);opacity:.5;
}
.bl-title{
  font-family:"Fraunces",serif;
  font-optical-sizing:auto;
  font-weight:600;
  font-size:clamp(38px,6vw,60px);
  line-height:1.02;
  letter-spacing:-.01em;
  margin:0 0 18px;
  color:var(--bl-ink);
}
.bl-title em{font-style:italic;font-weight:500;color:var(--bl-green)}
.bl-sub{margin:0;font-size:17px;line-height:1.65;color:var(--bl-muted)}

.bl-grid{
  display:grid;
  grid-template-columns:repeat(8,1fr);
  gap:18px;
  margin-top:8px;
}
.bl-card{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:7px;
  padding:13px;
  background:#fff;
  border:1px solid #e6ebe9;
  border-radius:16px;
  text-decoration:none;color:inherit;
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .35s ease;
}
.bl-card,.bl-card:hover,.bl-card:focus,.bl-card:focus-visible{
  text-decoration:none;
  color:inherit;
}
.bl-card:hover,.bl-card:focus-visible{
  transform:translateY(-6px);
  border-color:#2f8e74;
  box-shadow:0 14px 26px rgba(18,107,83,.16);
  outline:none;
}

.bl-seal{
  width:72px;height:72px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:rgb(0 88 67 / 78%);
  position:relative;
  transition:background .35s ease,transform .5s cubic-bezier(.2,.7,.2,1);
}
.bl-seal::after {
    content: "";
    position: absolute;
    inset: 2px;
    border-radius: 66%;
    border: 4.5px dashed rgba(255, 255, 255, .3);
    transition: transform .8s ease;
}
.bl-seal .fa{
  font-size:24px;color:#fff;
}
.bl-card:hover .bl-seal,.bl-card:focus-visible .bl-seal{
  background:rgb(0,70,53);
  transform:scale(1.05);
}
.bl-card:hover .bl-seal::after,.bl-card:focus-visible .bl-seal::after{
  transform:rotate(-18deg);
}

.bl-name{
  font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  margin:0;color:#a6bbae;transition:color .35s ease;
}
.bl-card:hover .bl-name,.bl-card:focus-visible .bl-name{color:#126b53}

.bl-card.is-more{background:#fbfaf6}

.bl-heritage{
  background:rgb(0, 88, 67);
  color:#fff;
  margin-top:141px;
  position:relative;
  overflow:hidden;
}
.bl-heritage-inner{
  max-width:1180px;margin:0 auto;
  padding:68px 24px;
  display:grid;grid-template-columns:auto 1px 1fr;gap:44px;align-items:center;
}
.bl-year{
  font-family:"Fraunces",serif;font-weight:600;font-style:italic;
  font-size:clamp(64px,10vw,104px);line-height:.9;
  color:#fff;
}
.bl-year small{
  display:block;font-family:"Hanken Grotesk",sans-serif;font-style:normal;
  font-weight:700;font-size:13px;letter-spacing:.24em;text-transform:uppercase;
  color:rgba(255,255,255,.7);margin-top:10px;
}
.bl-divider{width:1px;height:100%;background:rgba(255,255,255,.18)}
.bl-heritage h3{
  font-family:"Fraunces",serif;font-weight:500;
  font-size:clamp(22px,3vw,30px);line-height:1.25;margin:0 0 14px;
}
.bl-heritage p{margin:0;font-size:16px;line-height:1.7;color:rgba(255,255,255,.8);max-width:620px}

.bl-cursos{
  position:relative;
  background:var(--bl-cream-2);
  padding:0;
}

.bl-cursos-inner {
    max-width: 1227px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 24px;
    align-items: center;
}
.bl-cursos-img{
  align-self:end;
}
.bl-cursos-img img{max-width:100%;height:auto;display:block}
.bl-cursos-copy .bl-eyebrow{color:var(--bl-green)}
.bl-cursos h3{
  font-family:"Fraunces",serif;font-weight:600;
  font-size:clamp(26px,4vw,40px);line-height:1.08;margin:0 0 24px;color:var(--bl-ink);
}
.bl-cursos h3 strong{display:block;color:var(--bl-green);font-weight:600}
.bl-btn{
  display:inline-flex;align-items:center;gap:12px;
  background:var(--bl-green);color:#fff;text-decoration:none;
  font-weight:700;font-size:14px;letter-spacing:.02em;
  padding:16px 26px;border-radius:100px;
  transition:background .3s ease,transform .3s ease,gap .3s ease;
}
.bl-btn .fa{transition:transform .3s ease}
.bl-btn:hover{background:var(--bl-green-dark);gap:16px;transform:translateY(-2px)}
.bl-btn:hover .fa{transform:translateX(3px)}

.bl-cursos-btn{display:inline-block;width:auto;margin:0}

@media (prefers-reduced-motion:no-preference){
  .bl-card{opacity:0;transform:translateY(16px);animation:blUp .6s cubic-bezier(.2,.7,.2,1) forwards}
  .bl-card:nth-child(1){animation-delay:.05s}
  .bl-card:nth-child(2){animation-delay:.1s}
  .bl-card:nth-child(3){animation-delay:.15s}
  .bl-card:nth-child(4){animation-delay:.2s}
  .bl-card:nth-child(5){animation-delay:.25s}
  .bl-card:nth-child(6){animation-delay:.3s}
  .bl-card:nth-child(7){animation-delay:.35s}
  .bl-card:nth-child(8){animation-delay:.4s}
  @keyframes blUp{to{opacity:1;transform:none}}
}

@media (max-width:991px){
  .bl-grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){
  .bl-heritage-inner{grid-template-columns:1fr;gap:26px;text-align:center}
  .bl-divider{display:none}
  .bl-cursos-inner{grid-template-columns:1fr;gap:0;text-align:center;padding:56px 24px}
  .bl-cursos-img{display:none}
  .bl-eyebrow{justify-content:center}
  .bl-btn{margin:0 auto}
}
@media (max-width:560px){
  .bl-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:440px){
  .bl-produtos{padding-top:60px}
}

.bl-produtos{
  max-width:1180px;
  margin:-34px auto;
  padding:88px 24px 40px;
}
.bl-name{
  font-size:13px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  margin:0;color:#a6bbae;transition:color .35s ease;
}

.bl-heritage{
  background:var(--bl-green);color:#fff;
  margin-top:144px;position:relative;overflow:hidden;
}
.bl-heritage p{margin:0;font-size:16px;line-height:1.7;color:rgba(255,255,255,.8);max-width:900px}

@media (max-width:900px){
  .bl-heritage{margin-top:96px}
}
@media (max-width:560px){
  .bl-heritage{margin-top:64px}
  .bl-heritage-inner{padding:52px 24px}
  .bl-head{margin-bottom:38px}
}
