/* Fluxo corporativo inspirado na referência, preservando a identidade FrigoExpress. */
.hero {
  height: 720px;
  min-height: 720px;
  background-image: none;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--hero-image);
  background-position: center;
  background-size: cover;
  transform: none;
}
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12,8,9,.04) 0%, rgba(12,8,9,.02) 52%, rgba(12,8,9,.32) 100%);
  pointer-events: none;
}
.hero-shade { display: none; }
.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 385px);
  height: 100%;
  min-height: 0;
  gap: 0;
  padding: 40px 0;
}
.hero-copy-box {
  grid-column: 2;
  justify-self: end;
  width: 100%;
  max-width: 385px;
  padding: 30px 44px 28px 30px;
  border-radius: 28px 118px 118px 28px;
  max-height: 650px;
  overflow-y: auto;
  scrollbar-width: none;
}
.hero-copy-box::-webkit-scrollbar { display: none; }
.hero-copy-box-long { padding-top: 24px; padding-bottom: 24px; }
.hero-copy-box-long .hero h1,
.hero-copy-box-long h1 { font-size: clamp(32px, 2.55vw, 42px); margin-top: 12px; margin-bottom: 12px; }
.hero-copy-box-long .hero-actions { margin-top: 15px; margin-bottom: 12px; }
.hero h1 { max-width: 315px; font-size: clamp(38px, 3.15vw, 50px); line-height: .92; }
.hero-copy > p { max-width: 310px; font-size: 13px; line-height: 1.45; }
.hero .btn { min-height: 40px; padding: 10px 13px; font-size: 11px; }
.hero-region { font-size: 9px; }

.business-audience-tag { margin-top: 22px; }
.commercial-conditions .benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.commercial-conditions .benefit-grid article {
  min-height: 170px;
  padding: 26px 22px;
  background: #fff;
  border: 1px solid #e8ded5;
  border-radius: 18px;
  align-items: flex-start;
  color: #231f20;
}
.commercial-conditions .benefit-grid i {
  border: 0;
  border-radius: 14px;
  background: #fdd650;
  color: #990000;
}
.commercial-conditions .benefit-grid i { position: relative; overflow: visible; border-radius: 18px 18px 18px 5px; background: linear-gradient(145deg,#fff2ad,#fdd650); box-shadow: 0 9px 20px rgba(153,0,0,.13); }
.commercial-conditions .benefit-grid i::after { content: ''; position: absolute; width: 13px; height: 13px; right: -5px; top: -5px; border-radius: 50%; background: #990000; border: 3px solid #fff; }
.commercial-conditions .benefit-grid i svg { width: 29px; height: 29px; fill: none; stroke: #990000; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.commercial-conditions .benefit-grid article:hover i { transform: translateY(-3px) rotate(-2deg); box-shadow: 0 13px 25px rgba(153,0,0,.19); }
.kit-carousel-track { grid-auto-columns: calc((100% - 48px) / 3) !important; }
.carousel-arrows-bottom { justify-content: center; margin-top: 14px; }
.kit-slide {
  border: 2px solid #e4d3c0 !important;
  border-radius: 30px 30px 30px 5px !important;
  box-shadow: 0 0 0 5px rgba(253,214,80,.2), 0 18px 42px rgba(35,31,32,.1) !important;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.kit-slide:hover {
  border-color: #990000 !important;
  transform: translateY(-5px);
  box-shadow: 0 0 0 5px rgba(253,214,80,.32), 0 24px 52px rgba(35,31,32,.16) !important;
}
.kit-slide .kit-image { border-bottom: 4px solid #fdd650; }

.custom-section.custom-section-v3 { display: block; padding: 76px 0; background: #fff; color: #231f20; overflow: hidden; }
.custom-clean-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(42px, 6vw, 84px); }
.custom-orbit { position: relative; isolation: isolate; width: min(100%, 410px); min-height: 410px; display: grid; place-items: center; border-radius: 45% 55% 48% 52% / 52% 45% 55% 48%; background: radial-gradient(circle at 28% 24%, rgba(255,255,255,.1) 0 2px, transparent 3px) 0 0/22px 22px, linear-gradient(145deg, #b90000, #800000); box-shadow: 0 28px 66px rgba(153,0,0,.28); }
.custom-orbit::before { content: ''; position: absolute; z-index: -1; inset: 16px; border: 2px solid rgba(253,214,80,.68); border-radius: inherit; }
.custom-orbit::after { content: ''; position: absolute; z-index: 1; width: 132px; height: 132px; right: -24px; bottom: -14px; border-radius: 50%; background: #fdd650; opacity: .88; }
.custom-orbit-copy { position: relative; z-index: 3; width: 100%; max-width: 350px; padding: 48px 46px; color: #fff; }
.custom-orbit-copy span { display: block; max-width: 290px; margin-bottom: 18px; color: #fdd650; font-family: 'Barlow Condensed', sans-serif; font-size: clamp(25px, 2.2vw, 32px); font-weight: 800; line-height: 1.05; letter-spacing: -.01em; text-transform: none; }
.custom-orbit-copy strong { display: block; max-width: 285px; font-size: clamp(15px, 1.2vw, 18px); font-weight: 600; line-height: 1.5; }
.custom-orbit-accent { position: absolute; display: block; border-radius: 50%; background: #fdd650; box-shadow: 0 10px 24px rgba(35,31,32,.14); }
.custom-orbit-accent.accent-one { width: 28px; height: 28px; right: 13%; top: 10%; background: rgba(255,255,255,.92); }
.custom-orbit-accent.accent-two { width: 22px; height: 22px; left: 8%; bottom: 14%; background: #fff; border: 5px solid #fdd650; }
.custom-star-art { position: absolute; z-index: 4; width: 88px; height: 88px; right: -23px; top: -29px; background: #fdd650; clip-path: polygon(50% 0,61% 34%,98% 36%,68% 57%,78% 94%,50% 72%,20% 94%,31% 57%,2% 36%,39% 34%); filter: drop-shadow(0 12px 16px rgba(35,31,32,.2)); transform: rotate(9deg); }
.custom-star-art::after { content: ''; position: absolute; inset: 17px; background: #fff9e8; clip-path: inherit; }
.custom-gift-art { position: absolute; z-index: 5; left: -28px; bottom: -24px; width: 92px; height: 74px; border-radius: 12px 12px 18px 18px; background: linear-gradient(145deg,#fff,#f4eee8); box-shadow: 0 16px 28px rgba(35,31,32,.24); transform: rotate(-7deg); }
.custom-gift-art::before { content: ''; position: absolute; left: -5px; right: -5px; top: -10px; height: 20px; border-radius: 8px; background: #fff; box-shadow: 0 4px 9px rgba(35,31,32,.12); }
.custom-gift-art::after { content: ''; position: absolute; top: -15px; bottom: 0; left: 36px; width: 20px; background: linear-gradient(90deg,#efb900,#fdd650,#efb900); }
.custom-gift-art i,.custom-gift-art b { position: absolute; z-index: 2; width: 30px; height: 20px; top: -28px; border: 7px solid #f2bd17; background: transparent; }
.custom-gift-art i { left: 18px; border-radius: 70% 15% 65% 20%; transform: rotate(25deg); }
.custom-gift-art b { right: 18px; border-radius: 15% 70% 20% 65%; transform: rotate(-25deg); }
.custom-orbit.has-image { aspect-ratio: 1; min-height: 0; overflow: hidden; border-radius: 28px; background: #f5f1ed; box-shadow: 0 24px 54px rgba(35,31,32,.18); }
.custom-orbit.has-image::before,.custom-orbit.has-image::after { display: none; }
.custom-orbit-image { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.custom-orbit.has-image .custom-orbit-copy { align-self: stretch; max-width: none; padding: 118px 76px 92px 78px; }
.custom-orbit.has-image .custom-orbit-copy span { max-width: 250px; margin-bottom: 12px; color: #fff; font-size: clamp(20px,1.8vw,24px); line-height: 1.08; text-shadow: 0 2px 8px rgba(60,0,0,.22); }
.custom-orbit.has-image .custom-orbit-copy strong { max-width: 245px; color: #fff; font-size: clamp(12px,1vw,14px); line-height: 1.42; text-shadow: 0 2px 7px rgba(60,0,0,.2); }
.custom-clean-copy .eyebrow, .kit-carousel-heading .eyebrow, .vale-copy .eyebrow { color: #990000; font-size: 16px; font-weight: 900; letter-spacing: .14em; }
.custom-clean-copy h2 { margin: 12px 0 14px; max-width: 610px; color: #231f20; font-family: 'Oswald', sans-serif; font-size: clamp(36px, 4vw, 52px); line-height: 1.02; text-transform: uppercase; }
.custom-clean-copy .custom-intro { max-width: 650px; margin: 0 0 24px; color: #665e5b; font-size: 15px; line-height: 1.6; }
.custom-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px 24px; margin: 0 0 28px; padding: 22px 0; border-top: 1px solid #e8dfd9; border-bottom: 1px solid #e8dfd9; list-style: none; }
.custom-category-grid li { display: flex; align-items: center; gap: 10px; min-width: 0; color: #231f20; font-size: 14px; font-weight: 800; }
.custom-category-grid svg { flex: 0 0 31px; width: 31px; height: 31px; fill: none; stroke: #c53a00; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.custom-category-grid use { fill: none; }
.club-copy .club-logo { display: block; width: 138px; height: auto; margin: 0 0 24px; }
.club-copy .club-logo + .eyebrow { vertical-align: middle; }
.club-grid { align-items: center; }
.club-copy { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.club-copy .club-logo { margin-left: auto; margin-right: auto; }
.club-copy .eyebrow { justify-content: center; }
.club-copy h2, .club-copy > p { max-width: 590px; }
.club-copy .club-features { width: 100%; max-width: 590px; text-align: left; }
.club-copy .btn { align-self: center; }
.vale-section-v2 .vale-visual { min-height: 410px; border-radius: 28px 28px 28px 6px; }
.vale-section-v2 .vale-visual img { width: 82%; max-width: 520px; height: auto; transform: none; object-fit: contain; filter: drop-shadow(0 18px 26px rgba(35,31,32,.16)); }
.custom-clean-features { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 24px; margin-bottom: 26px; border-top: 1px solid #e8dfd9; }
.custom-clean-features article { display: flex; gap: 12px; padding: 16px 0; border-bottom: 1px solid #e8dfd9; }
.custom-clean-features article > span { flex: 0 0 32px; height: 32px; display: grid; place-items: center; border-radius: 10px 10px 10px 3px; background: #fdd650; color: #990000; font-size: 12px; font-weight: 900; }
.custom-clean-features h3 { margin: 1px 0 5px; color: #231f20; font-size: 16px; }
.custom-clean-features p { margin: 0; color: #756b67; font-size: 13px; line-height: 1.45; }

@media (max-width: 980px) {
  .top-notice { height: auto; min-height: 54px; padding: 8px 20px; flex-direction: column; justify-content: center; gap: 4px; text-align: center; }
  .top-contacts { justify-content: center; flex-wrap: wrap; gap: 4px 18px; }
  .top-contacts a { white-space: nowrap; }
  .top-contacts a + a { padding-left: 18px; }
  .hero { height: 720px; min-height: 720px; }
  .hero-grid { grid-template-columns: 1fr; padding: 36px 0; }
  .hero-copy-box { grid-column: 1; justify-self: end; }
  .custom-clean-grid { grid-template-columns: 1fr; }
  .custom-section.custom-section-v3 { padding: 64px 0; }
  .custom-orbit { width: min(76vw, 390px); margin: 12px auto; }
  .custom-clean-grid { gap: 38px; }
  .club-section { padding: 76px 0; }
  .club-grid { gap: 46px; }
  .club-visual img { height: auto; max-height: 620px; object-fit: contain; }
  .commercial-conditions .benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kit-carousel-track { grid-auto-columns: calc((100% - 24px) / 2) !important; }
}
@media (max-width: 640px) {
  .top-notice { min-height: 74px; padding: 8px 12px; }
  .top-contacts { flex-direction: column; gap: 1px; }
  .top-contacts a + a { padding-left: 0; border-left: 0; }
  .hero { height: 680px; min-height: 680px; }
  .hero-copy-box { max-height: 620px; }
  .hero-copy-box { max-width: 94%; padding: 24px; border-radius: 24px 70px 70px 24px; }
  .custom-section.custom-section-v3 { padding: 48px 0; }
  .custom-clean-grid { gap: 30px; }
  .custom-orbit-copy { padding: 36px; }
  .custom-star-art { width: 68px; height: 68px; right: -10px; top: -18px; }
  .custom-gift-art { left: -5px; bottom: -18px; transform: rotate(-4deg) scale(.86); }
  .custom-orbit.has-image .custom-orbit-copy { padding: 30% 18% 23% 19%; }
  .custom-clean-features { grid-template-columns: 1fr; }
  .custom-category-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .custom-category-grid { gap: 12px 14px; padding: 18px 0; }
  .custom-category-grid li { gap: 8px; font-size: 13px; }
  .custom-category-grid svg { flex-basis: 27px; width: 27px; height: 27px; }
  .vale-section-v2 .vale-visual { min-height: 300px; }
  .vale-section-v2 .vale-visual img { width: 92%; }
  .club-copy .club-logo { width: 122px; margin-bottom: 18px; }
  .club-section { padding: 58px 0; }
  .club-grid { gap: 32px; }
  .club-copy h2 { font-size: 42px; }
  .club-visual { padding: 16px; }
  .club-visual img { height: auto; max-height: none; object-fit: contain; }
  .commercial-conditions .benefit-grid { grid-template-columns: 1fr; }
  .kit-carousel-track { grid-auto-columns: 86% !important; }
  .commercial-conditions .benefit-grid article { min-height: 0; }
}
