/* Bolt Solar — abertura: imagem da fazenda, raio de sol e convite opcional para a experiência 3D */
.loader { position: fixed; inset: 0; z-index: 200; display: grid; place-items: center; background: #0a2a55; color: #fff; transition: opacity .6s cubic-bezier(.22, .8, .24, 1), visibility .6s; }
.loader.is-done { opacity: 0; visibility: hidden; }
.loader__bolt { width: 54px; height: 54px; fill: #fcb133; filter: drop-shadow(0 0 22px #fcb13399); animation: bolt-pulse 1.2s ease-in-out infinite; }
.loader__n { position: absolute; left: 32px; bottom: 22px; font: 300 clamp(64px, 10vw, 140px)/1 "Manrope", sans-serif; letter-spacing: -4px; font-variant-numeric: tabular-nums; }
@keyframes bolt-pulse { 50% { transform: scale(.92); opacity: .75; } }

.lh { position: relative; padding: 36px 0 20px; background: #fff; }
.lh__top { display: grid; grid-template-columns: 1.3fr 1fr; gap: 12px 60px; align-items: end; margin-bottom: 28px; }
.lh__kicker { grid-column: 1 / -1; margin: 0; font-size: 10px; font-weight: 800; letter-spacing: 1.9px; color: #2b65ac; }
.lh__title { margin: 0; font: 600 clamp(40px, 5vw, 76px)/1.04 "Manrope", sans-serif; letter-spacing: -2.6px; color: #0f2f57; }
.lh__title em { font-style: normal; color: #2b65ac; position: relative; }
.lh__title em::after { content: ""; position: absolute; left: 0; right: 0; bottom: .08em; height: .12em; background: #fcb133; border-radius: 3px; z-index: -1; transform-origin: left; transform: scaleX(0); transition: transform 1s .6s cubic-bezier(.22, .8, .24, 1); }
body.is-loaded .lh__title em::after { transform: scaleX(1); }
.lh__lead { margin: 0; font-size: 16px; line-height: 1.65; color: #57718c; max-width: 440px; justify-self: end; }

.lh__frame { position: relative; }
.lh__view { position: relative; height: clamp(460px, calc(100vh - 300px), 780px); border-radius: 22px; overflow: hidden; background: #cfe0ef; isolation: isolate; box-shadow: 0 30px 80px -40px #0a2a5580; }
.lh__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; transform: scale(1.08); transition: transform 2.4s cubic-bezier(.22, .8, .24, 1), filter 1.2s; filter: saturate(.95) brightness(.97); will-change: transform; }
body.is-loaded .lh__img img { transform: scale(1.02); }
.lh__view::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, #0a2a55cc 0%, #0a2a5566 30%, #0a2a5500 58%), linear-gradient(0deg, #0a2a5533, transparent 30%); }
/* luz do sol entrando pela cena */
.lh__rays { position: absolute; inset: -20%; z-index: 1; pointer-events: none; background: conic-gradient(from 200deg at 88% -10%, transparent 0deg, #ffe7a855 12deg, transparent 22deg, #ffe7a833 30deg, transparent 40deg, #ffe7a844 52deg, transparent 64deg); mix-blend-mode: screen; opacity: 0; transition: opacity 2s 1s; animation: rays 14s ease-in-out infinite alternate; }
body.is-loaded .lh__rays { opacity: 1; }
@keyframes rays { to { transform: rotate(4deg) translateY(2%); } }
/* raio que desce e chama para a experiência */
.lh__beam { position: absolute; z-index: 2; left: 56px; top: 0; width: 2px; height: 0; background: linear-gradient(180deg, #fcb13300, #fcb133 60%, #fff4d6); box-shadow: 0 0 18px 3px #fcb13377; transition: height 1.4s 1.2s cubic-bezier(.65, 0, .35, 1); }
.lh__beam span { position: absolute; left: 50%; bottom: -9px; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%; background: #fff4d6; box-shadow: 0 0 22px 8px #fcb133aa, 0 0 60px 20px #fcb13355; opacity: 0; transition: opacity .4s 2.5s; }
body.is-loaded .lh__beam { height: calc(100% - 290px); }
body.is-loaded .lh__beam span { opacity: 1; }
.lh__invite { position: absolute; z-index: 3; left: 56px; bottom: 56px; max-width: 360px; color: #fff; opacity: 0; transform: translateY(16px); transition: opacity .8s 2.6s, transform .8s 2.6s cubic-bezier(.22, .8, .24, 1); }
body.is-loaded .lh__invite { opacity: 1; transform: none; }
.lh__invite p { margin: 0 0 18px; font: 500 21px/1.4 "Manrope", sans-serif; letter-spacing: -.4px; }
.lh__cta { display: inline-flex; align-items: center; gap: 12px; min-height: 54px; padding: 14px 26px 14px 16px; border: 0; border-radius: 999px; background: #fcb133; color: #0a2a55; font: 700 15px "DM Sans", sans-serif; cursor: pointer; box-shadow: 0 10px 40px -8px #fcb133aa; transition: transform .25s cubic-bezier(.22, .8, .24, 1), box-shadow .25s; }
.lh__cta:hover { transform: translateY(-2px); box-shadow: 0 16px 50px -8px #fcb133cc; }
.lh__orb { width: 26px; height: 26px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #fffbe9, #ffd46b 45%, #f59e0b); box-shadow: 0 0 14px 4px #fff1c299; animation: orb 2.4s ease-in-out infinite; }
@keyframes orb { 50% { box-shadow: 0 0 22px 8px #fff1c2cc; transform: scale(1.08); } }
.lh__skip { display: block; margin-top: 14px; font-size: 13px; color: #d9e7f7; text-decoration: underline; text-underline-offset: 3px; }
.lh__tag { position: absolute; z-index: 3; right: 20px; bottom: 16px; margin: 0; font-size: 10px; letter-spacing: 1.2px; color: #ffffffcc; text-transform: uppercase; }
.lh__marks { display: flex; justify-content: space-between; align-items: center; padding: 14px 4px 0; font: 600 12px "DM Sans", sans-serif; color: #7790a7; }
.lh__scroll { font-size: 10px; letter-spacing: 1.9px; }

/* experiência 3D em sobreposição, aberta pelo convite */
.xp-overlay { position: fixed; inset: 0; z-index: 150; display: grid; place-items: center; padding: 18px; background: #06183399; backdrop-filter: blur(6px); opacity: 0; visibility: hidden; transition: opacity .5s, visibility .5s; }
.xp-overlay.is-open { opacity: 1; visibility: visible; }
.xp-overlay > .experience { width: min(1500px, 100%); max-height: calc(100vh - 36px); margin: 0; overflow: auto; transform: scale(.96); transition: transform .6s cubic-bezier(.22, .8, .24, 1); }
.xp-overlay.is-open > .experience { transform: none; }
.xp-close { margin-left: auto; min-height: 36px; padding: 6px 14px; border: 1px solid #ffffff44; border-radius: 999px; background: transparent; color: #fff; font: 600 12px "DM Sans", sans-serif; cursor: pointer; }
.xp-close:hover { border-color: #fcb133; }
body.xp-open { overflow: hidden; }

@media (max-width: 900px) {
  .lh__top { grid-template-columns: 1fr; }
  .lh__lead { justify-self: start; }
}
@media (max-width: 700px) {
  .lh { padding-top: 22px; }
  .lh__title { font-size: 38px; letter-spacing: -1.6px; }
  .lh__lead { font-size: 15px; }
  .lh__view { height: 78svh; min-height: 520px; border-radius: 16px; }
  .lh__view::after { background: linear-gradient(0deg, #0a2a55e6 0%, #0a2a5588 38%, #0a2a5500 65%); }
  .lh__beam { left: 28px; }
  body.is-loaded .lh__beam { height: calc(100% - 300px); }
  .lh__invite { left: 24px; right: 24px; bottom: 28px; }
  .lh__invite p { font-size: 18px; }
  .xp-overlay { padding: 0; }
  .xp-overlay > .experience { max-height: 100vh; height: 100vh; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .loader { display: none; }
  .lh__img img, .lh__beam, .lh__invite, .lh__rays { transition: none; animation: none; }
}
