/* Módulo arquitetônico Solarium: luz visível, UV e infravermelho. */
.solar-protection-scene {
  position: relative;
  min-height: clamp(650px, 60vw, 860px);
  margin-top: -2px;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background: #f6f5f3;
}
.solar-protection-scene::before {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  right: 0;
  height: clamp(110px, 14vw, 190px);
  pointer-events: none;
  background: linear-gradient(180deg, #f6f5f3 0%, rgba(246,245,243,.72) 12%, rgba(246,245,243,.18) 48%, rgba(246,245,243,0) 100%);
}
.solar-protection-scene__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.solar-protection-scene__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.16) contrast(1.05) brightness(1.08);
  transform: scale(1.012);
  animation: solarArchitectureBreath 15s ease-in-out infinite alternate;
}
.solar-protection-scene__veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle at 72% 12%, rgba(255,206,127,.24) 0%, rgba(255,190,88,.08) 22%, transparent 43%), linear-gradient(90deg, rgba(3,10,17,.83) 0%, rgba(4,12,19,.66) 27%, rgba(6,14,21,.34) 45%, rgba(7,14,20,.07) 68%, transparent 100%), linear-gradient(180deg, transparent 62%, rgba(3,8,12,.10) 100%);
}
.solar-protection-scene__mist {
  position: absolute;
  inset: -8% 34% -12% -14%;
  z-index: 2;
  pointer-events: none;
  opacity: .06;
  background: radial-gradient(ellipse at 24% 52%, rgba(177,213,232,.15), transparent 42%), radial-gradient(ellipse at 56% 44%, rgba(255,191,113,.10), transparent 48%);
  filter: blur(30px);
  animation: solarMistDrift 12s ease-in-out infinite alternate;
}
.solar-protection-scene__content {
  position: relative;
  z-index: 5;
  min-height: clamp(650px, 60vw, 860px);
  display: flex;
  align-items: center;
  padding-top: clamp(95px, 10vw, 145px);
  padding-bottom: 70px;
}
.solar-protection-scene__copy {
  position: relative;
  top: clamp(-160px, -11vw, -120px);
  width: min(650px, 49vw);
  margin-top: -34px;
  text-shadow: 0 4px 24px rgba(0,0,0,.34);
}
.solar-protection-scene__copy .eyebrow {
  color: #ff8131;
  font-size: 11px;
  letter-spacing: .21em;
}
.solar-protection-scene__copy .eyebrow::before { background: #ff8131; }
.solar-protection-scene__copy .headline {
  max-width: 640px;
  margin-top: 20px;
  color: #fff;
  font-size: clamp(45px, 4.45vw, 72px);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.solar-protection-scene__copy p {
  max-width: 590px;
  margin-top: 24px;
  color: rgba(239,244,247,.82);
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.72;
}
.solar-protection-scene__link {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-top: 31px;
  padding: 0 0 9px;
  border-bottom: 1px solid rgba(255,128,43,.72);
  color: #fff;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .17em;
  text-transform: uppercase;
  text-shadow: none;
  transition: color .25s ease, border-color .25s ease, gap .25s ease;
}
.solar-protection-scene__link:hover,
.solar-protection-scene__link:focus-visible {
  gap: 18px;
  color: #ff9a57;
  border-color: #ff7a26;
  outline: none;
}
.solar-spectrum-rays {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
}
.solar-spectrum-ray {
  --ray: #a8efff;
  --ray-rgb: 168,239,255;
  --ray-delay: 0s;
  --ray-angle: 0deg;
  --ray-impact-center: calc(80.55vw - 19px);
  --ray-impact-radius: 12.5px;
  --ray-source-offset: 5vw;
  --ray-impact-x: calc(var(--ray-impact-center) - var(--ray-impact-radius));
  --ray-incoming-width: calc(var(--ray-impact-center) + var(--ray-source-offset));
  position: absolute;
  left: 0;
  width: 100%;
  height: 34px;
  color: var(--ray);
}
.solar-spectrum-ray--visible { top: 60%; --ray: #a8efff; --ray-rgb: 168,239,255; --ray-delay: 0s; --ray-frame-shift: 37px; }
.solar-spectrum-ray--uv { top: 68%; --ray: #bb83ff; --ray-rgb: 187,131,255; --ray-delay: .95s; --ray-impact-radius: 21px; }
.solar-spectrum-ray--ir { top: 76%; --ray: #ff644e; --ray-rgb: 255,100,78; --ray-delay: 1.9s; --ray-impact-radius: 21px; }
.solar-spectrum-ray__incoming,
.solar-spectrum-ray__outgoing {
  position: absolute;
  top: 16px;
  display: block;
  height: 1px;
  transform-origin: left center;
  will-change: transform, opacity;
}
.solar-spectrum-ray__incoming {
  left: -5vw;
  width: var(--ray-incoming-width);
  opacity: 0;
  transform: scaleX(0);
  background: linear-gradient(90deg, transparent 0%, rgba(var(--ray-rgb),.012) 13%, rgba(var(--ray-rgb),.045) 25%, rgba(var(--ray-rgb),.13) 40%, rgba(var(--ray-rgb),.32) 55%, rgba(var(--ray-rgb),.60) 70%, rgba(var(--ray-rgb),.88) 87%, var(--ray) 100%);
  animation: solarRayArrival 7.2s cubic-bezier(.28,.08,.28,1) var(--ray-delay) infinite;
}
.solar-spectrum-ray__incoming::after {
  content: "";
  position: absolute;
  inset: -7px 0;
  background: inherit;
  filter: blur(8px);
  opacity: .52;
}
.solar-spectrum-ray__outgoing {
  left: 74vw;
  width: 30vw;
  opacity: 0;
  transform: rotate(var(--ray-angle)) scaleX(0);
  background: linear-gradient(90deg, var(--ray), rgba(var(--ray-rgb),.42) 34%, transparent 100%);
  box-shadow: 0 0 4px rgba(var(--ray-rgb),.76), 0 0 14px rgba(var(--ray-rgb),.24);
  animation: solarRayResponse 7.2s cubic-bezier(.28,.08,.28,1) var(--ray-delay) infinite;
}
.solar-spectrum-ray--visible .solar-spectrum-ray__outgoing {
  background: linear-gradient(90deg, var(--ray) 0%, rgba(var(--ray-rgb),.76) 13%, rgba(var(--ray-rgb),.46) calc(18.5% + var(--ray-frame-shift)), transparent calc(19% + var(--ray-frame-shift)), transparent calc(25% + var(--ray-frame-shift)), rgba(var(--ray-rgb),.30) calc(25.5% + var(--ray-frame-shift)), rgba(var(--ray-rgb),.19) calc(60% + var(--ray-frame-shift)), rgba(var(--ray-rgb),.16) calc(64% + var(--ray-frame-shift)), transparent calc(64.5% + var(--ray-frame-shift)), transparent calc(70.5% + var(--ray-frame-shift)), rgba(var(--ray-rgb),.13) calc(71% + var(--ray-frame-shift)), rgba(var(--ray-rgb),.08) 87%, transparent 100%);
  box-shadow: none;
}
.solar-spectrum-ray--visible .solar-spectrum-ray__outgoing::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -5px;
  height: 11px;
  background: linear-gradient(90deg, transparent 0%, transparent calc(25% + var(--ray-frame-shift)), rgba(var(--ray-rgb),.18) calc(25.5% + var(--ray-frame-shift)), rgba(var(--ray-rgb),.10) calc(63.5% + var(--ray-frame-shift)), transparent calc(64% + var(--ray-frame-shift)), transparent calc(71% + var(--ray-frame-shift)), rgba(var(--ray-rgb),.08) calc(71.5% + var(--ray-frame-shift)), transparent 100%);
  filter: blur(5px);
  opacity: .72;
}
.solar-spectrum-ray--uv .solar-spectrum-ray__outgoing,
.solar-spectrum-ray--ir .solar-spectrum-ray__outgoing { display: none; }
.solar-spectrum-ray__impact {
  position: absolute;
  left: var(--ray-impact-x);
  top: 5px;
  width: 25px;
  height: 25px;
  border-radius: 50%;
  opacity: 0;
  background: radial-gradient(circle, rgba(255,255,255,.92) 0 4%, rgba(var(--ray-rgb),.70) 12%, rgba(var(--ray-rgb),.22) 36%, transparent 70%);
  filter: blur(.2px);
  box-shadow: 0 0 18px rgba(var(--ray-rgb),.34);
  animation: solarRayImpact 7.2s ease var(--ray-delay) infinite;
}
.solar-spectrum-ray--uv .solar-spectrum-ray__impact,
.solar-spectrum-ray--ir .solar-spectrum-ray__impact {
  top: -5px;
  width: 42px;
  height: 42px;
  background: radial-gradient(circle, rgba(255,255,255,.98) 0 7%, rgba(var(--ray-rgb),.98) 11%, rgba(var(--ray-rgb),.64) 25%, rgba(var(--ray-rgb),.28) 43%, rgba(var(--ray-rgb),.08) 58%, transparent 72%);
  filter: none;
  box-shadow: 0 0 11px rgba(var(--ray-rgb),.82), 0 0 28px rgba(var(--ray-rgb),.54), 0 0 58px rgba(var(--ray-rgb),.30);
  transform-origin: center;
  animation: solarBlockCore 7.2s ease var(--ray-delay) infinite;
}
.solar-spectrum-ray--uv .solar-spectrum-ray__impact::before,
.solar-spectrum-ray--ir .solar-spectrum-ray__impact::before {
  content: "";
  position: absolute;
  inset: -22px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(var(--ray-rgb),.34) 0%, rgba(var(--ray-rgb),.20) 28%, rgba(var(--ray-rgb),.09) 48%, rgba(var(--ray-rgb),.025) 63%, transparent 76%);
  filter: blur(8px);
  opacity: 0;
  transform-origin: center;
  animation: solarBlockFog 7.2s ease-out var(--ray-delay) infinite;
}
.solar-spectrum-ray--uv .solar-spectrum-ray__impact::after,
.solar-spectrum-ray--ir .solar-spectrum-ray__impact::after {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 0 22%, rgba(var(--ray-rgb),.96) 24% 27%, transparent 29% 42%, rgba(var(--ray-rgb),.52) 44% 47%, transparent 49% 62%, rgba(var(--ray-rgb),.24) 64% 67%, transparent 69%);
  filter: drop-shadow(0 0 7px rgba(var(--ray-rgb),.64));
  opacity: 0;
  transform-origin: center;
  animation: solarBlockWave 7.2s cubic-bezier(.18,.72,.24,1) var(--ray-delay) infinite;
}
.solar-spectrum-ray b {
  position: absolute;
  left: 62vw;
  top: -1px;
  opacity: 0;
  color: var(--ray);
  font-size: 9px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
  text-shadow: 0 0 9px rgba(var(--ray-rgb),.58), 0 2px 8px rgba(0,0,0,.68);
  animation: solarRayLabel 7.2s ease var(--ray-delay) infinite;
}
@keyframes solarArchitectureBreath {
  from { transform: scale(1.012) translate3d(0,0,0); }
  to { transform: scale(1.045) translate3d(-.45%,0,0); }
}
@keyframes solarMistDrift {
  from { transform: translate3d(-2%,0,0) scale(1); opacity: .03; }
  to { transform: translate3d(4%,-2%,0) scale(1.08); opacity: .08; }
}
@keyframes solarRayArrival {
  0%, 9% { transform: scaleX(0); opacity: 0; }
  19% { opacity: .18; }
  52%, 82% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(1); opacity: 0; }
}
@keyframes solarRayResponse {
  0%, 52% { transform: rotate(var(--ray-angle)) scaleX(0); opacity: 0; }
  57% { transform: rotate(var(--ray-angle)) scaleX(.18); opacity: .88; }
  60% { transform: rotate(var(--ray-angle)) scaleX(.27); opacity: .70; }
  68%, 82% { transform: rotate(var(--ray-angle)) scaleX(1); opacity: .68; }
  100% { transform: rotate(var(--ray-angle)) scaleX(1); opacity: 0; }
}
@keyframes solarRayImpact {
  0%, 44% { opacity: 0; transform: scale(.35); }
  53% { opacity: .94; transform: scale(1.18); }
  64%, 82% { opacity: .64; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.35); }
}
@keyframes solarBlockCore {
  0%, 45% { opacity: 0; transform: scale(.38); }
  50% { opacity: .78; transform: scale(.78); }
  53% { opacity: 1; transform: scale(1.22); }
  59% { opacity: .38; transform: scale(.92); }
  64% { opacity: .90; transform: scale(1.12); }
  71% { opacity: .30; transform: scale(.94); }
  76% { opacity: .78; transform: scale(1.08); }
  84% { opacity: .24; transform: scale(.98); }
  100% { opacity: 0; transform: scale(1.18); }
}
@keyframes solarBlockFog {
  0%, 47% { opacity: 0; transform: scale(.44); }
  53% { opacity: .94; transform: scale(.90); }
  60% { opacity: .25; transform: scale(1.28); }
  64% { opacity: .78; transform: scale(.96); }
  72% { opacity: .18; transform: scale(1.48); }
  76% { opacity: .64; transform: scale(1.04); }
  88% { opacity: .10; transform: scale(1.68); }
  100% { opacity: 0; transform: scale(1.82); }
}
@keyframes solarBlockWave {
  0%, 49% { opacity: 0; transform: scale(.35); }
  53% { opacity: .92; transform: scale(.72); }
  62% { opacity: 0; transform: scale(1.80); }
  63% { opacity: 0; transform: scale(.58); }
  66% { opacity: .72; transform: scale(.72); }
  75% { opacity: 0; transform: scale(2.05); }
  76% { opacity: 0; transform: scale(.65); }
  79% { opacity: .58; transform: scale(.78); }
  90%, 100% { opacity: 0; transform: scale(2.30); }
}
@keyframes solarRayLabel {
  0%, 25% { opacity: 0; transform: translateX(-12px); }
  45%, 82% { opacity: .94; transform: none; }
  100% { opacity: 0; transform: translateX(8px); }
}
@media (max-width: 1020px) {
  .solar-protection-scene__copy { width: min(600px, 58vw); }
  .solar-protection-scene__copy .headline { font-size: clamp(42px, 5.7vw, 64px); }
  .solar-spectrum-ray b { left: 63vw; }
}
@media (max-width: 760px) {
  .solar-protection-scene { min-height: clamp(780px, 115svh, 840px); scroll-margin-top: 92px; }
  .solar-protection-scene::before { height: 82px; background: linear-gradient(180deg, #f6f5f3 0%, rgba(246,245,243,.62) 16%, rgba(246,245,243,.14) 58%, rgba(246,245,243,0) 100%); }
  .solar-protection-scene__media img { object-position: 62% center; filter: saturate(1.12) contrast(1.04) brightness(1.01); }
  .solar-protection-scene__veil { background: radial-gradient(circle at 74% 14%, rgba(255,204,119,.20), transparent 38%), linear-gradient(180deg, rgba(4,10,16,.02) 0%, rgba(4,10,16,.30) 16%, rgba(4,10,16,.70) 38%, rgba(4,10,16,.55) 60%, rgba(4,10,16,.18) 80%, rgba(4,10,16,.36) 100%), linear-gradient(90deg, rgba(4,10,16,.54), rgba(4,10,16,.06)); }
  .solar-protection-scene__mist { inset: 0 -20% 42% -30%; opacity: .04; }
  .solar-protection-scene__content { min-height: clamp(780px, 115svh, 840px); align-items: flex-start; padding-top: 100px; padding-bottom: 42px; }
  .solar-protection-scene__copy { top: 0; width: 100%; max-width: 560px; margin-top: 0; }
  .solar-protection-scene__copy .headline { max-width: 510px; font-size: clamp(36px, 9.5vw, 48px); line-height: .99; }
  .solar-protection-scene__copy p { max-width: 520px; font-size: 14px; line-height: 1.55; }
  .solar-protection-scene__link { margin-top: 21px; }
  .solar-spectrum-ray { --ray-impact-center: calc(79.10vw - 19px); --ray-source-offset: 8vw; }
  .solar-spectrum-ray--visible { top: 68%; }
  .solar-spectrum-ray--uv { top: 76%; }
  .solar-spectrum-ray--ir { top: 84%; }
  .solar-spectrum-ray__incoming { left: -8vw; width: var(--ray-incoming-width); }
  .solar-spectrum-ray__outgoing { left: 73vw; width: 34vw; }
  .solar-spectrum-ray b { left: 43vw; top: -2px; font-size: 7px; }
}
@media (max-width: 520px) {
  .solar-protection-scene { min-height: clamp(760px, 205vw, 820px); }
  .solar-protection-scene__content { min-height: clamp(760px, 205vw, 820px); padding-top: 96px; padding-bottom: 34px; }
  .solar-protection-scene__copy .eyebrow { font-size: 8.5px; letter-spacing: .15em; }
  .solar-protection-scene__copy .headline { margin-top: 12px; font-size: clamp(34px, 9.4vw, 38px); line-height: .99; letter-spacing: -.048em; }
  .solar-protection-scene__copy p { margin-top: 16px; font-size: 13.5px; line-height: 1.53; }
  .solar-protection-scene__link { margin-top: 18px; font-size: 8.5px; }
  .solar-spectrum-ray--visible { top: 67%; }
  .solar-spectrum-ray--uv { top: 75%; }
  .solar-spectrum-ray--ir { top: 83%; }
  .solar-spectrum-ray b { left: 40vw; font-size: 6.5px; }
}
@media (prefers-reduced-motion: reduce) {
  .solar-protection-scene__media img,
  .solar-protection-scene__mist,
  .solar-spectrum-ray__incoming,
  .solar-spectrum-ray__outgoing,
  .solar-spectrum-ray__impact,
  .solar-spectrum-ray--uv .solar-spectrum-ray__impact::before,
  .solar-spectrum-ray--ir .solar-spectrum-ray__impact::before,
  .solar-spectrum-ray--uv .solar-spectrum-ray__impact::after,
  .solar-spectrum-ray--ir .solar-spectrum-ray__impact::after,
  .solar-spectrum-ray b { animation: none !important; }
  .solar-protection-scene__media img { transform: scale(1.02); }
  .solar-spectrum-ray__incoming { transform: scaleX(1); opacity: .72; }
  .solar-spectrum-ray__outgoing { transform: scaleX(1); opacity: .54; }
  .solar-spectrum-ray__impact { opacity: .48; transform: none; }
  .solar-spectrum-ray b { opacity: .84; transform: none; }
}
