.fa-solid,.fa-regular,.fa,.fa-brands{display:inline-flex;vertical-align:middle}.fa-solid::before,.fa-regular::before,.fa::before,.fa-brands::before{content:'';display:inline-block;width:1em;height:1em;background:currentColor;vertical-align:-0.125em;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.fa-magnifying-glass::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20d%3D%27M416%20208c0%2045.9-14.9%2088.3-40%20122.7L502.6%20457.4c12.5%2012.5%2012.5%2032.8%200%2045.3s-32.8%2012.5-45.3%200L330.7%20376c-34.4%2025.2-76.8%2040-122.7%2040C93.1%20416%200%20322.9%200%20208S93.1%200%20208%200S416%2093.1%20416%20208zM208%20352a144%20144%200%201%200%200-288%20144%20144%200%201%200%200%20288z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20512%20512%27%3E%3Cpath%20d%3D%27M416%20208c0%2045.9-14.9%2088.3-40%20122.7L502.6%20457.4c12.5%2012.5%2012.5%2032.8%200%2045.3s-32.8%2012.5-45.3%200L330.7%20376c-34.4%2025.2-76.8%2040-122.7%2040C93.1%20416%200%20322.9%200%20208S93.1%200%20208%200S416%2093.1%20416%20208zM208%20352a144%20144%200%201%200%200-288%20144%20144%200%201%200%200%20288z%27%2F%3E%3C%2Fsvg%3E")}.fa-xmark::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20384%20512%27%3E%3Cpath%20d%3D%27M342.6%20150.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L192%20210.7%2086.6%20105.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L146.7%20256%2041.4%20361.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L192%20301.3%20297.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L237.3%20256%20342.6%20150.6z%27%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%20384%20512%27%3E%3Cpath%20d%3D%27M342.6%20150.6c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200L192%20210.7%2086.6%20105.4c-12.5-12.5-32.8-12.5-45.3%200s-12.5%2032.8%200%2045.3L146.7%20256%2041.4%20361.4c-12.5%2012.5-12.5%2032.8%200%2045.3s32.8%2012.5%2045.3%200L192%20301.3%20297.4%20406.6c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L237.3%20256%20342.6%20150.6z%27%2F%3E%3C%2Fsvg%3E")}

/* Import Montserrat Font */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;700&display=swap');

/* Reset and ensure full height */
body, html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-family: 'Montserrat', sans-serif;
  background-color: #050505;
  overflow: hidden; /* Prevents scrollbars */
}

/* 
  The main background container 
*/
.cinematic-background {
  position: relative;
  width: 100vw;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  
  /* Animated dark cinematic gradient */
  background: linear-gradient(-45deg, #000000, #14181c, #090a0f, #000000);
  background-size: 400% 400%;
  animation: bgPan 15s ease infinite;
  
  /* Hides the oversized grain edges */
  overflow: hidden; 
}

/* 
  High-Quality Animated Film Grain 
  We make the container 300% of the screen size and shift it rapidly 
  using transforms to simulate real moving film grain without GPU strain.
*/
.film-grain {
  position: absolute;
  top: -100%;
  left: -100%;
  width: 300%;
  height: 300%;
  /* 
    Higher frequency and octaves for a sharper, 4K-friendly noise.
    Fixed width/height in SVG prevents stretching.
  */
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400"%3E%3Cfilter id="noise"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="4" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noise)"/%3E%3C/svg%3E');
  background-repeat: repeat;
  opacity: 0.06;
  pointer-events: none; /* Allows clicking on the email through the grain */
  z-index: 1;
  animation: filmFlicker 0.4s steps(2) infinite;
}

/* Content wrapper with a smooth cinematic fade-up on load */
.content-wrapper {
  text-align: center;
  z-index: 2; /* Keeps text above the film grain */
  opacity: 0;
  animation: cinematicFadeIn 2.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
  animation-delay: 0.5s; 
}

/* Logo Styling */
.logo {
  display: flex;
  flex-direction: column;
  margin-bottom: 3rem;
}

.logo-main {
  color: #ffffff;
  font-weight: 700;
  font-size: 4.5rem;
  letter-spacing: 15px;
  line-height: 1;
  text-shadow: 0 10px 30px rgba(0, 0, 0, 0.8);
}

.logo-sub {
  color: #a0a5aa;
  font-weight: 300;
  font-size: 1.2rem;
  letter-spacing: 25px;
  margin-top: 0.5rem;
  margin-left: 12px; /* Offsets the letter-spacing to visually center */
}

/* Interactive Email Link Styling */
.email-link {
  color: #e0e0e0;
  font-weight: 400;
  font-size: 1rem;
  letter-spacing: 3px;
  text-decoration: none;
  position: relative;
  padding-bottom: 5px;
  transition: color 0.3s ease;
}

/* The interactive underline that expands on hover */
.email-link::after {
  content: '';
  position: absolute;
  width: 0;
  height: 1px;
  bottom: 0;
  left: 50%;
  background-color: #ffffff;
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  transform: translateX(-50%);
}

.email-link:hover {
  color: #ffffff;
}

.email-link:hover::after {
  width: 100%;
}

/* --- ANIMATIONS --- */

@keyframes bgPan {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes cinematicFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.98);
    filter: blur(5px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

/* 
  Rapidly shifts the oversized grain layer to create a moving, 
  analog film flicker without impacting browser performance.
*/
@keyframes filmFlicker {
  0% { transform: translate(0, 0); }
  20% { transform: translate(-2%, -2%); }
  40% { transform: translate(2%, -3%); }
  60% { transform: translate(-1%, 2%); }
  80% { transform: translate(2%, 1%); }
  100% { transform: translate(-3%, -1%); }
}

/* --- RESPONSIVE DESIGN (Mobiles & Tablets) --- */

@media (max-width: 768px) {
  .logo-main {
    font-size: 2.5rem;
    letter-spacing: 8px;
  }
  
  .logo-sub {
    font-size: 0.8rem;
    letter-spacing: 12px;
    margin-left: 6px;
  }
  
  .email-link {
    font-size: 0.85rem;
    letter-spacing: 1.5px;
  }
}
.comp_0{flex-direction:column;}.comp_1{--wf-gutter-x:0px;flex-direction:row;}.comp_2{flex-direction:column;}.comp_2 > .wa_inner_col{display:flex;flex-direction:inherit;height:100%;}.comp_2 > .wa_inner_col > .wa_inner_col2{display:inherit;flex-direction:inherit;height:100%;justify-content:flex-start;}.comp_3{width:100%;}body{background-color:rgba(255,255,255,1);}.comp_0{display:flex;min-height:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;}.comp_1{display:flex;margin-bottom:0px !important;margin-top:0px !important;}.comp_2{min-height:0px;padding-left:0rem;padding-right:0rem;}.comp_2 > .wa_inner_col{border:none;border-radius:0px;}.comp_2 > .wa_inner_col > .wa_inner_col2{gap:0rem;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;}.comp_3{margin-bottom:0px;margin-top:0px;min-height:100px;}body{background-image:url('');}@media (min-width:992px){.comp_0{display:flex;min-height:0px;padding-bottom:0px;padding-left:0px;padding-right:0px;padding-top:0px;}.comp_1{display:flex;margin-bottom:0px !important;margin-top:0px !important;}.comp_2{min-height:0px;padding-left:0rem;padding-right:0rem;}.comp_2 > .wa_inner_col{border:none;border-radius:0px;}.comp_2 > .wa_inner_col > .wa_inner_col2{gap:0rem;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:0px;}.comp_3{margin-bottom:0px;margin-top:0px;min-height:100px;}body{background-image:url('');}}