:root {
  --green-950: #04120d;
  --green-900: #071c13;
  --green-800: #0b2d1d;
  --green-700: #12452c;
  --olive: #506631;
  --olive-light: #6f8748;
  --gold: #c08b23;
  --gold-light: #e0b54f;
  --cream: #f7f4ea;
  --white: #ffffff;
  --text: #26312b;
  --muted: #6c756f;
  --border: rgba(16, 57, 37, .13);
  --shadow: 0 18px 55px rgba(4, 25, 16, .12);
}

html { scroll-behavior: smooth; }
body {
  font-family: "Montserrat", sans-serif;
  color: var(--text);
  background: var(--white);
  overflow-x: hidden;
}

h1, h2, h3, .brand-text { letter-spacing: -.03em; }
a { text-decoration: none; }
.section-padding { padding: 105px 0; }
.bg-light-soft { background: linear-gradient(180deg, #fff 0%, var(--cream) 100%); }

.navbar-custom {
  padding: 13px 0;
  background: rgba(4, 18, 13, .72);
  backdrop-filter: blur(15px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  transition: .3s ease;
}
.navbar-custom.scrolled { background: rgba(4, 18, 13, .96); box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.brand-logo { width: 48px; height: 48px; object-fit: contain; }
.brand-text { color: #fff; font-size: 1rem; letter-spacing: .04em; }
.brand-text strong { color: var(--gold-light); }
.navbar-nav .nav-link { color: rgba(255,255,255,.8); font-weight: 600; font-size: .92rem; padding: .65rem .85rem !important; }
.navbar-nav .nav-link:hover, .navbar-nav .nav-link.active { color: var(--gold-light); }

.btn { border-radius: 12px; font-weight: 700; transition: .25s ease; }
.btn-gold {
  color: #132016;
  border: 1px solid var(--gold-light);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  box-shadow: 0 12px 26px rgba(192,139,35,.2);
}
.btn-gold:hover { color: #132016; transform: translateY(-2px); box-shadow: 0 16px 32px rgba(192,139,35,.3); }
.btn-dark-green { color:#fff; background: var(--green-800); border-color: var(--green-800); padding: .85rem 1.3rem; }
.btn-dark-green:hover { color:#fff; background: var(--green-700); transform: translateY(-2px); }

.hero-section {
  min-height: 100vh;
  position: relative;
  padding: 135px 0 80px;
  color: #fff;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 28%, rgba(192,139,35,.20), transparent 22%),
    radial-gradient(circle at 15% 75%, rgba(80,102,49,.24), transparent 28%),
    linear-gradient(125deg, #020a07 0%, #071c13 48%, #0a2b1a 100%);
}
.hero-section::before {
  content:""; position:absolute; inset:0;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 50px 50px;
  mask-image: linear-gradient(to bottom, #000, transparent 85%);
}
.hero-overlay { position:absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.15), transparent); }
.eyebrow, .section-kicker {
  display: inline-flex; align-items:center; gap:.5rem;
  color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-weight: 800; font-size: .76rem;
}
.eyebrow { color: var(--gold-light); background: rgba(192,139,35,.1); border:1px solid rgba(224,181,79,.22); padding:.65rem .9rem; border-radius:999px; }
.hero-title { font-family:"Playfair Display", serif; font-size: clamp(2.7rem, 5.5vw, 5.25rem); line-height:1.02; max-width:900px; }
.hero-text { font-size:1.12rem; line-height:1.8; color:rgba(255,255,255,.7); max-width:710px; }
.hero-badges { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; color:rgba(255,255,255,.82); font-size:.88rem; font-weight:600; }
.hero-badges i { color:var(--gold-light); margin-right:.35rem; }
.hero-logo-card {
  width:min(460px, 92vw); aspect-ratio:1; position:relative; display:grid; place-items:center; border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.07), rgba(255,255,255,.015) 65%);
  border:1px solid rgba(255,255,255,.09);
}
.hero-logo-card::before, .hero-logo-card::after { content:""; position:absolute; border-radius:50%; border:1px solid rgba(224,181,79,.18); }
.hero-logo-card::before { inset:6%; }
.hero-logo-card::after { inset:14%; border-color:rgba(80,102,49,.35); }
.hero-logo { width:75%; position:relative; z-index:2; filter:drop-shadow(0 25px 35px rgba(0,0,0,.45)); }
.glow { position:absolute; width:55%; height:55%; border-radius:50%; background:rgba(192,139,35,.12); filter:blur(55px); }
.scroll-indicator { position:absolute; bottom:25px; left:50%; color:#fff; font-size:1.4rem; animation:bounce 1.7s infinite; }
@keyframes bounce { 0%,100%{transform:translate(-50%,0)} 50%{transform:translate(-50%,9px)} }

.section-heading { max-width:760px; }
.section-title { font-family:"Playfair Display", serif; color:var(--green-900); font-size:clamp(2.15rem,4vw,3.5rem); line-height:1.15; margin:.8rem 0 1.2rem; }
.section-text { color:var(--muted); line-height:1.85; font-size:1.02rem; }
.about-visual { position:relative; min-height:460px; display:grid; place-items:center; }
.about-shape { position:absolute; width:390px; height:390px; max-width:92%; border-radius:45% 55% 63% 37% / 38% 42% 58% 62%; background:linear-gradient(145deg,var(--green-900),var(--olive)); transform:rotate(-6deg); }
.about-panel { position:relative; z-index:2; width:min(390px,88%); color:#fff; background:rgba(4,18,13,.9); border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:2.2rem; box-shadow:var(--shadow); }
.about-panel h3 { font-family:"Playfair Display",serif; font-size:2rem; margin:1.3rem 0 .8rem; }
.about-panel p { color:rgba(255,255,255,.68); line-height:1.7; }
.panel-icon { width:65px; height:65px; display:grid; place-items:center; border-radius:18px; background:linear-gradient(135deg,var(--gold-light),var(--gold)); color:var(--green-950); font-size:1.8rem; }
.experience-card { position:absolute; z-index:3; right:1%; bottom:8%; width:180px; background:#fff; border-radius:18px; padding:1.2rem; box-shadow:var(--shadow); border-left:5px solid var(--gold); }
.experience-card strong { display:block; color:var(--green-800); font-size:1.7rem; }
.experience-card span { color:var(--muted); font-size:.8rem; }
.mini-feature { display:flex; gap:.9rem; padding:1rem; border:1px solid var(--border); border-radius:15px; background:#fff; }
.mini-feature i { color:var(--gold); font-size:1.5rem; }
.mini-feature strong, .mini-feature span { display:block; }
.mini-feature span { color:var(--muted); font-size:.8rem; margin-top:.2rem; }

.services-section { position:relative; background:linear-gradient(140deg,var(--green-950),var(--green-800)); overflow:hidden; }
.services-section::before { content:""; position:absolute; width:500px; height:500px; border-radius:50%; background:rgba(192,139,35,.08); filter:blur(10px); right:-250px; top:-180px; }
.service-card { position:relative; overflow:hidden; padding:2rem; border-radius:22px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.1); color:#fff; transition:.3s ease; }
.service-card:hover { transform:translateY(-8px); border-color:rgba(224,181,79,.45); background:rgba(255,255,255,.08); }
.service-number { position:absolute; right:1.2rem; top:.8rem; font-size:3.8rem; font-weight:800; color:rgba(255,255,255,.035); }
.service-icon { width:62px; height:62px; display:grid; place-items:center; border-radius:16px; color:var(--gold-light); background:rgba(192,139,35,.12); border:1px solid rgba(224,181,79,.2); font-size:1.7rem; }
.service-card h3 { font-size:1.25rem; margin:1.5rem 0 .8rem; }
.service-card p { color:rgba(255,255,255,.62); line-height:1.75; }
.service-card a { color:var(--gold-light); font-weight:700; font-size:.88rem; }
.featured-service { background:linear-gradient(145deg,rgba(192,139,35,.24),rgba(80,102,49,.2)); border-color:rgba(224,181,79,.36); }

.feature-card { position:relative; padding:1.8rem; border:1px solid var(--border); border-radius:20px; background:#fff; box-shadow:0 12px 35px rgba(4,25,16,.07); transition:.25s ease; }
.feature-card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.feature-card > span { position:absolute; top:1rem; right:1.2rem; font-size:2.4rem; font-weight:800; color:rgba(80,102,49,.08); }
.feature-card i { color:var(--gold); font-size:2rem; }
.feature-card h3 { margin:1rem 0 .6rem; font-size:1.18rem; color:var(--green-900); }
.feature-card p { margin:0; color:var(--muted); line-height:1.7; font-size:.91rem; }

.cta-section { background:linear-gradient(180deg,#fff 0%,var(--cream) 100%); padding-bottom:105px; }
.cta-box { display:flex; align-items:center; justify-content:space-between; gap:2rem; color:#fff; padding:3rem; border-radius:26px; background:linear-gradient(130deg,var(--green-900),var(--green-700)); box-shadow:var(--shadow); }
.cta-box h2 { font-family:"Playfair Display",serif; font-size:clamp(2rem,3.5vw,3rem); margin:.7rem 0; }
.cta-box p { margin:0; color:rgba(255,255,255,.65); }
.text-gold { color:var(--gold-light)!important; }

.contact-section { background:var(--green-950); }
.contact-list { display:flex; flex-direction:column; gap:.8rem; }
.contact-list a,.contact-item { display:flex; align-items:center; gap:1rem; color:#fff; padding:1rem; border:1px solid rgba(255,255,255,.09); border-radius:15px; background:rgba(255,255,255,.03); }
.contact-list a:hover { border-color:rgba(224,181,79,.4); }
.contact-list > * > span { width:48px; height:48px; display:grid; place-items:center; color:var(--gold-light); background:rgba(192,139,35,.12); border-radius:13px; font-size:1.25rem; }
.contact-list small,.contact-list strong { display:block; }
.contact-list small { color:rgba(255,255,255,.48); margin-bottom:.1rem; }
.contact-form-card { background:#fff; padding:2.2rem; border-radius:24px; box-shadow:0 25px 70px rgba(0,0,0,.22); }
.form-label { font-weight:700; font-size:.87rem; color:var(--green-900); }
.form-control,.form-select { border-radius:11px; padding:.85rem 1rem; border-color:#d9dfda; }
.form-control:focus,.form-select:focus { border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(192,139,35,.13); }
.form-note { color:var(--muted); font-size:.78rem; text-align:center; }

.footer { color:rgba(255,255,255,.58); background:#020806; padding:28px 0; border-top:1px solid rgba(255,255,255,.06); }
.footer-brand { display:flex; align-items:center; gap:.7rem; color:#fff; font-weight:800; }
.footer-brand img { width:48px; height:48px; }
.social-links { display:flex; justify-content:center; gap:.55rem; }
@media(min-width:768px){.social-links{justify-content:flex-end}}
.social-links a { width:38px; height:38px; display:grid; place-items:center; color:#fff; border-radius:50%; background:rgba(255,255,255,.07); }
.social-links a:hover { background:var(--gold); color:var(--green-950); }

.whatsapp-float,.back-to-top { position:fixed; z-index:999; right:20px; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; border:none; color:#fff; box-shadow:0 10px 25px rgba(0,0,0,.25); }
.whatsapp-float { bottom:20px; background:#25d366; font-size:1.55rem; }
.whatsapp-float:hover { color:#fff; transform:scale(1.06); }
.back-to-top { bottom:84px; background:var(--gold); color:var(--green-950); opacity:0; visibility:hidden; transform:translateY(10px); transition:.25s; }
.back-to-top.show { opacity:1; visibility:visible; transform:translateY(0); }

@media(max-width:991.98px){
  .navbar-collapse { margin-top:12px; padding:1rem; background:rgba(4,18,13,.98); border-radius:14px; }
  .hero-section { text-align:center; }
  .hero-text { margin-left:auto; margin-right:auto; }
  .hero-badges { justify-content:center; }
  .cta-box { flex-direction:column; align-items:flex-start; }
}
@media(max-width:767.98px){
  .section-padding { padding:78px 0; }
  .hero-section { padding-top:125px; }
  .hero-title { font-size:2.7rem; }
  .about-visual { min-height:410px; }
  .about-shape { width:320px; height:320px; }
  .experience-card { right:0; bottom:2%; }
  .cta-section { padding-bottom:78px; }
  .cta-box,.contact-form-card { padding:1.5rem; }
}
@media(max-width:480px){
  .brand-text { display:none; }
  .hero-badges { flex-direction:column; gap:.7rem; }
  .experience-card { width:155px; }
}

/* Seção de avaliação de frigoríficos */
.evaluation-section {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 20%, rgba(192,139,35,.16), transparent 24%),
    linear-gradient(140deg, var(--green-950), var(--green-800));
}
.evaluation-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
.evaluation-section .container { position: relative; }
.evaluation-steps { display: flex; flex-direction: column; gap: 1rem; }
.evaluation-steps > div {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 15px;
  background: rgba(255,255,255,.035);
}
.evaluation-steps > div > span {
  flex: 0 0 45px;
  width: 45px;
  height: 45px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--green-950);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  font-weight: 800;
}
.evaluation-steps p, .evaluation-steps strong, .evaluation-steps small { display: block; margin: 0; }
.evaluation-steps strong { color: #fff; }
.evaluation-steps small { color: rgba(255,255,255,.55); margin-top: .2rem; }
.evaluation-card {
  padding: 2.5rem;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 25px 70px rgba(0,0,0,.28);
}
.evaluation-icon {
  width: 82px;
  height: 82px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  color: var(--green-950);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  font-size: 2.3rem;
}
.evaluation-card h3 {
  font-family: "Playfair Display", serif;
  color: var(--green-900);
  font-size: 2rem;
  margin: 1.5rem 0 .8rem;
}
.evaluation-card p { color: var(--muted); line-height: 1.75; margin-bottom: 1.5rem; }
.evaluation-card small { display: block; color: var(--muted); margin-top: 1rem; }
