/* ==========================================================================
   Fortune Group — laser-cut reveal for section headings (all pages)
   A red cutting head sweeps across the heading; the words appear behind it
   glowing red-hot, then cool to their normal colour.
   ========================================================================== */
@property --hcut { syntax: "<percentage>"; inherits: true; initial-value: 0%; }

.gf-hcut__wrap { position: relative; display: inline-block; isolation: isolate; max-width: 100%; }
.gf-hcut__text { display: inline-block; clip-path: inset(-14% calc(100% - var(--hcut)) -14% 0); }
.gf-hcut.is-cut .gf-hcut__wrap { --hcut: 100%; transition: --hcut 1.8s cubic-bezier(0.5, 0.05, 0.3, 1) 0.1s; }

/* red-hot band just behind the laser ("lighten" only tints the dark letters) */
.gf-hcut__heat {
  position: absolute; top: -6%; bottom: -6%;
  left: calc(var(--hcut) - 24%); width: 24%;
  background: linear-gradient(90deg, rgba(255, 40, 20, 0) 0%, rgba(255, 50, 25, 0.75) 70%, rgba(255, 210, 190, 1) 100%);
  mix-blend-mode: lighten;
  opacity: 0; pointer-events: none;
}
.gf-hcut--light .gf-hcut__heat { display: none; } /* white headings on dark sections */
.gf-hcut__laser {
  position: absolute; top: -14%; bottom: -14%;
  left: var(--hcut); width: 2px; margin-left: -1px;
  background: linear-gradient(180deg, rgba(255, 59, 47, 0), #ff3b2f 14%, #fff 50%, #d90a0a 86%, rgba(217, 10, 10, 0));
  box-shadow: 0 0 10px 2px rgba(255, 40, 20, 0.6), 0 0 34px 8px rgba(217, 10, 10, 0.25);
  opacity: 0; pointer-events: none;
}
.gf-hcut__laser i {
  position: absolute; left: 0; top: 50%;
  width: 3px; height: 3px; border-radius: 50%;
  background: #ff5a3c; box-shadow: 0 0 6px #ff3b2f; opacity: 0;
}
.gf-hcut.is-cut .gf-hcut__laser { animation: gf-hcut-show 1.8s linear 0.1s both; }
.gf-hcut.is-cut .gf-hcut__heat { animation: gf-hcut-heat 2.4s ease-out 0.1s both; }
.gf-hcut.is-cut .gf-hcut__laser i { animation: gf-hcut-spark 0.5s ease-out 4; }
.gf-hcut__laser i:nth-child(1) { --sx: -26px; --sy: -18px; animation-delay: 0.2s !important; }
.gf-hcut__laser i:nth-child(2) { --sx: -34px; --sy: 10px; animation-delay: 0.35s !important; }
.gf-hcut__laser i:nth-child(3) { --sx: -18px; --sy: 26px; animation-delay: 0.5s !important; }
.gf-hcut__laser i:nth-child(4) { --sx: -40px; --sy: -4px; animation-delay: 0.65s !important; }
@keyframes gf-hcut-show { 0% { opacity: 0; } 5% { opacity: 1; } 94% { opacity: 1; } 100% { opacity: 0; } }
@keyframes gf-hcut-heat { 0% { opacity: 0; } 8% { opacity: 1; } 75% { opacity: 1; } 100% { opacity: 0; } }
@keyframes gf-hcut-spark { 0% { opacity: 1; transform: translate(0, 0); } 100% { opacity: 0; transform: translate(var(--sx), var(--sy)); } }

/* red emphasis words inside headings get the brand red gradient */
.gf-hcut .gf-hcut__grad {
  background: linear-gradient(100deg, #ff3b2f 0%, #d90a0a 45%, #7e0606 100%);
  -webkit-background-clip: text; background-clip: text;
  color: transparent !important; -webkit-text-fill-color: transparent;
}

@media (prefers-reduced-motion: reduce) {
  .gf-hcut__text { clip-path: none !important; }
  .gf-hcut__heat, .gf-hcut__laser { display: none !important; }
}
