.elementor-2403 .elementor-element.elementor-element-4cd60fe{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2403 .elementor-element.elementor-element-d5b3b05{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--z-index:2;}.elementor-2403 .elementor-element.elementor-element-70a6eb6{--display:flex;--overlay-opacity:0.7;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2403 .elementor-element.elementor-element-70a6eb6::before, .elementor-2403 .elementor-element.elementor-element-70a6eb6 > .elementor-background-video-container::before, .elementor-2403 .elementor-element.elementor-element-70a6eb6 > .e-con-inner > .elementor-background-video-container::before, .elementor-2403 .elementor-element.elementor-element-70a6eb6 > .elementor-background-slideshow::before, .elementor-2403 .elementor-element.elementor-element-70a6eb6 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2403 .elementor-element.elementor-element-70a6eb6 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-2403 .elementor-element.elementor-element-043f7a4{--display:grid;--min-height:100vh;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2403 .elementor-element.elementor-element-8d1f05b{--display:flex;--min-height:50vh;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2403 .elementor-element.elementor-element-369c5d7{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2403 .elementor-element.elementor-element-a7049d3{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2403 .elementor-element.elementor-element-9ace986{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1024px){.elementor-2403 .elementor-element.elementor-element-043f7a4{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-2403 .elementor-element.elementor-element-d5b3b05.e-con{--align-self:center;}.elementor-2403 .elementor-element.elementor-element-043f7a4{--min-height:95vh;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--gap:0px 0px;--row-gap:0px;--column-gap:0px;--grid-auto-flow:row;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2403 .elementor-element.elementor-element-369c5d7{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2403 .elementor-element.elementor-element-099ed76{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-85b34a4 *//* ===== Base button (shared) ===== */
.btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;                 /* 2×4 */
  padding: 12px 24px;       /* 3×4, 6×4 */
  min-height: 48px;         /* 12×4 touch target */
  border-radius: 12px;      /* 3×4 */
  font-size: 16px;          /* 4×4 */
  line-height: 24px;        /* 6×4 */
  text-decoration: none;
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease;
  will-change: transform, box-shadow;
  position: relative;
}
.btn:focus-visible{
  outline: 4px solid rgba(255,255,255,0.6); /* 1×4 */
  outline-offset: 4px;                      /* 1×4 */
}

/* Slight lift on hover */
.btn:hover{ transform: translateY(-4px); }  /* 1×4 *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d5b3b05 *//* Soft Fill Minimal — no vertical movement on hover */
.theme-softfill-min{
    position:relative;
    top:80vh;
}
.elementor-2403 .elementor-element.elementor-element-d5b3b05.theme-softfill-min .btn--glass{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 24px; min-height:48px; border-radius:12px;
  font-size:16px; line-height:24px; text-decoration:none;
  color:#fff;
  background: rgba(8,8,12,0.32);
  border:0;
  backdrop-filter: blur(4px) saturate(140%);
  box-shadow: 0 4px 16px rgba(0,0,0,0.20);
  transition: background 200ms ease, box-shadow 200ms ease;
  transform: none !important; /* ensure no lift */
}
.elementor-2403 .elementor-element.elementor-element-d5b3b05.theme-softfill-min .btn--glass:hover{
  background: rgba(8,8,12,0.40);
  box-shadow: 0 8px 24px rgba(0,0,0,0.24);
  transform: none !important;
}
.elementor-2403 .elementor-element.elementor-element-d5b3b05.theme-softfill-min .btn--glass:active{
  background: rgba(8,8,12,0.44);
  box-shadow: 0 4px 16px rgba(0,0,0,0.24) inset, 0 4px 16px rgba(0,0,0,0.24);
  transform: none !important;
}
.elementor-2403 .elementor-element.elementor-element-d5b3b05.theme-softfill-min .btn--glass:focus-visible{
  outline:4px solid rgba(255,255,255,0.56);
  outline-offset:4px;
}
.elementor-2403 .elementor-element.elementor-element-d5b3b05.theme-softfill-min .btn__icon{
  transition: transform 200ms ease;
}
.elementor-2403 .elementor-element.elementor-element-d5b3b05.theme-softfill-min .btn--glass:hover .btn__icon{
  transform: translateX(4px); /* keep the subtle arrow nudge */
}
@media (max-width:768px){
    .theme-softfill-min{
    position:absolute;
    top:80%;
}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4cd60fe *//* 1) The hero itself: a real, positioned box */
.hero--video{
  position: relative;
  min-height: 100svh;
  overflow: hidden;
}

/* 2) Flexbox Containers inner wrapper keeps full height */
.hero--video > .e-con-inner{
  min-height: 100svh;
  position: static; /* critical: don't make THIS the containing block */
}

/* 3) Neutralize Elementor widget wrappers INSIDE the hero */
.hero--video .elementor-widget-html,
.hero--video .elementor-widget-container{
  position: static !important; /* prevents zero-height containing block */
  overflow: visible;
}

/* 4) Our video layer fills the hero, not the widget wrapper */
.hero--video .video-layer{
  position: absolute;
  inset: 0;
  z-index: 0; /* under your overlay content */
}

/* 5) The video fills the layer */
.hero--video .video-layer > .hero-video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  display: block;
}

/* 6) Overlay content sits above, centered */
.hero--video .overlay{
  grid-row: 1;
  align-self: flex-end;
  margin-bottom: 32px; /* 8×4 breathing space above fold */
}
@media (max-width: 767px){
  .hero-video--mobile { display: block; }
  .hero-video--desktop { display: none; }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-099ed76 *//* Soft Fill Minimal — no vertical movement on hover */

.elementor-2403 .elementor-element.elementor-element-099ed76.theme-softfill-min .btn--glass{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 24px; min-height:48px; border-radius:12px;
  font-size:16px; line-height:24px; text-decoration:none;
  color:#fff;
  background: rgba(8,8,12,0.32);
  border:0;
  backdrop-filter: blur(4px) saturate(140%);
  box-shadow: 0 4px 16px rgba(0,0,0,0.20);
  transition: background 200ms ease, box-shadow 200ms ease;
  transform: none !important; /* ensure no lift */
}
.elementor-2403 .elementor-element.elementor-element-099ed76.theme-softfill-min .btn--glass:hover{
  background: rgba(8,8,12,0.40);
  box-shadow: 0 8px 24px rgba(0,0,0,0.24);
  transform: none !important;
}
.elementor-2403 .elementor-element.elementor-element-099ed76.theme-softfill-min .btn--glass:active{
  background: rgba(8,8,12,0.44);
  box-shadow: 0 4px 16px rgba(0,0,0,0.24) inset, 0 4px 16px rgba(0,0,0,0.24);
  transform: none !important;
}
.elementor-2403 .elementor-element.elementor-element-099ed76.theme-softfill-min .btn--glass:focus-visible{
  outline:4px solid rgba(255,255,255,0.56);
  outline-offset:4px;
}
.elementor-2403 .elementor-element.elementor-element-099ed76.theme-softfill-min .btn__icon{
  transition: transform 200ms ease;
}
.elementor-2403 .elementor-element.elementor-element-099ed76.theme-softfill-min .btn--glass:hover .btn__icon{
  transform: translateX(4px); /* keep the subtle arrow nudge */
}/* End custom CSS */
/* Start custom CSS */:root { --header-h: 80px; 
    --pill-slide: 16px;
}    
/* === HERO: container === */
/* Hide root scrollbar when THIS page wrapper exists */
html:has(body.elementor-page-2403){ scrollbar-width:none; }                  /* Firefox */
html:has(body.elementor-page-2403)::-webkit-scrollbar{ display:none; }       /* Chrome/Safari/Edge */

/* (optional) also hide inner scrollbars on this page */
body.elementor-page-2403 *{ scrollbar-width:none; }
body.elementor-page-2403 *::-webkit-scrollbar{ display:none; }

.hero--video{
  position: relative;
  min-height: 100svh;
  overflow: hidden;
}

/* Flexbox Containers inner wrapper */
.hero--video > .e-con-inner{
  min-height: 100svh;
  position: static; /* critical: do NOT create a new containing block */
}

/* (Harmless for legacy Sections; safe to keep) */
.hero--video > .elementor-container,
.hero--video > .elementor-container > .elementor-row{
  min-height: 100svh;
  position: static;
}

/* === HERO: video fills the hero === */
.hero--video .hero-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  z-index: 0;
  /* pointer-events: none;  // uncomment if you need clicks through video */
}

/* === HERO: overlay content sits above naturally === */
.hero--video .overlay{
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 32px; /* 8×4; adjust as needed */
  display: grid; place-items: center; min-height: 100%;
}
#hero, #featured, #about {
  min-height: 100dvh;
  scroll-margin-top: var(--header-h);
}
 .y-transcript-link{ display:inline-block; margin-top:8px; text-decoration:underline; }
  .y-transcript{ margin-top:16px; }
  .y-transcript__summary{
    display:inline-block; padding:8px 12px; border:1px solid rgba(0,0,0,.15);
    border-radius:8px; cursor:pointer; font-family:var(--e-global-typography-text-font-family, Inter), system-ui; font-weight:500; line-height:1.5;
  }
  .y-transcript[open] .y-transcript__summary{ border-bottom-left-radius:0; border-bottom-right-radius:0; }
  .y-transcript__body{
    border:1px solid rgba(0,0,0,.15); border-top:0; border-radius:0 0 8px 8px; padding:16px; max-width:80ch;
  }
  /* Full-bleed row so pills can kiss the viewport edge even inside a boxed site */
.theme-softfill-mini{
  position: relative;
  height: 50vh;
  /* full-bleed trick for Elementor containers inside a boxed layout */
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
  overflow-x: hidden;
}

/* Base pill */
.theme-softfill-mini .btn--glass{

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  /* sizing (4pt rhythm) */
  padding: 12px 24px;
  height: 18vh;          /* 80 = 20*4 */
  width: 100vw;
  min-width: 280px;
 

  font-size: 16px;
  line-height: 24px;
  text-decoration: none;
  border: 0;

 /* grey glass – deeper, layered look */
background:
  linear-gradient(135deg, rgba(220,220,220,0.20), rgba(255,255,255,0.06)),
  radial-gradient(120% 100% at 100% 50%, rgba(255,255,255,0.08), transparent 60%);

  backdrop-filter: blur(8px) saturate(150%);
  -webkit-backdrop-filter: blur(8px) saturate(150%);
 box-shadow:
  0 12px 32px rgba(0,0,0,.18),
  0 4px 16px rgba(0,0,0,.12),
  inset 0 0 0 1px rgba(180,180,180,.35),
  inset 0 8px 16px rgba(255,255,255,.14);
  transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

/* Left pill – flat on the edge */
.theme-softfill-mini .btn--pill-left{
  left: 0;
  top: 16vh;
}

/* Right pill – flat on the edge */
.theme-softfill-mini .btn--pill-right{
  right: 0;
  top: 16vh; /* staggered */
}

/* States */
.theme-softfill-mini .btn--glass:hover{
  background: linear-gradient(135deg, rgba(212,175,55,.28), rgba(255,255,240,.14));
  box-shadow: 0 8px 24px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,215,100,.45);
}
.theme-softfill-mini .btn--glass:active{
  box-shadow: inset 0 4px 16px rgba(0,0,0,.30), 0 2px 8px rgba(0,0,0,.2);
}
.theme-softfill-mini .btn--glass:focus-visible{
  outline: 4px solid rgba(255,255,255,.56);
  outline-offset: 4px;
}

/* Arrow micro-motion */
.theme-softfill-mini .btn__icon{ transition: transform 200ms ease; }
.theme-softfill-mini .btn--glass:hover .btn__icon{ transform: translateX(4px); }


/* Responsive */
@media (max-width: 768px){
  .theme-softfill-mini{ height: 44vh; }
  .theme-softfill-mini .btn--glass{ width: 92vw; height: 64px; padding: 12px 20px; }
  .theme-softfill-mini .btn--pill-left{ top: 10vh; }
  .theme-softfill-mini .btn--pill-right{ top: 24vh; }
}
/* Kill any Elementor entrance/scroll animations within the pill rows */
.theme-softfill-mini,
.theme-softfill-mini * {
  animation: none !important;
  transition: none !important;         /* optional: comment out if you want hover effects back */
  transform: none !important;          /* ensures no residual translate from effects */
  opacity: 1 !important;               /* Elementor often sets 0 before anim */
  visibility: visible !important;
}/* End custom CSS */