/* Fonte Florenca brand refresh - derived from the supplied institutional deck. */
:root{
  --creme:#E9E2DD;
  --creme-alt:#F5F0EB;
  --creme-2:#DCD4CC;
  --oliva:#515339;
  --oliva-esc:#36382A;
  --oliva-mid:#65664D;
  --oliva-luz:#85836B;
  --ouro:#9A8252;
  --ouro-esc:#796642;
  --carvao:#353535;
  --texto:#56544E;
  --texto-clr:#88837C;
  --linha:#CFC6BC;
  --terra:#A95743;
  --verde:#515339;
  --disp:'Montserrat',system-ui,sans-serif;
  --corpo:'Montserrat',system-ui,sans-serif;
  --r:5px;
  --sombra:0 12px 34px rgba(53,53,53,.09);
}

html{background:var(--creme)}
body{
  background-color:var(--creme);
  background-image:linear-gradient(rgba(233,226,221,.82),rgba(233,226,221,.82)),url('textura-marfim.png');
  background-size:auto,640px 640px;
  color:var(--texto);
  letter-spacing:-.006em;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  z-index:-1;
  left:-110px;
  top:120px;
  width:430px;
  height:430px;
  background:url('fonte-florenca-emblema.png') center/contain no-repeat;
  opacity:.035;
  pointer-events:none;
}

.wrap{max-width:1280px;padding-inline:34px}

.top{
  background:rgba(237,230,224,.94);
  border-bottom:1px solid rgba(121,102,66,.36);
  box-shadow:0 8px 30px rgba(53,53,53,.04);
}
.top-in{height:84px;max-width:1280px;padding-inline:34px;gap:24px}
.brand{min-width:184px;gap:9px}
.brand-emblem{width:46px;height:54px;object-fit:contain;display:block}
.brand-wordmark{display:flex;flex-direction:column;line-height:1;color:#4B493F}
.brand-wordmark b{font-size:9px;font-weight:500;letter-spacing:.42em;margin:0 0 5px 2px}
.brand-wordmark strong{font-size:17px;font-weight:600;letter-spacing:.13em}
.tabs{gap:0}
.tab{
  border-radius:0;
  padding:12px 14px;
  color:#5A584F;
  font-size:11px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:2px solid transparent;
}
.tab:hover{background:transparent;color:var(--oliva);border-bottom-color:rgba(154,130,82,.58)}
.tab[aria-selected="true"]{background:transparent;color:var(--oliva);border-bottom-color:var(--ouro);font-weight:700}
.btn-ghost{
  border-color:rgba(121,102,66,.52);
  border-radius:2px;
  color:var(--oliva-esc);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hero,.hero-i{padding:0 0 26px}
.hero::after{display:none}
.hero-layout{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  align-items:stretch;
  min-height:570px;
  border-bottom:1px solid rgba(154,130,82,.5);
}
.hero-copy{
  position:relative;
  z-index:2;
  padding:82px 60px 64px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-copy::after{
  content:"";
  position:absolute;
  right:30px;
  bottom:22px;
  width:92px;
  height:92px;
  background:url('fonte-florenca-emblema.png') center/contain no-repeat;
  opacity:.11;
}
.hero-visual{
  position:relative;
  overflow:hidden;
  min-height:570px;
  margin-right:calc((100vw - min(100vw,1280px))/ -2);
  background:var(--carvao);
}
.hero-visual::before{
  content:"";
  position:absolute;
  z-index:2;
  left:-172px;
  top:-8%;
  width:235px;
  height:116%;
  border-radius:50%;
  background:var(--creme);
  box-shadow:15px 0 0 rgba(154,130,82,.18);
}
.hero-visual::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:33%;
  background:linear-gradient(transparent,rgba(39,39,34,.4));
  pointer-events:none;
}
.hero-visual img{width:100%;height:100%;min-height:570px;object-fit:cover;object-position:center}
.hero-visual figcaption{
  position:absolute;
  z-index:3;
  right:28px;
  bottom:22px;
  padding:8px 12px;
  background:rgba(53,53,53,.78);
  border-left:2px solid var(--ouro);
  color:rgba(255,255,255,.8);
  font-size:9px;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.eyebrow{
  color:var(--ouro-esc);
  font-size:10px;
  font-weight:700;
  letter-spacing:.26em;
}
h1,h2{
  font-family:'Cormorant Garamond',Georgia,serif;
  color:#454738;
  letter-spacing:-.035em;
}
h1{font-size:clamp(3.3rem,5.4vw,5.2rem);line-height:.94;max-width:12ch;font-weight:400}
h1 b{font-weight:650;color:var(--oliva)}
h2{font-size:clamp(2.35rem,4vw,3.6rem);line-height:1;max-width:18ch;font-weight:400}
h2 b{font-weight:650;color:var(--oliva)}
h3{font-family:'Montserrat',system-ui,sans-serif;color:var(--oliva-esc);font-weight:700}
.lead{font-size:15.5px;line-height:1.72;max-width:56ch}

.cta{
  border-radius:2px;
  background:var(--oliva);
  padding:15px 22px;
  box-shadow:0 8px 22px rgba(54,56,42,.2);
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cta.sec{border-radius:2px;border-color:rgba(121,102,66,.45);padding:15px 22px}

.hero>.wrap>.kpis,.hero>.wrap>.pills{position:relative;z-index:4}
.hero>.wrap>.kpis{margin-top:-48px}
.kpis{gap:13px}
.kpi,.card,.pauta-c,.dica,.insight,.acc,.tw,.pat-c{
  border-color:rgba(121,102,66,.24);
  border-radius:var(--r);
  background:rgba(247,243,239,.92);
  box-shadow:var(--sombra);
}
.kpi{padding:25px 22px 23px}
.kpi::before{height:2px;background:var(--oliva)}
.kpi-l,.insight-t,.chart-tag{font-size:9.5px;letter-spacing:.17em}
.kpi-v,.rec-v,.pat-v,.acc-v b,.pauta-n{font-family:'Montserrat',system-ui,sans-serif}
.kpi-v{font-size:clamp(1.35rem,2.3vw,1.85rem);font-weight:600}
.pill{border-radius:2px;background:rgba(247,243,239,.82);border-color:rgba(121,102,66,.25)}

.sec{padding:78px 0}
.sec-head{position:relative;margin-bottom:42px;padding-left:28px}
.sec-head::before{
  content:"";
  position:absolute;
  left:0;
  top:7px;
  bottom:6px;
  width:2px;
  background:linear-gradient(var(--ouro),rgba(154,130,82,.08));
}
.sec-head p{font-size:14.5px;line-height:1.72}
.sec-head .eyebrow{margin-bottom:14px}

.pauta-c{border-radius:3px;border-left:3px solid var(--ouro)}
.pauta-n{color:var(--ouro-esc);opacity:.42}
.dica{border-radius:2px;border-left-color:var(--ouro);background:rgba(247,243,239,.7)}
.rec{border-radius:3px;box-shadow:var(--sombra)}
.rec-r.fim{background:var(--oliva)}
.acc,.tw{border-radius:3px}
th{background:var(--oliva-esc)}

.pat{gap:20px}
.pat-c{border-radius:2px;overflow:hidden}
.pat-img{aspect-ratio:1.28/1;background:var(--carvao)}
.pat-img::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 1px rgba(154,130,82,.18);
  pointer-events:none;
}
.pat-img img{object-position:center;transition:transform .5s ease}
.pat-c:hover .pat-img img{transform:scale(1.025)}
.pat-tag{top:0;left:0;border-radius:0;background:var(--oliva);color:#fff;padding:8px 14px}
.pat-b{padding:25px}
.pat-v{color:var(--ouro-esc)}

.faixa{
  position:relative;
  overflow:hidden;
  border-radius:3px;
  background-color:var(--oliva-esc);
  background-image:linear-gradient(90deg,rgba(40,41,34,.45),rgba(40,41,34,.12)),url('textura-oliva.png');
  background-size:cover;
  border-bottom:2px solid var(--ouro);
}
.faixa::after{
  content:"";
  position:absolute;
  right:-50px;
  top:-50px;
  width:240px;
  height:240px;
  background:url('fonte-florenca-emblema.png') center/contain no-repeat;
  opacity:.07;
}

footer{
  position:relative;
  overflow:hidden;
  border-top:2px solid var(--ouro);
  background-color:var(--carvao);
  background-image:linear-gradient(rgba(53,53,53,.88),rgba(53,53,53,.92)),url('textura-oliva.png');
  background-size:cover;
}
footer::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:40%;
  background-image:url('fonte-florenca-emblema.png');
  background-size:72px 72px;
  opacity:.035;
}
.f-in{position:relative;z-index:1}
.f-in b{letter-spacing:.22em}

@media(max-width:1050px){
  .top-in{padding-inline:22px}
  .brand{min-width:170px}
  .brand-emblem{width:42px;height:50px}
  .brand-wordmark strong{font-size:15px}
  .hero-layout{grid-template-columns:1fr 1fr;min-height:520px}
  .hero-copy{padding:64px 36px 54px 0}
  .hero-visual,.hero-visual img{min-height:520px}
}

@media(max-width:820px){
  .wrap{padding-inline:20px}
  .top-in{width:100%;max-width:100vw;height:auto;min-height:76px;padding-top:8px;flex-wrap:wrap}
  .brand{min-width:162px}
  .brand-emblem{width:40px;height:48px}
  .tabs{order:3;width:100%;min-width:0;max-width:100%;overflow-x:auto;margin:0;padding-bottom:5px}
  .tab{padding:10px 12px}
  .hero-layout{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:56px 0 34px}
  .hero-copy::after{right:5px}
  .hero-visual{min-height:350px;margin:0 -20px}
  .hero-visual img{min-height:350px}
  .hero-visual::before{left:-150px;width:180px}
  .hero>.wrap>.kpis{margin-top:20px}
  h1{max-width:13ch}
}

@media(max-width:560px){
  .top-in{gap:8px 14px}
  .brand{min-width:145px}
  .brand-emblem{width:36px;height:44px}
  .brand-wordmark strong{font-size:13px}
  .brand-wordmark b{font-size:8px}
  .btn-ghost{margin-left:auto;padding:8px 10px;font-size:9px}
  .hero-copy{padding-top:44px}
  .hero-visual,.hero-visual img{min-height:285px}
  .hero-visual figcaption{right:14px;bottom:12px;max-width:70%;font-size:8px}
  .hero-visual::before{left:-132px;width:150px}
  .sec{padding:58px 0}
  .sec-head{padding-left:18px}
  .pat-img{aspect-ratio:16/11}
}

@media print{
  body{background:#fff!important}
  .hero-visual{display:none}
  .hero-layout{display:block;min-height:0}
  .hero-copy{padding:32px 0}
  .hero>.wrap>.kpis{margin-top:20px}
}
