html, body {
  margin: 0;
  padding: 0;
  width: 100%;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  font-family: "Lato", sans-serif;
 background: #050b18;
  color: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Prevent accidental horizontal scrolling from 100vw/positioned elements */
  overflow-x: hidden;
}

@supports (overflow: clip) {
  body { overflow-x: clip; }
}

@media (prefers-reduced-motion: reduce){
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Cross-browser responsive guardrails */
:where(img, video, svg) {
  max-width: 100%;
  height: auto;
}

/* iOS Safari: prevent input focus zoom */
@media (max-width: 600px){
  input, select, textarea { font-size: 16px; }
}

body.omega-menu-open,
body.lock-scroll { overflow: hidden; }

a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }
img { max-width: 100%; display: block; }

.container { width: min(1280px, 94%); margin-inline: auto; }



.header-sentinel{
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
  opacity: 0;
}


.omega-header{
  position: sticky; 
  top: 0;
  z-index: 1000;
  overflow: visible;
  isolation: isolate;

  background: linear-gradient(90deg, rgba(0,120,175,0.95) 0%, rgba(26,79,150,0.95) 55%, rgba(115,44,128,0.95) 100%);
  padding: 40px 0 50px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.45);

  transform: translateY(0);
  transition:
    transform 240ms cubic-bezier(.2,.8,.2,1),
    padding 240ms cubic-bezier(.2,.8,.2,1),
    box-shadow 240ms cubic-bezier(.2,.8,.2,1),
    background 240ms cubic-bezier(.2,.8,.2,1),
    border-color 240ms cubic-bezier(.2,.8,.2,1),
    backdrop-filter 240ms cubic-bezier(.2,.8,.2,1);

  will-change: transform, padding;
  border-bottom: 1px solid transparent;
}


.omega-header.is-top{
  background: linear-gradient(90deg, rgba(0,120,175,0.95) 0%, rgba(26,79,150,0.95) 55%, rgba(115,44,128,0.95) 100%);
  box-shadow: none;
  
  backdrop-filter: none;
}


.omega-header.is-scrolled{
  background: rgba(5, 11, 24, 0.78);
  backdrop-filter: blur(10px) saturate(1.15);
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 14px 34px rgba(0,0,0,0.42);
}


.omega-header.is-compact{
  padding: 18px 0 10px;
}


.omega-header.is-hidden{
  transform: translateY(-110%);
}


.omega-header::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top left, rgba(255,255,255,0.06), transparent 60%);
  opacity: 0.75;
  pointer-events: none;
  z-index: 1000;
}

.omega-header.is-top::before{
  opacity: 0.35;
}

.omega-header > .container{
  position: relative;
  z-index: 1;
}

.omega-top{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  column-gap: 20px;
}








.omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}
.omega-social a{
  text-decoration:none;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:4px;
}
.omega-social a i{
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.38);
  font-size:20px;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.omega-social a .social-label{
  font-size:11px;
  letter-spacing:.02em;
  opacity:.92;
  line-height:1;
}
.omega-social a i { font-size: 16px; color: rgba(255,255,255,0.92); }
.omega-social a:hover i,
.omega-social a:focus-visible i{
  transform:translateY(-2px);
  background:rgba(255,255,255,0.26);
  border-color:rgba(255,255,255,0.62);
}
.omega-social a:focus-visible{
  outline:2px solid rgba(255,255,255,0.75);
  outline-offset:6px;
  border-radius:14px;
}

.omega-logo { justify-self: center; }
.omega-logo-img { width: 190px; height: auto; }

.omega-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}




.site-search{
  --search-h: 44px;
  --search-radius: 999px;
  --search-border: rgba(255,255,255,0.20);
  --search-bg: rgba(5,10,24,0.88);
  --search-bg2: rgba(5,10,24,0.96);
  --search-accent: #33c1ff;

  position: relative;
  width: clamp(240px, 26vw, 280px);
}


.site-search input{
  width: 90%;
  height: var(--search-h);
  padding: 0 16px 0 44px; 
  border-radius: var(--search-radius);
  border: 1px solid var(--search-border);

  
  background:
    url("images/search-icon.png") no-repeat 16px 50%,
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00)),
    linear-gradient(180deg, var(--search-bg), var(--search-bg2));

  background-size: 16px 16px;

  color: #ffffff;
  font-size: 14px;
  letter-spacing: 0.06em;
  outline: none;

  box-shadow:
    0 10px 24px rgba(0,0,0,0.28),
    inset 0 0 0 1px rgba(0,0,0,0.20);

  transition: border .25s ease, box-shadow .25s ease, background .25s ease;
}

.site-search input::placeholder{
  color: rgba(255,255,255,0.55);
}


.site-search input:focus{
  border-color: rgba(51,193,255,0.55);
  box-shadow:
    0 14px 34px rgba(0,0,0,0.45),
    0 0 0 4px rgba(51,193,255,0.16),
    inset 0 0 0 1px rgba(0,0,0,0.18);
}


.search-results{
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;

  border-radius: 16px;
  overflow: hidden;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00)),
    rgba(5,10,24,0.96);

  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 26px 60px rgba(0,0,0,0.75);

  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
  z-index: 200;
}

.search-results.open{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}


.search-results{
  max-height: min(380px, 55vh);
  overflow-y: auto;
}


.search-results::-webkit-scrollbar{
  width: 10px;
}
.search-results::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,0.18);
  border-radius: 999px;
  border: 2px solid rgba(5,10,24,0.96);
}
.search-results::-webkit-scrollbar-track{
  background: transparent;
}


.search-result{
  display: block;
  padding: 13px 18px;
  font-size: 13px;
  color: rgba(255,255,255,0.92);
  text-decoration: none;

  border-bottom: 1px solid rgba(255,255,255,0.06);
  transition: background .16s ease, color .16s ease;
}

.search-result:last-child{
  border-bottom: none;
}

.search-result:hover,
.search-result.active{
  background: rgba(51,193,255,0.16);
  color: #ffffff;
}


.search-result strong{
  color: var(--search-accent);
  font-weight: 700;
}


.search-empty{
  padding: 14px 18px;
  font-size: 12px;
  opacity: 0.75;
  text-align: center;
}


@media (max-width: 820px){
  .site-search{
    width: min(92vw, 520px);
  }
}

@media (max-width: 520px){
  .site-search{
    width: min(88vw, 420px);
  }

  .site-search input{
    height: 42px;
    padding-left: 42px;
    font-size: 13px;
  }

  .search-results{
    border-radius: 14px;
    max-height: min(320px, 50vh);
  }
}




.header-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px;
  transition: transform .2s ease, filter .2s ease;
}
.header-icon .icon-svg {
  width: 26px; height: 26px;
  fill: none; stroke: #e9eefb;
  stroke-width: 1; stroke-linecap: round; stroke-linejoin: round;
}
.header-icon:hover {
  transform: translateY(-1px);
  filter: drop-shadow(0 0 10px rgba(79,201,255,0.65));
}


.mobile-hamburger {
  display: none;
  width: 44px; height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.55);
  background: rgba(5,10,24,0.20);
  align-items: center;
  justify-content: center;
  transition: transform .25s ease, border-color .25s ease, background .25s ease;
}
.mobile-hamburger:hover {
  transform: translateY(-1px);
  border-color: rgba(51,193,255,0.95);
  background: rgba(51,193,255,0.12);
}
.mobile-hamburger .burger { width: 20px; height: 14px; position: relative; }
.mobile-hamburger .burger span {
  position: absolute; left: 0;
  height: 2px; border-radius: 999px;
  background: rgba(255,255,255,0.95);
  transition: transform .35s cubic-bezier(.19,1,.22,1), opacity .2s ease, width .35s cubic-bezier(.19,1,.22,1);
}
.mobile-hamburger .burger span:nth-child(1) { top: 0; width: 20px; }
.mobile-hamburger .burger span:nth-child(2) { top: 6px; width: 16px; }
.mobile-hamburger .burger span:nth-child(3) { top: 12px; width: 20px; }
.mobile-hamburger[aria-expanded="true"] .burger span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.mobile-hamburger[aria-expanded="true"] .burger span:nth-child(2) { opacity: 0; }
.mobile-hamburger[aria-expanded="true"] .burger span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }


.omega-nav { margin-top: 22px; }
.omega-nav ul {
  display: flex; align-items: center; justify-content: center;
  gap: 30px; padding-left: 0; list-style: none;
}
.omega-nav li { position: relative; list-style: none; padding-bottom: 14px; }
.omega-nav > ul > li > a {
  position: relative; display: inline-block; padding: 4px 0;
  font-family: "Cinzel", serif; font-weight: 600;
  font-size: 14px; letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(255,255,255,0.9);
  transition: color .25s ease, transform .25s ease;
}
.omega-nav > ul > li > a::before{
  content:"";
  position:absolute;
  left:-12px; right:-12px;
  top:-10px; bottom:-12px;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(51,193,255,.10), rgba(139,88,255,.08));
  opacity: 0;
  transform: translateY(2px);
  transition: opacity .25s ease, transform .25s ease;
  z-index:-1;
}
.omega-nav > ul > li > a::after {
  content: "";
  position: absolute; left: 50%; bottom: -6px;
  width: 0; height: 2px; border-radius: 999px;
  background: #33c1ff; transform: translateX(-50%);
  opacity: 0;
  transition: width .35s cubic-bezier(.19,1,.22,1), opacity .2s ease;
}
.omega-nav > ul > li:hover > a { color: #33c1ff; transform: translateY(-1px); }
.omega-nav > ul > li:hover > a::before{ opacity: 1; transform: translateY(0); }
.omega-nav > ul > li:hover > a::after { width: 70%; opacity: 1; }
.omega-nav li.dropdown > a::after { content: " ▾"; font-size: 10px; opacity: .75; }


.omega-nav li.nav-cta{ margin-left: 10px; }
.omega-nav a.nav-cta-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 14px 34px rgba(0,0,0,.45);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.omega-nav a.nav-cta-btn:hover{ transform: translateY(-1px); box-shadow: 0 18px 40px rgba(0,0,0,.55); }


.dropdown { position: relative; }
.mega-menu{
  position:absolute;
  left:50%;
  top:calc(100% + 10px);
  transform:translateX(-50%) translateY(4px) scale(.99);
  width:min(720px, 92vw);
  padding:16px 18px;
  border-radius:16px;
  background:rgba(6,10,27,.92);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 64px rgba(0,0,0,.62);
  backdrop-filter:blur(14px);

  display:flex;
  gap:18px;
  max-height:min(360px, 70vh);
  overflow:auto;

  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, visibility .18s ease, transform .18s ease;
  z-index:30;
}


.mega-menu--compact{
  width:min(600px, 92vw);
  padding:16px 16px;
}
.mega-menu--compact .mega-right{ flex:0 0 220px; }
.mega-menu--compact .mega-left{ gap:12px; }

.mega-menu::before{
  content:"";
  position:absolute;
  top:-10px; left:50%;
  transform:translateX(-50%);
  border-width:0 10px 10px 10px;
  border-style:solid;
  border-color:transparent transparent rgba(6,10,27,.95) transparent;
}


.mega-menu::after{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  border-radius:inherit;
  background:
    radial-gradient(900px 260px at 12% 0%, rgba(51,193,255,.18), transparent 55%),
    radial-gradient(700px 240px at 92% 35%, rgba(139,88,255,.18), transparent 55%);
  opacity:.9;
  filter: saturate(1.1);
}



.dropdown:hover .mega-menu,
.dropdown.is-open .mega-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0) scale(1);
}

@keyframes omegaMegaPop{
  from{ transform:translateX(-50%) translateY(6px) scale(.98); filter: blur(2px); }
  to{ transform:translateX(-50%) translateY(0) scale(1); filter: blur(0); }
}

.dropdown:hover .mega-menu,
.dropdown.is-open .mega-menu{
  animation: omegaMegaPop .22s cubic-bezier(.2,1,.22,1);
}

.mega-left{
  flex:1;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  align-content:start;
}


.mega-left.mega-left--2{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}


.mega-menu.has-right .mega-left{
  padding-right:14px;
  border-right:1px solid rgba(255,255,255,.10);
}

.mega-col h4{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  margin:0 0 8px 0;
  display:flex;
  align-items:center;
  gap:8px;
}
.mega-icon {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(51,193,255,1), rgba(139,88,255,1));
  box-shadow: 0 0 0 3px rgba(51,193,255,.10), 0 10px 26px rgba(51,193,255,.18);
}


.mega-col h4{
  padding-left: 2px;
}
.mega-col h4::after{
  content:"";
  display:block;
  width: 34px;
  height: 2px;
  border-radius: 999px;
  margin-top: 8px;
  background: linear-gradient(90deg, rgba(51,193,255,1), rgba(139,88,255,1));
  opacity: .55;
}
.mega-col a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  line-height:1.25;
  letter-spacing:.01em;
  color:rgba(255,255,255,.90);
  padding:7px 10px;
  border-radius:12px;
  text-decoration:none;
  background:transparent;
  position:relative;
  transition:background .18s ease, transform .18s ease, color .18s ease, box-shadow .18s ease;
}


.mega-col a::after{
  content:"\203A"; 
  color:rgba(255,255,255,.55);
  font-size:18px;
  line-height:1;
  transform:translateX(-2px);
  transition:transform .18s ease, color .18s ease;
}
.mega-col a:hover,
.mega-col a:focus-visible{
  background:linear-gradient(135deg, rgba(51,193,255,.14), rgba(139,88,255,.10));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 10px 26px rgba(0,0,0,.35);
  transform:translateY(-1px);
  color:#fff;
}
.mega-col a:hover::after,
.mega-col a:focus-visible::after{
  transform:translateX(2px);
  color:rgba(255,255,255,.85);
}

.mega-right{
  flex:0 0 240px;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-self:stretch;
}


.mega-right .mega-card{
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 18px 46px rgba(0,0,0,.55);
}
.mega-right .mega-card h3{ letter-spacing:.12em; }
.mega-right .mega-card .btn{
  transition:transform .18s ease, box-shadow .18s ease;
}
.mega-right .mega-card .btn:hover{ transform:translateY(-1px); box-shadow:0 16px 40px rgba(0,0,0,.45); }
.btn-view-products:hover { background: #33c1ff; border-color: #33c1ff; transform: translateY(-1px); color: #050b18; }


.dropdown > a:focus-visible{ outline: 2px solid rgba(51,193,255,.8); outline-offset: 6px; border-radius: 10px; }



.drop-menu{
  position:absolute;
  top: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  width: 300px;
  background: rgba(8,12,28,.92);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  box-shadow: 0 26px 70px rgba(0,0,0,.55);
  padding: 14px;
  display: grid;
  gap: 10px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  backdrop-filter: blur(14px);
}
.drop-menu::before{
  content:"LEGACY";
  display:block;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.70);
  padding:2px 6px 6px;
}
.drop-menu a{
  color: rgba(255,255,255,.92);
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  font-size:12px;
  line-height:1.25;
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.drop-menu a:hover{
  background:linear-gradient(135deg, rgba(51,193,255,.14), rgba(139,88,255,.10));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 10px 26px rgba(0,0,0,.35);
  transform: translateY(-1px);
}

.omega-nav li.dropdown:hover .drop-menu,
.omega-nav li.dropdown:focus-within .drop-menu{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


.omega-nav li.dropdown.is-open .drop-menu{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}


.mobile-menu-overlay {
  position: fixed; inset: 0;
  background: rgba(2,5,15,0.75);
  opacity: 0; visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
  z-index: 60;
}
.mobile-menu-overlay.active { opacity: 1; visibility: visible; }

.mobile-menu-panel {
  position: fixed; top: 0; right: 0;
  width: min(360px, 86vw);
  height: auto;
  height: 100dvh;
  background:
    radial-gradient(circle at top, rgba(64,150,255,0.22), transparent 60%),
    radial-gradient(circle at bottom, rgba(164,82,212,0.30), #050b18);
  box-shadow: -10px 0 40px rgba(0,0,0,0.3);
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.19,1,.22,1);
  z-index: 70;
  display: flex; flex-direction: column;
}
.mobile-menu-panel.active { transform: translateX(0); }

.mobile-menu-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 18px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.mobile-menu-header img { max-height: 32px; }

.mobile-close {
  width: 32px; height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.7);
  background: rgba(5,10,24,0.55);
  color: #fff;
  font-size: 16px;
}

.mobile-menu-body { padding: 18px 18px 20px; overflow-y: auto; }

.mobile-nav { list-style: none; display: flex; flex-direction: column; gap: 6px; margin-bottom: 18px; }
.mobile-nav > li > a {
  display: block;
  padding: 10px 2px;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.mobile-accordion {
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.16);
  overflow: hidden;
  background: rgba(5,10,24,0.85);
}
.mobile-accordion + .mobile-accordion { margin-top: 10px; }

.accordion-toggle {
  width: 90%;
  padding: 10px 12px;
  background: transparent;
  border: none;
  display: flex; align-items: center; justify-content: space-between;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.92);
}
.accordion-toggle i { font-size: 12px; color: rgba(255,255,255,0.75); transition: transform .25s ease; }


.accordion-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 8px;
}
.accordion-link{
  flex: 1;
  padding: 10px 12px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.92);
}
.accordion-link:hover{ color: #33c1ff; }

.accordion-head .accordion-toggle{
  width: 44px;
  padding: 10px 10px;
  justify-content:center;
}

.mobile-accordion.open .accordion-head .acc-chevron{
  transform: rotate(180deg);
}
.accordion-head .acc-chevron{
  transition: transform .25s ease;
}


#digital{ scroll-margin-top: 140px; }

.mobile-accordion.open .accordion-toggle i { transform: rotate(180deg); }

.accordion-content {
  max-height: 0;
  overflow: hidden;
  background: radial-gradient(circle at top, rgba(28,109,203,0.35), rgba(4,9,20,0.98));
  transition: max-height .3s ease;
}

.accordion-heading {
  padding: 10px 12px 6px;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(228,235,255,0.8);
}

.accordion-content ul { list-style: none; margin: 0; padding: 0 0 10px; }
.accordion-content li a {
  display: block;
  padding: 8px 12px;
  font-size: 11px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.9);
  border-top: 1px solid rgba(255,255,255,0.06);
}
.accordion-content li a:hover { background: rgba(255,255,255,0.04); }


.mobile-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 90%;
  padding: 12px 16px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 14px 34px rgba(0,0,0,.45);
  margin-top: 14px;
  text-decoration: none;
}
.mobile-cta:hover{ transform: translateY(-1px); }

.mobile-social { display: flex; gap: 10px; margin-top: 18px; }
.mobile-social a {
  width: 38px; height: 38px; border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.55);
  background: rgba(5,10,24,0.18);
  display: inline-flex; align-items: center; justify-content: center;
}
.mobile-social a i { font-size: 16px; color: rgba(255,255,255,0.92); }




.omega-hero {
  position: relative;
  height: 85vh;
  height: 85svh;
  height: 85dvh;
  min-height: 480px;
  padding: 60px 0 80px;
  overflow: hidden;
    background: #000;
}

.hero-slider { position: absolute; inset: 0; }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.1s ease; }
.hero-slide.active { opacity: 1; }
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom right;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    circle at left,
    rgba(5,10,24,0.96) 0%,
    rgba(5,10,24,0.55) 40%,
    transparent 70%
  );
}

.hero-content {
  position: relative;
  z-index: 5;
  height: auto;
  display: flex;
  align-items: center;
}

.hero-left { max-width: 580px; }

.hero-heading {
  font-family: "Cinzel", serif;
  font-size: 34px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 14px;
}

.hero-subheading {
  font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  max-width: 520px;
}


.hero-actions {
  display: flex;              
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}


.btn-primary,
.btn-secondary {
  padding: 11px 22px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  border: none;
  font-weight: 600;
  cursor: pointer;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease,
    color .25s ease;
display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  min-width: 180px;

}

.btn-primary {
  background: linear-gradient(135deg, #0a8dea, #5a2fba);
  color: #ffffff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.55);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(0,0,0,0.75);
}

.btn-secondary {
  background: #2b72c6;
  color: #ffffff;
  box-shadow: 0 7px 18px rgba(0,0,0,0.55);
}

.btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 11px 24px rgba(0,0,0,0.3);
}






@media (max-width: 768px) {
  .hero-actions {
    justify-content: center;
  }
}



.btn-play {
  width: 60px; height: 60px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,0.7);
  background: transparent;
  display: inline-flex; align-items: center; justify-content: center;
  position: relative;
  margin-left: 6px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}

.btn-play::before {
  content: "";
  position: absolute; inset: 6px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.6);
  opacity: 0.65;
}
.play-icon { font-size: 18px; color: #fff; transform: translateX(2px); }
.btn-play:hover {
  border-color: #33c1ff;
  background: rgba(5,10,24,0.55);
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 14px 30px rgba(0,0,0,0.85);
}

.hero-pagination {
  position: absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 10px;
  z-index: 6;
}
.hero-dot {
  width: 8px; height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.55);
  cursor: pointer;
  border: none;
  transition: all .25s ease;
}
.hero-dot.active {
  background: #33c1ff;
  transform: scale(1.3);
  box-shadow: 0 0 10px rgba(51,193,255,0.9);
}

.hero-down {
  position: absolute;
  bottom: 56px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(51,193,255,0.95);
  font-size: 28px;
  z-index: 6;
  text-shadow: 0 10px 24px rgba(0,0,0,0.55);
}

.hero-slide {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.hero-video-slide {
  pointer-events: none; 
}

.hero-video {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover; 
  object-position: center bottom; 
  background: transparent;
}









.omega-difference .omega-difference-inner{
  position: relative;
  padding: clamp(60px, 7vw, 110px) 0;
  overflow: hidden;

  /* Full-bleed background (kills left/right gaps even inside .container) */
  background-image: url("images/omega-difference-banner.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;

  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  /* keep content readable */
  padding-left: clamp(18px, 6vw, 120px);
  padding-right: clamp(18px, 6vw, 120px);
  height: auto;
}




.od-header { margin-bottom: 28px; }
.od-title {
  font-family: "Cinzel", serif;
  font-size: 28px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 8px;
  text-align: center;
}
.od-subtitle {
  font-size: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(224,235,255,0.95);
  text-align: center;
}


.od-items {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px 16px;
  align-items: start;
  justify-items: center;
}
.od-item { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 220px; }
.od-icon {
  width: 110px; height: 110px; border-radius: 999px;


  display: flex; align-items: center; justify-content: center;
  margin-bottom: 10px;

  overflow: hidden;
}
.od-icon img { width: 82%; height: 82%; object-fit: contain; }
.od-item-text {
  font-size: 12px;
  line-height: 1.55;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #f5f7ff;
}




.premium-brands{
  position: relative;
  
  padding: clamp(44px, 6vw, 72px) 0 clamp(58px, 8vw, 90px);
  background: #fff url("images/prem_brands_bk.jpg") center center / cover no-repeat;
  min-height: clamp(420px, 65vh, 720px);
  overflow: hidden;

  /* Full-bleed override (kills side gaps) */
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}


.premium-brands::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(1200px 360px at 50% 0%, rgba(255,255,255,0.92), rgba(255,255,255,0) 60%),
    radial-gradient(900px 320px at 50% 100%, rgba(0,0,0,0.07), rgba(0,0,0,0) 60%);
  opacity:.55;
}


.premium-brands .container{
  position: relative;
  display: block;
  padding-inline: clamp(18px, 6vw, 120px);
  z-index: 1;
}


.brands-title{
  font-family: "Cinzel", serif;
  font-size: clamp(22px, 5vw, 34px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  text-align: center;
  color: #5aa7df;
  margin: 0 0 14px;
}


.brands-logos{
  margin: 18px auto 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px 26px;
  align-items: center;
  justify-items: center;
  max-width: 960px;
}

.brands-logos .brand{
  width: 90%;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 54px;
}

.brands-logos img{
  width: 90%;
  max-width: 180px;
  height: 46px;
  object-fit: contain;
  display: block;
  opacity: 0.97;
  filter: contrast(1.02) saturate(1.02);
  transition: transform 0.25s ease, opacity 0.25s ease;
}



@media (hover:hover){
  .brands-logos img:hover{ transform: translateY(-2px); opacity: 1; }
}


@media (max-width: 980px){
  .brands-logos{ grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 720px; }
  .brands-logos img{ height: 40px; max-width: 160px; }
}

@media (max-width: 560px){
  .premium-brands .container{ padding-inline: 18px; }
  .brands-title{ font-size: 22px; line-height: 1.35; }
  .brands-logos{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
  .brands-logos .brand{ min-height: 48px; }
  .brands-logos img{ height: 34px; max-width: 150px; }
  
  .premium-brands{ background-position: center 100%; background-size: 180% auto; min-height: 620px; }
}




.omega-path{
  position: relative;
  overflow: hidden;
   margin-top: 0 !important;
  isolation: isolate;
 

  
  background-image: url("./images/bk_flip-cards.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  color: #fff;
}

/* Full-bleed section override (kills any inherited page constraints) */
.omega-path{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}


.omega-path::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;

}


.omega-path-inner{
  position: relative;
  z-index: 1;
}


.omega-path::after{
  display:none !important; 
}

.omega-path-title {
  font-family: "Cinzel", serif;
  font-size: 34px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 0px;
  text-align: center;   
  padding: 80px 0px 0px 0px;
}

.omega-path-subtitle {
  font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  max-width: 520px;
  text-align: center;   
  margin: 0 auto;       
  padding: 0px 0px 50px 0px;
}


.flip-grid {
  display: grid;
   grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 28px 32px;
}

.flip-card { 
  max-width: 250px;
  perspective: 1200px; 
  cursor: pointer; 
  outline: none; 
}

.flip-inner {
  position: relative;
  width: 90%;
  height: 340px;
  border-radius: 18px;
  transform-style: preserve-3d;
  transition: transform .7s cubic-bezier(.19,1,.22,1);
}
.flip-card.is-flipped .flip-inner { transform: rotateY(180deg); }

.flip-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  border-radius: 18px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}


.flip-front {
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(0,0,0,0.25));
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
}
.flip-img { flex: 1; background-size: cover; background-position: center; }
.flip-label {
  font-family: "Cinzel", serif;
  font-size: 13px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 14px 12px;
  text-align: center;
  background: rgba(5,10,24,0.85);
}
.flip-cta {
  margin: 12px auto 14px;
  padding: 8px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.6);
  background: transparent;
  color: #ffffff;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: all .25s ease;
}
.flip-cta:hover { background: #33c1ff; border-color: #33c1ff; color: #050b18; }


.flip-back {
  transform: rotateY(180deg);
  background: linear-gradient(135deg, rgba(10,141,234,0.95), rgba(90,47,186,0.95));
  padding: 18px 18px 20px;
  border: 1px solid rgba(255,255,255,0.35);
  box-shadow: 0 18px 40px rgba(0,0,0,0.3);
  justify-content: space-between;
}
.flip-back h3 {
  font-family: "Cinzel", serif;
  font-size: 15px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.flip-back p {
  font-size: 12px;
  line-height: 1.55;
  margin-bottom: 6px;
  color: rgba(255,255,255,0.95);
}
.flip-back ul { list-style: none; padding: 0; margin: 8px 0 12px; }
.flip-back ul li {
  font-size: 11px;
  letter-spacing: 0.08em;
  padding-left: 14px;
  position: relative;
  margin-bottom: 4px;
}
.flip-back ul li::before { content: "•"; position: absolute; left: 0; color: #33c1ff; }

.flip-close {
  align-self: center;
  margin-top: auto;
  padding: 7px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.7);
  background: transparent;
  color: #ffffff;
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  transition: all .25s ease;
}
.flip-close:hover { background: rgba(255,255,255,0.15); }




@media (hover: hover) and (pointer: fine) {
  .flip-card:hover .flip-inner {
    transform: rotateY(180deg);
  }

}












.modal-overlay {
  position: fixed; inset: 0;
  background: rgba(5,10,24,0.82);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
  z-index: 5000;
  pointer-events: none;
}
.modal-overlay.open { opacity: 1; visibility: visible; pointer-events: auto; }

.modal {
  background: #050b18;
  border-radius: 16px;
  padding: 24px 24px 20px;
  width: 500px;
  height: 450px;
  
  box-shadow: 0 24px 60px rgba(0,0,0,0.35);
  position: relative;

  background-image: url("./images/images/workbench_bk.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  color: #fff;
}






.modal.modal-video{
  width: min(960px, 90vw);
  height: min(540px, 70vh);
  padding: 14px;
}






.modal-close {
  position: absolute; top: 10px; right: 12px;
  width: 32px; height: 32px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.6);
  background: rgba(5, 10, 24, 0.733);
  color: #ffffff;
  font-size: 18px;
  line-height: 1;
}

.modal-title {
  font-family: "Cinzel", serif;
  font-size: 18px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 10px;
  text-align: center;
  color: rgba(5, 10, 24, 0.733); 
}
.modal-intro { 
  font-size: 14px; 
  line-height: 1.6; 
  color: rgba(5, 10, 24, 0.733); 
  margin-bottom: 18px; 
text-align: center;
}

.modal-form .form-row { display: flex; flex-direction: column; gap: 4px; margin-bottom: 12px; }
.modal-form label {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(5,10,24,0.95);
}
.modal-form input, .modal-form textarea {
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.25);
  background: rgba(255, 255, 255, 0.95);
  color: rgba(5,10,24,0.95);
  padding: 10px 12px;
  font-size: 13px;
  outline: none;
}
.field-error { display:block; font-size:12px; margin-top:6px; color: rgba(255, 0, 0, 0.9); }
.is-invalid { box-shadow: 0 0 0 2px rgba(255,95,95,.7) !important; }

.form-status { margin-top: 12px; text-align: center; font-size: 13px; color: rgba(255,255,255,0.9); min-height: 18px; }

.modal-btn.is-loading { opacity: .85; }
.btn-spinner {
  display:none; width:16px; height:16px; margin-left:10px;
  border:2px solid rgba(255,255,255,.35);
  border-top-color: rgba(255,255,255,.95);
  border-radius:999px;
  vertical-align: middle;
  animation: spin .8s linear infinite;
}
.modal-btn.is-loading .btn-spinner { display:inline-block; }
@keyframes spin { to { transform: rotate(360deg); } }





.video-wrapper{
  width: 90%;
  height: auto;
  border-radius: 12px;
  overflow: hidden;
  background: #000;
}

.video-wrapper video{
  width: 90%;
  height: auto;
  display: block;
  object-fit: contain;
  background: #000;
}






@media (max-width: 1100px) {
  .flip-grid { grid-template-columns: repeat(3, 1fr); }
  .brand-logos { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 992px) {
  .omega-header { padding: 20px 0 10px; }

  .omega-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 10px;
  }

  .omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}
  .omega-logo { order: 1; }

  
  .omega-actions {
    order: 2;
    width: 90%;
    justify-content: center;
    gap: 22px;
    position: relative;
  }

  .omega-search { display: none !important; }

  .mobile-hamburger {
    display: inline-flex;
    position: absolute;
    top: -58px;
    right: 0;
  }

  .omega-nav { display: none; }

  .omega-hero { min-height: 520px; padding: 50px 0 70px; }
  .hero-heading { font-size: 28px; }
  .hero-subheading { font-size: 14px; }

  .brand-logos { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
  
  .od-items { grid-template-columns: repeat(5, minmax(0,1fr)); gap: 10px 8px; }
  .od-icon { width: 56px; height: 56px; margin-bottom: 6px; }
  .od-item-text { font-size: 8px; letter-spacing: 0.10em; line-height: 1.35; }

  .od-title { font-size: 20px; }
  .od-subtitle { font-size: 11px; letter-spacing: 0.12em; }

  .flip-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .flip-inner { height: 300px; }

  .premium-title { font-size: 22px; letter-spacing: 0.12em; }
}

@media (max-width: 480px) {
  .omega-hero { height: auto; min-height: 540px; padding: 40px 20px 60px; }
  .hero-heading { font-size: 22px; letter-spacing: 0.18em; }
  .hero-subheading { font-size: 13px; letter-spacing: 0.16em; }
  .hero-pagination { justify-content: flex-start; left: 24px; transform: none; }
  .hero-down { left: 24px; transform: none; }
  .flip-inner { height: 280px; }
  .flip-label { font-size: 11px; }
}


.omega-testimonials{
  background:#fff;


  position: relative;
  padding: 90px 0 0;
  min-height: 520px;
  overflow: hidden;
  isolation: isolate;
  
}



.testimonials-title{
  text-align:center;
  font-family:"Cinzel", serif;
  font-weight: 600;
  font-size: clamp(24px, 3vw, 42px);
  letter-spacing: .14em;
  text-transform: uppercase;
  color:#6bb6ea; 
  margin-bottom: 22px;
}

.testimonials-stars{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-bottom: 28px;
}

.testimonials-stars span{
  font-size: 34px;
  line-height: 1;
  color:#2e7ac2;
}

.testimonial-slider{
  position: relative;
  display: grid;
  grid-template-columns: 70px 1fr 70px;
  align-items: center;
  gap: 16px;
  max-width: 980px;
  margin: 0 auto;
}

.testimonial-card{
  text-align:center;
  padding: 10px 18px;
}

.t-quote{
  font-size: 22px;
  line-height: 1.6;
  letter-spacing: .18em;
  color:#0e0e10;
  max-width: 760px;
  margin: 0 auto 26px;
}

.t-person{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 18px;
  margin-top: 10px;
}

.t-avatar{
  width: 64px;
  height: 64px;
  border-radius: 999px;
  object-fit: cover;
  box-shadow: 0 10px 26px rgba(0,0,0,.18);
}

.t-person-text{
  text-align:left;
  display:flex;
  flex-direction:column;
  gap: 4px;
  padding-left: 14px;
  border-left: 2px solid rgba(14,14,16,.45);
}

.t-name{
  font-size: 18px;
  letter-spacing: .10em;
  font-weight: 700;
  color:#0e0e10;
}

.t-role{
  font-size: 16px;
  letter-spacing: .12em;
  color: rgba(14,14,16,.75);
}

.t-nav{
  width: 54px;
  height: 54px;
  border: none;
  background: transparent;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  transition: transform .2s ease, background .2s ease;
}

.t-nav span{
  font-size: 62px;
  line-height: 1;
  color:#6bb6ea;
}

.t-nav:hover{
  background: rgba(107,182,234,.12);
  transform: translateY(-1px);
}

@media (max-width: 900px){
  .testimonial-slider{
    grid-template-columns: 50px 1fr 50px;
  }
  .t-quote{
    font-size: 18px;
    letter-spacing: .14em;
  }
  .t-nav span{ font-size: 54px; }
}

@media (max-width: 600px){
  .omega-testimonials{ padding: 54px 0 58px; }

  .testimonial-slider{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .t-nav{
    position:absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
  }

  .t-prev{ left: 6px; }
  .t-next{ right: 6px; }

  .t-nav span{ font-size: 48px; }

  .t-person-text{
    padding-left: 12px;
  }
  
}





.omega-contact{
  position: relative;
  padding: 90px 0 0;
  overflow: hidden;
  isolation: isolate;
  background: none !important;
}


.omega-contact::before{
  content:"";
  position:absolute;
  inset:0;
  background: url("images/contact_bk.jpg") center top / cover no-repeat;
  z-index:0;
  pointer-events:none;
}


.omega-contact::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.10);
  z-index:1;
  pointer-events:none;
}


.omega-contact .container{
  position: relative;
  z-index:2;
}


.omega-contact-top{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(24px, 4vw, 60px);
  padding-bottom: 70px;
}


.omega-contact-media{
  min-height: 560px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.omega-contact-person{
  width: min(440px, 92%);
  height: auto;
  filter: drop-shadow(0 18px 45px rgba(0,0,0,0.35));
  transform: translateY(18px);
}


.omega-contact-card{
  justify-self: stretch;
  width: 90%;
  max-width: none;
  padding: clamp(28px, 3vw, 42px);
  border-radius: 28px;

  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 26px 70px rgba(0,0,0,0.40);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  margin-right: clamp(20px, 5vw, 80px);
}


.omega-contact-title{
  font-family: "Cinzel", serif;
  font-size: 30px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-align: center;
  margin-bottom: 6px;
  color: rgba(255,255,255,0.95);
}

.omega-contact-subtitle{
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.16em;
  color: rgba(255,255,255,0.92);
  margin-bottom: 28px;
}


.omega-contact-form{
  width: 90%;
}

.omega-form-row{
  display: grid;
  gap: 14px;
}

.omega-form-row.two{
  grid-template-columns: 1fr 1fr;
}

.omega-form-row.one{
  grid-template-columns: 1fr;
}

.omega-field label{
  display:block;
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.90);
  margin-bottom: 6px;
}

.omega-field input,
.omega-field textarea{
  width: 90%;
  box-sizing: border-box;
  padding: 14px 18px;
  margin-bottom: 14px;

  border: none;
  border-radius: 18px;

  background: rgba(255,255,255,0.95);
  color: #0b1632;
  font-size: 14px;
  outline: none;

  box-shadow: inset 0 0 0 1px rgba(10,30,80,0.10);
}

.omega-field textarea{
  min-height: 170px;
  resize: vertical;
}


.omega-field input:focus,
.omega-field textarea:focus{
  box-shadow:
    inset 0 0 0 2px rgba(78,156,255,0.55),
    0 0 0 7px rgba(78,156,255,0.14);
}


.omega-contact-btn{
  margin-top: 14px;
  width: 90%;
  padding: 16px 0;

  border: none;
  border-radius: 20px;
  cursor: pointer;

  font-family: "Cinzel", serif;
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #ffffff;

  background: rgba(78,156,255,0.50);
  box-shadow: 0 14px 30px rgba(0,0,0,0.35);
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.omega-contact-btn:hover{
  transform: translateY(-2px);
  background: rgba(78,156,255,0.60);
  box-shadow: 0 20px 44px rgba(0,0,0,0.55);
}


.omega-contact-bottom{
  position: relative;
  background: #1b4f8f;
  padding: 40px 0;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,0.12);
}


.omega-contact-bottom::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    to bottom,
    rgba(5,20,60,0.15) 0%,
    rgba(5,20,60,0.55) 100%
  );
  z-index:0;
  pointer-events:none;
}


.omega-contact-bottom::after{
  content:"";
  position:absolute;
  inset:0;
  background-image: radial-gradient(rgba(255,255,255,0.12) 1px, transparent 1px);
  background-size: 14px 14px;
  opacity: 0.22;
  z-index:1;
  pointer-events:none;
}

.omega-contact-bottom .container{
  position: relative;
  z-index:2;
}

.omega-contact-bottom-grid{
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 28px;
}


.omega-contact-details{
  display: grid;
  gap: 22px;
}

.omega-detail{
  padding-left: 14px;
  border-left: 2px solid rgba(255,255,255,0.20);
}

.omega-detail-title{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.95);
  margin-bottom: 8px;
}

.omega-detail-text{
  line-height: 1.55;
  color: rgba(255,255,255,0.92);
}


.omega-contact-map{
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  min-height: 280px;
}

.omega-contact-map iframe{
  width: 90%;
  height: auto;
  min-height: 280px;
  border: 0;
  display: block;
}


@media (max-width: 1100px){
  .omega-contact-card{
    margin-right: 0;
    max-width: 760px;
    justify-self: end;
  }
}

@media (max-width: 900px){
  .omega-contact-top{
    grid-template-columns: 1fr;
    padding-bottom: 40px;
  }

  .omega-contact-media{
    min-height: 280px;
    justify-content: center;
  }

  .omega-contact-person{
    width: min(360px, 88%);
    transform: translateY(10px);
  }

  .omega-contact-card{
    max-width: 760px;
    justify-self: center;
  }

  .omega-contact-bottom-grid{
    grid-template-columns: 1fr 0.88fr;
    gap: 16px;
    align-items: stretch;
  }

  .omega-contact-map{ min-height: 200px; }
  .omega-contact-map iframe{ min-height: 200px; }
}
}

@media (max-width: 600px){
  .omega-contact{
    padding: 60px 0 0;
  }

  .omega-contact-title{
    font-size: 24px;
    letter-spacing: 0.18em;
  }

  .omega-contact-card{
    padding: 22px;
    border-radius: 22px;
  }

  .omega-form-row.two{
    grid-template-columns: 1fr;
  }

  .omega-contact-map{
    min-height: 240px;
  }

  .omega-contact-map iframe{
    min-height: 240px;
  }
}



.omega-form__status{margin-top:10px;font-size:13px;letter-spacing:.08em;text-align:center;color:rgba(255,255,255,.92);min-height:18px;}



.omega-footer{
  position: relative;
  color: rgba(255,255,255,0.92);
  background: #1e2328; 
  color: rgba(255,255,255,0.85);
  border-top: 1px solid rgba(255,255,255,0.10);
  overflow: hidden;
}


.omega-footer::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: radial-gradient(rgba(255,255,255,0.06) 1px, transparent 1px);
  background-size: 18px 18px;
  opacity: 0.10;
  pointer-events:none;
}


.omega-footer__top{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 56px;
  padding: 90px 0 60px;
}


.omega-footer__logo{
  max-width: 210px;
  margin-bottom: 22px;
}

.omega-footer__desc{
  font-size: 15px;
  line-height: 1.75;
  max-width: 460px;
  margin: 0 0 18px;
  color: rgba(255,255,255,0.95);
}

.omega-footer__meta{
  margin-top: 16px;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.60);
}


.omega-footer__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.omega-footer__chip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.95);
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}

.omega-footer__chip:hover{
  transform: translateY(-1px);
  background: rgba(78,156,255,0.28);
  border-color: rgba(78,156,255,0.42);
}


.omega-footer__heading{
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 0 0 22px;
  color: rgba(255,255,255,0.98);
}


.omega-footer__list,
.omega-footer__links{
  list-style: none;
  padding: 0;
  margin: 0;
}

.omega-footer__list li{
  margin-bottom: 12px;
  font-size: 14px;
  color: rgba(255,255,255,0.84);
}


.omega-footer__links li{ margin-bottom: 12px; }

.omega-footer__links a{
  color: rgba(255,255,255,0.86);
  text-decoration: none;
  position: relative;
}

.omega-footer__links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-3px;
  width:100%;
  height:1px;
  background: rgba(78,156,255,0.65);
  transform: scaleX(0);
  transform-origin: right;
  transition: transform .25s ease;
}

.omega-footer__links a:hover::after{
  transform: scaleX(1);
  transform-origin: left;
}


.omega-footer__addr{
  font-style: normal;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 16px;
  color: rgba(255,255,255,0.88);
}

.omega-footer__contactlines{
  margin: 0 0 12px;
  line-height: 1.7;
}

.omega-footer__contactlines a{
  color: rgba(255,255,255,0.95);
  text-decoration: none;
}
.omega-footer__contactlines a:hover{ text-decoration: underline; }

.omega-footer__hours{
  margin: 0;
  font-size: 12.5px;
  letter-spacing: 0.06em;
  color: rgba(255,255,255,0.68);
}


.omega-footer__divider{
  position: relative;
  z-index: 1;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(255,255,255,0.18),
    transparent
  );
}


.omega-footer__bottom{
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 22px 0 28px;
  color: rgba(255,255,255,0.70);
  font-size: 12.5px;
}

.omega-footer__copy{ margin: 0; }

.omega-footer__legal{
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.omega-footer__legal a{
  color: rgba(255,255,255,0.70);
  text-decoration: none;
}
.omega-footer__legal a:hover{ color: #ffffff; }


@media (max-width: 900px){
  .omega-footer__top{
    grid-template-columns: 1fr 1fr;
    gap: 42px;
    padding: 70px 0 50px;
  }

  .omega-footer__bottom{
    flex-direction: column;
    text-align: center;
  }

  .omega-footer__legal{
    justify-content: center;
  }
}

@media (max-width: 560px){
  .omega-footer__top{
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .omega-footer__actions{
    justify-content: center;
  }

  .omega-footer__logo{
    margin-inline: auto;
    display: block;
  }

  .omega-footer__desc{
    text-align: center;
    margin-inline: auto;
  }

  .omega-footer__meta{
    text-align: center;
  }
}



.omega-contact-form select{
  width:100%;
  height:52px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.92);
  color: #0b1020;
  font-size: 15px;
  outline: none;
}
.omega-contact-form select:focus{
  box-shadow: 0 0 0 4px rgba(51,193,255,.20);
  border-color: rgba(51,193,255,.55);
}

.omega-wetransfer{
  margin-top: 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 18px;
}
.omega-wetransfer-card{
  flex: 1 1 auto;
  display:flex;
  align-items:center;
  gap: 14px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 44px rgba(0,0,0,.35);
}
.omega-wetransfer-logo{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  object-fit: contain;
  padding: 6px;
}
.omega-wetransfer-kicker{
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.70);
  margin-bottom: 4px;
}
.omega-wetransfer-copy{
  color: rgba(255,255,255,.92);
  font-weight: 700;
  line-height: 1.25;
}
.omega-wetransfer-copy a{ color: rgba(255,255,255,.98); text-decoration: underline; text-underline-offset: 3px; }
.omega-wetransfer-muted{
  display:block;
  margin-top: 4px;
  font-weight: 600;
  color: rgba(255,255,255,.78);
}

.omega-wetransfer-btn{
  flex: 0 0 auto;
  border: 0;
  cursor:pointer;
  border-radius: 999px;
  padding: 14px 18px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color:#fff;
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  box-shadow: 0 18px 44px rgba(0,0,0,.45);
  line-height: 1;
}
.omega-wetransfer-btn:hover{ transform: translateY(-1px); }
.omega-wetransfer-btn:active{ transform: translateY(0); }

@media (max-width: 900px){
  .omega-wetransfer{
    flex-direction: column;
    align-items: stretch;
  }
  .omega-wetransfer-btn{
    width:100%;
    padding: 14px 16px;
  }
}


.omega-modal{ position: fixed; inset: 0; display:none; z-index: 9999; }
.omega-modal[aria-hidden="false"]{ display:block; }
.omega-modal-backdrop{
  position:absolute; inset:0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
}
.omega-modal-panel{
  position: relative;
  width: min(860px, 92vw);
  margin: 6vh auto 0;
  padding: 22px 22px 18px;
  border-radius: 22px;
  background: rgba(10,12,28,.92);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 90px rgba(0,0,0,.65);
  color: rgba(255,255,255,.92);
}
.omega-modal-close{
  position:absolute; top: 12px; right: 12px;
  width: 38px; height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.92);
  cursor:pointer;
}
.omega-modal-title{
  margin: 6px 0 6px;
  font-size: 28px;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.omega-modal-sub{
  margin: 0 0 14px;
  color: rgba(255,255,255,.78);
}
.omega-modal-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 14px;
}
.omega-modal-card{
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  padding: 14px 14px 12px;
}
.omega-modal-card-title{
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
  margin-bottom: 8px;
}
.omega-modal-list{ margin: 0; padding-left: 18px; color: rgba(255,255,255,.86); }
.omega-modal-list li{ margin: 6px 0; }
.omega-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap: 10px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.omega-modal-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color:#fff;
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  text-decoration:none;
  line-height:1;
}
.omega-modal-ghost{
  padding: 12px 16px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.92);
  cursor:pointer;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  line-height:1;
}
@media (max-width: 720px){
  .omega-modal-panel{ margin-top: 4vh; padding: 18px 16px 14px; }
  .omega-modal-grid{ grid-template-columns: 1fr; }
}

.no-scroll{ overflow:hidden; }



.mega-menu{
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.mega-menu::-webkit-scrollbar{ width: 10px; }
.mega-menu::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.18);
  border-radius: 999px;
  border: 2px solid rgba(6,10,27,.92);
}
.mega-menu::-webkit-scrollbar-track{ background: transparent; }

.mega-col h4{
  margin: 0 0 10px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.mega-col a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease, color .18s ease;
}
.mega-col a:hover,
.mega-col a:focus-visible{
  transform: translateY(-1px);
}

.mega-right{ padding-left: 4px; }
.mega-right .promo-img{
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 46px rgba(0,0,0,.45);
  border: 1px solid rgba(255,255,255,.10);
}
.promo-caption{
  line-height: 1.5;
  color: rgba(255,255,255,.78);
}
.mega-menu::before{
  top: -9px;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}


.omega-hero{ position: relative; }
.omega-hero::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: min(180px, 20vh);
  background: linear-gradient(to bottom, rgba(5,11,24,0), rgba(5,11,24,1));
  pointer-events:none;
  z-index: 1;
}
.hero-down{
  animation: omega-bounce 1.8s ease-in-out infinite;
}
@keyframes omega-bounce{
  0%,100%{ transform: translateY(0); opacity:.85; }
  50%{ transform: translateY(8px); opacity:1; }
}
@media (max-width: 520px){
  .hero-down{ animation: none; }
}





section{ position: relative; }

.section-scroll{
  position: absolute;
  left: 50%;
  bottom: 22px;
  transform: translateX(-50%);
  z-index: 9999;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 999px;

  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  border: 1px solid rgba(255,255,255,.22);
  text-decoration: none;

  box-shadow:
    0 18px 44px rgba(0,0,0,.55),
    0 0 0 8px rgba(51,193,255,.18),
    inset 0 0 0 1px rgba(0,0,0,.18);

  backdrop-filter: blur(8px) saturate(1.2);
  cursor: pointer;
  pointer-events: auto;
  animation: sectionArrowFloat 1.6s ease-in-out infinite;
}

.section-scroll:hover{
  transform: translateX(-50%) translateY(-2px);
  box-shadow:
    0 22px 54px rgba(0,0,0,.62),
    0 0 0 10px rgba(139,88,255,.18),
    inset 0 0 0 1px rgba(255,255,255,.12);
}

.section-scroll svg{
  width: 24px;
  height: 24px;
  stroke: #fff;
  stroke-width: 2.8;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}

@keyframes sectionArrowFloat{
  0%,100%{ transform: translateX(-50%) translateY(0); opacity: .95; }
  50%{ transform: translateX(-50%) translateY(10px); opacity: 1; }
}



.mobile-nav-accordion{ list-style: none; margin: 0; padding: 0; }
.mobile-nav-accordion .mobile-accordion{ margin-top: 10px; }




.mobile-menu-panel{
  position: fixed;
  inset: 0;
  background: linear-gradient(135deg,#0a2a52,#4b2b73);
  z-index: 9999;
  transform: translateX(100%);
  transition: transform .4s ease;
  display: flex;
  flex-direction: column;
}
.mobile-menu-panel.active{ transform: translateX(0); }

.mobile-menu-header{
  padding: 20px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.15);
}
.mobile-logo{
  color:#fff;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.1em;
}
.mobile-logo span{ font-weight:300; font-style:italic; }

.mobile-close{
  position:absolute;
  top:20px;
  right:20px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.4);
  background:none;
  color:#fff;
  font-size:22px;
}

.mobile-menu-body{
  padding:20px;
  overflow-y:auto;
}

.mobile-nav{
  list-style:none;
  padding:0;
  margin:0;
}
.mobile-nav > li > a,
.accordion-toggle{
  width:100%;
  display:block;
  padding:14px 16px;
  border-radius:999px;
  background:rgba(0,0,0,.35);
  color:#fff;
  text-decoration:none;
  font-weight:700;
  letter-spacing:.12em;
  text-align:left;
}

.mobile-accordion{ margin-top:12px; }
.accordion-panel{
  display:none;
  padding-left:14px;
}
.mobile-accordion.open .accordion-panel{ display:block; }

.accordion-panel a{
  display:block;
  padding:10px 0;
  color:rgba(255,255,255,.85);
  text-decoration:none;
}

.mobile-cta{
  margin:30px auto 10px;
  display:block;
  text-align:center;
  padding:14px 30px;
  border-radius:999px;
  background:linear-gradient(135deg,#0a8dea,#5a2fba);
  color:#fff;
  font-weight:800;
  text-decoration:none;
}

.mobile-socials{
  display:flex;
  justify-content:center;
  gap:20px;
  margin-top:20px;
}
.mobile-socials a{
  width:42px;height:42px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.4);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  text-decoration:none;
}



.mobile-close{ cursor:pointer; pointer-events:auto; position: relative; z-index: 2; }
.mobile-menu-panel{ will-change: transform; }
.mobile-menu-panel .acc-chevron{
  margin-left:auto;
  opacity:.85;
  font-size: 14px;
  transform: translateY(1px);
}
.mobile-accordion .accordion-toggle{
  display:flex;
  align-items:center;
  justify-content: space-between;
  width:100%;
  gap:12px;
}
.mobile-accordion .accordion-content a{
  display:block;
  padding: 10px 12px;
  border-top: 1px solid rgba(255,255,255,0.08);
  font-size: 11.5px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.90);
}
.mobile-accordion .accordion-content a:hover{
  background: rgba(255,255,255,0.06);
}
@media (max-width: 820px){
  .mobile-menu-panel{ width: 100vw; max-width: none; }
  .mobile-menu-body{ padding: 18px 16px 26px; }
  .mobile-menu-header{ padding: 16px; }
}
@media (max-width: 420px){
  .mobile-nav > li > a{ padding: 12px 2px; }
  .mobile-menu-header img{ max-height: 30px; }
}





@media (min-width: 981px){
  .mobile-menu-overlay,
  .mobile-menu-panel{
    display: none !important;
  }
  .mobile-hamburger{
    display: none !important;
  }
}


@media (max-width: 980px){
  .mobile-hamburger{
    display: inline-flex;
  }
  
  .nav-links, .primary-nav, .desktop-nav{
    display: none !important;
  }
}



.omega-footer__grid{
  display:grid;
  grid-template-columns: 1.2fr .7fr .9fr;
  gap: 44px;
  padding-top: 56px;
  padding-bottom: 36px;
  align-items:start;
}
.omega-footer__logo{
  display:flex;
  align-items:center;
  gap: 12px;
  margin-bottom: 16px;
}
.omega-footer__logo img{ width: 44px; height: 44px; object-fit: contain; }
.omega-footer__brandtext .omega-footer__name{
  font-weight: 800;
  letter-spacing: .12em;
  font-size: 14px;
}
.omega-footer__brandtext .omega-footer__sub{
  opacity:.85;
  font-size: 13px;
  margin-top: 2px;
}
.omega-footer__about{
  max-width: 520px;
  opacity: .9;
  line-height: 1.65;
  margin: 0 0 18px;
}
.omega-footer__cta{
  display:flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}
.omega-footer__pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 11px;
  transition: transform .18s ease, background .18s ease, opacity .18s ease;
}
.omega-footer__pill:hover{ transform: translateY(-1px); background: rgba(255,255,255,.09); }
.omega-footer__pill--primary{
  background: linear-gradient(135deg, #0a8dea, #5a2fba);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 18px 44px rgba(0,0,0,.45);
}
.omega-footer__loc{
  opacity: .7;
  letter-spacing: .18em;
  font-weight: 700;
  font-size: 11px;
  margin-top: 6px;
}
.omega-footer__links h4,
.omega-footer__contact h4{
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: 12px;
  margin: 0 0 14px;
  opacity: .92;
}
.omega-footer__links a{
  display:block;
  text-decoration:none;
  color: rgba(255,255,255,.86);
  padding: 8px 0;
  border-top: 1px solid rgba(255,255,255,.06);
}
.omega-footer__links a:first-of-type{ border-top: 0; }
.omega-footer__links a:hover{ color: rgba(255,255,255,1); }
.omega-footer__contact a{
  display:block;
  color: rgba(255,255,255,.9);
  text-decoration:none;
  padding: 6px 0;
}
.omega-footer__hours{ opacity:.75; margin-top: 10px; }
.omega-footer__social{ display:flex; gap: 10px; margin-top: 14px; }
.omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}
.omega-social:hover{ background: rgba(255,255,255,.10); }
.omega-footer__divider{
  height: 1px;
  background: rgba(255,255,255,.10);
  margin: 0;
}
.omega-footer__bottom{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0 22px;
  flex-wrap: wrap;
}
.omega-footer__copy{
  margin: 0;
  opacity: .8;
  font-size: 13px;
}
.omega-footer__legal{
  display:flex;
  gap: 18px;
  flex-wrap: wrap;
}
.omega-footer__legal a{
  color: rgba(255,255,255,.72);
  text-decoration:none;
  font-size: 13px;
}
.omega-footer__legal a:hover{ color: rgba(255,255,255,1); }


.site-footer .footer-inner{
  display:grid;
  grid-template-columns: 1.2fr .7fr .9fr;
  gap: 44px;
  padding: 56px 0 28px;
}
.site-footer .footer-logo{ display:flex; align-items:center; gap: 12px; margin-bottom: 16px; }
.site-footer .footer-logo img{ width:44px; height:44px; object-fit:contain; }
.site-footer .footer-name{ font-weight:800; letter-spacing:.12em; font-size:14px; }
.site-footer .footer-sub{ opacity:.85; font-size:13px; margin-top:2px; }
.site-footer .footer-about{ opacity:.9; line-height:1.65; margin:0 0 18px; max-width:520px; }
.site-footer .footer-cta{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:14px; }
.site-footer .footer-pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:11px;
  transition: transform .18s ease, background .18s ease;
}
.site-footer .footer-pill:hover{ transform: translateY(-1px); background: rgba(255,255,255,.09); }
.site-footer .footer-pill--primary{
  background: linear-gradient(135deg, #0a8dea, #5a2fba);
  border-color: rgba(255,255,255,.10);
  box-shadow: 0 18px 44px rgba(0,0,0,.45);
}
.site-footer .footer-loc{ opacity:.7; letter-spacing:.18em; font-weight:700; font-size:11px; margin-top:6px; }
.site-footer .footer-links h4, .site-footer .footer-contact h4{
  font-weight:800; letter-spacing:.14em; text-transform:uppercase; font-size:12px; margin:0 0 14px; opacity:.92;
}
.site-footer .footer-links a{
  display:block; text-decoration:none; color: rgba(255,255,255,.86);
  padding:8px 0; border-top:1px solid rgba(255,255,255,.06);
}
.site-footer .footer-links a:first-of-type{ border-top:0; }
.site-footer .footer-links a:hover{ color: rgba(255,255,255,1); }
.site-footer .footer-contact a{ display:block; color: rgba(255,255,255,.9); text-decoration:none; padding:6px 0; }
.site-footer .footer-hours{ opacity:.75; margin-top:10px; }
.site-footer .footer-social{ display:flex; gap:10px; margin-top:14px; }
.site-footer .social-dot{
  width:40px; height:40px; border-radius:999px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.18);
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.06);
  text-decoration:none;
}
.site-footer .social-dot:hover{ background: rgba(255,255,255,.10); }
.site-footer .footer-bottom{
  border-top: 1px solid rgba(255,255,255,.10);
  padding: 16px 0 22px;
  display:flex; align-items:center; justify-content: space-between; gap:16px; flex-wrap:wrap;
}
.site-footer .footer-copy{ opacity:.8; font-size:13px; }
.site-footer .footer-legal{ display:flex; gap:18px; flex-wrap:wrap; }
.site-footer .footer-legal a{ color: rgba(255,255,255,.72); text-decoration:none; font-size:13px; }
.site-footer .footer-legal a:hover{ color: rgba(255,255,255,1); }

@media (max-width: 980px){
  .omega-footer__grid{ grid-template-columns: 1fr; gap: 26px; padding-top: 44px; }
  .site-footer .footer-inner{ grid-template-columns: 1fr; gap: 26px; padding-top: 44px; }
}



@media (max-width: 980px){
  .mobile-menu-header--center{
    display:flex;
    align-items:center;
    justify-content:center;
    position: relative;
    padding: 18px 16px 10px;
  }
  .mobile-menu-brand{
    display:flex;
    flex-direction: column;
    align-items:center;
    justify-content:center;
    gap: 6px;
    text-align:center;
  }
  .mobile-menu-brand img{
    width: min(280px, 78vw);
    height: auto;
    max-height: 78px;
    object-fit: contain;
    display:block;
  }
  .mobile-brand-sub{
    opacity: .85;
    font-size: 13px;
    margin-top: 0;
  }

  .mobile-brand-text{ line-height: 1.05; }
  .mobile-brand-name{
    font-weight: 800;
    letter-spacing: .14em;
    font-size: 14px;
  }
  .mobile-brand-sub{
    opacity: .85;
    font-size: 13px;
    margin-top: 4px;
  }
  #mobileClose.mobile-close{
    position:absolute;
    right: 14px;
    top: 14px;
  }

  
  .mobile-cta, a.mobile-cta{
    background: linear-gradient(135deg, #0a8dea, #5a2fba) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 18px 44px rgba(0,0,0,.45) !important;
    padding: 14px 16px !important;
    border-radius: 999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    font-weight: 800 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    margin-top: 16px !important;
  }

  
  .mobile-social{
    display:flex;
    justify-content:center;
    gap: 12px;
    margin-top: 16px;
  }
  .mobile-social-btn{
    width: 44px;
    height: 44px;
    border-radius: 999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border: 1px solid rgba(255,255,255,.22);
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.92);
    text-decoration:none;
  }
  .mobile-social-btn svg{
    width: 20px;
    height: 20px;
    fill: currentColor;
  }
  .mobile-social-btn:hover{
    background: rgba(255,255,255,.10);
    transform: translateY(-1px);
  }
}





.omega-header{ padding-top: 18px; padding-bottom: 12px; }
.omega-top{ gap: 20px; align-items:center; }
.omega-actions{ gap: 16px; align-items:center; }
.header-icon{ width: 40px; height: 40px; }


.mobile-menu-overlay{ background: rgba(0,0,0,.55); backdrop-filter: blur(6px); }
@media (max-width: 980px){
  .omega-header{ padding-top: 16px; padding-bottom: 10px; }
  .omega-top{ gap: 16px; }
  .omega-actions{ gap: 14px; }

  .mobile-nav > li > a,
  .mobile-accordion .accordion-toggle{ padding: 14px 10px; }

  .mobile-accordion .accordion-toggle{ border-radius: 14px; }
  .mobile-accordion .accordion-content a{ border-radius: 12px; }

  .mobile-nav > li > a:hover,
  .mobile-accordion .accordion-toggle:hover{ background: rgba(255,255,255,.06); }

  .mobile-accordion .accordion-content a:focus{
    outline: 2px solid rgba(51,193,255,.55);
    outline-offset: 2px;
  }
}


@media (max-width: 980px){
  .omega-footer__grid,
  .site-footer .footer-inner{ padding-bottom: 28px; }
}


img{ height:auto; }


.header-icon[aria-label="Map"], .map-icon{ display:none !important; }


.omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}
.omega-social a{
  text-decoration:none;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:4px;
}
.omega-social a i{
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.38);
  font-size:20px;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.omega-social a .social-label{
  font-size:11px;
  letter-spacing:.02em;
  opacity:.92;
  line-height:1;
}
.omega-social a i,
.omega-social a svg{
  width: 18px !important;
  height: 18px !important;
  line-height: 1 !important;
  display: block !important;
}


@media (max-width: 980px){
  .site-header .omega-social,
  header .omega-social,
  .header-social,
  .top-social{ display:none !important; }
}


.omega-scrolllock{ overflow: hidden; }



.omega-googleApiReviews .gr-apiSub{
  text-align: center;
  margin: 10px auto 18px;
  max-width: 80ch;
  opacity: .9;
  line-height: 1.6;
}
.omega-googleApiReviews .gr-apiBar{
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  width: min(980px, 100%);
  margin: 0 auto 12px;
  padding: 12px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
}
.omega-googleApiReviews .gr-apiMeta{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.omega-googleApiReviews .gr-gBadge{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  flex: 0 0 28px;
}
.omega-googleApiReviews .gr-apiMetaText{
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
  opacity: .9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.omega-googleApiReviews .gr-miniBtn{
  padding: 10px 14px;
  font-size: 11px;
  letter-spacing: .12em;
}

.omega-googleApiReviews .gr-apiWrap{
  width: min(980px, 100%);
  margin: 0 auto;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.38);
  box-shadow: 0 22px 60px rgba(0,0,0,.40);
  backdrop-filter: blur(10px);
}
.omega-googleApiReviews .gr-loading,
.omega-googleApiReviews .gr-error{
  padding: 18px 18px 16px;
  opacity: .88;
}
.omega-googleApiReviews .gr-list{
  max-height: 520px;
  overflow: auto;
  padding: 16px;
  display: grid;
  gap: 14px;
}


.omega-googleApiReviews .gr-card{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  padding: 14px 14px 12px;
}
.omega-googleApiReviews .gr-top{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.omega-googleApiReviews .gr-avatar{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  background: rgba(51,193,255,.14);
  border: 1px solid rgba(51,193,255,.35);
  flex: 0 0 40px;
  overflow: hidden;
}
.omega-googleApiReviews .gr-avatar img{
  width: 90%;
  height: auto;
  object-fit: cover;
  display: block;
}
.omega-googleApiReviews .gr-who{
  min-width: 0;
}
.omega-googleApiReviews .gr-name{
  font-weight: 900;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.omega-googleApiReviews .gr-metaRow{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 3px;
  opacity: .88;
  font-size: 12px;
}
.omega-googleApiReviews .gr-stars{
  letter-spacing: 1px;
}
.omega-googleApiReviews .gr-time{
  opacity: .85;
}
.omega-googleApiReviews .gr-text{
  margin: 0;
  opacity: .92;
  line-height: 1.65;
}

.omega-googleApiReviews .gr-apiNote{
  text-align: center;
  margin: 12px auto 0;
  opacity: .72;
  font-size: 13px;
  max-width: 80ch;
}


@media (max-width: 980px){
  .omega-googleApiReviews .gr-apiBar{
    border-radius: 18px;
    flex-direction: column;
    align-items: flex-start;
  }
  .omega-googleApiReviews .gr-list{
    max-height: 64vh;
  }
}




@media (max-width: 768px){
  }





@media (max-width: 768px){
  }



.has-scroll-cue{ position: relative; overflow: visible; }

.section-scroll-cue{
  position: absolute;
  left: 50%;
  bottom: 20px;
  transform: translateX(-50%);
  z-index: 7;
  pointer-events: none;
}

.scroll-cue{
  pointer-events: auto;
  width: 50px;
  height: 50px;
  border-radius: 999px;
  border: none;
  background: linear-gradient(135deg, #0a8dea, #5a2fba);
  color: #fff;
  box-shadow: 0 12px 34px rgba(0,0,0,.35), inset 0 0 0 2px rgba(255,255,255,.14);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  opacity: .95;
}

.scroll-cue:hover{
  transform: translateY(2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.28), inset 0 0 0 2px rgba(255,255,255,.20);
}
.scroll-cue:active{ transform: translateY(3px); }
.scroll-cue:focus-visible{
  outline: 2px solid rgba(255,255,255,.75);
  outline-offset: 4px;
}

.section-scroll-cue.is-last{ display: none; }

@media (max-width: 768px){
  .section-scroll-cue{ bottom: 16px; }
  .scroll-cue{ width: 44px; height: 44px; }
}




body.omega-menu-open .section-scroll-cue,
body.omega-menu-open .scroll-cue{
  display:none !important;
}


.mobile-menu-panel .mobile-menu-brand img{
  width: min(260px, 70vw);
  max-width: 260px;
  height: auto;
  display:block;
}


.mobile-menu-panel .mobile-menu-brand{
  gap: 0;
  padding: 10px 0 6px;
}


.mobile-menu-panel .mobile-brand-text{
  display:none !important;
}


.mobile-menu-panel .mobile-social{
  gap: 14px;
  margin-top: 10px;
}
.mobile-menu-panel .mobile-social-btn{
  width: 50px;
  height: 50px;
  border-radius: 999px;
}
.mobile-menu-panel .mobile-social-btn svg{
  width: 24px;
  height: 24px;
  display:block;
}





body.omega-menu-open .section-scroll-cue,
body.omega-menu-open .scroll-cue{
  display:none !important;
}


.mobile-menu-panel .section-scroll-cue,
.mobile-menu-panel .scroll-cue{
  display:none !important;
}


.mobile-menu-panel .mobile-menu-header--center{
  padding-top: 10px;
  padding-bottom: 8px;
}

.mobile-menu-panel .mobile-menu-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 10px;
}

.mobile-menu-panel .mobile-menu-brand img{
  width: min(300px, 78vw);
  max-width: 300px;
  height: auto;
  display:block;
}


.mobile-menu-panel .mobile-brand-sub,
.mobile-menu-panel .mobile-brand-text,
.mobile-menu-panel .mobile-brand-subtitle{
  display:none !important;
}


.mobile-menu-panel .mobile-social{
  margin-top: 14px;
  gap: 16px;
}

.mobile-menu-panel .mobile-social-btn{
  width: 58px;
  height: 58px;
  border-radius: 999px;
}

.mobile-menu-panel .mobile-social-btn svg{
  width: 28px;
  height: 28px;
  display:block;
}




body.lock-scroll .section-scroll,
body.lock-scroll .hero-down,
body.lock-scroll .brands-down,
body.omega-menu-open .section-scroll,
body.omega-menu-open .hero-down,
body.omega-menu-open .brands-down{
  display: none !important;
}



#videoModal.modal-overlay{
  background: rgba(0,0,0,0.92);
  backdrop-filter: none;
}
.modal-video{
  background: #000;
}
.modal-video .modal-close{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 30;
  pointer-events: auto;
}



@media (max-width: 520px){
  .premium-brands{
    padding: 48px 0 72px;           
    background-position: center top; 
  }
  .brands-title{
    padding-top: 0;                
    font-size: 24px;
    letter-spacing: 0.12em;
    margin-bottom: 10px;
  }
  .brands-logos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
    margin-top: 12px;
  }
  .brands-logos img{
    max-width: 170px;
    height: 42px;
    width: 90%;
    object-fit: contain;
  }
}


.premium-brands::before{ aspect-ratio: 16 / 7; } 
  .brands-title{ padding-top: 64px; font-size: 26px; letter-spacing: 0.12em; }
  .brands-logos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 12px;
    margin-top: 14px;
  }
  .brands-logos img{
    max-width: 160px;
    max-height: 42px;
    width: 90%;
    height: auto;
  }
}



@media (max-width: 900px){
  .omega-contact-bottom-grid{
    grid-template-columns: 1.1fr 0.9fr;
    gap: 22px;
    align-items: start;
  }
  .omega-contact-map iframe{
    height: 240px;
  }
}
@media (max-width: 520px){
  .omega-contact-bottom-grid{
    grid-template-columns: 1.15fr 0.85fr;
    gap: 16px;
    align-items: start;
  }
  .omega-contact-map{
    min-height: 160px;
  }
  .omega-contact-map iframe{
    height: 160px;
    min-height: 160px;
  }
}

@media (max-width: 380px){
  .omega-contact-bottom-grid{
    grid-template-columns: 1fr;
  }
  .omega-contact-map iframe{
    height: 200px;
    min-height: 200px;
  }
}



@media (max-width: 560px){
  .omega-footer__heading{ text-align: center; }
  .omega-footer__list li,
  .omega-footer__links li{ text-align: center; }
  .omega-footer__list a,
  .omega-footer__links a{
    justify-content: center;
  }
  .omega-footer__contact li{
    justify-content: center;
    text-align: center;
  }
}





@media (max-width: 768px) {
  
  section.premium-brands#brands{
    overflow: visible;          
    min-height: unset;          

    padding-top: 44px;
    padding-bottom: 110px;      

    background-color: #ffffff;
    background-image: url("images/brands_bk.png");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 88%;
  }

  .brands-title{
    font-size: 34px;
    line-height: 1.18;
    letter-spacing: .22em;
    margin-bottom: 26px;
  }

  .brands-logos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 18px;
    align-items: center;
    justify-items: center;
    margin-inline: auto;
    max-width: 520px;
  }

  .brands-logos .brand img{
    max-height: 48px;
    width: auto;
    object-fit: contain;
  }
}
.brands-logos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 18px;
    align-items: center;
    justify-items: center;
    margin-inline: auto;
    max-width: 520px;
  }

  .brands-logos .brand img{
    max-height: 48px;
    width: auto;
    object-fit: contain;
  }
}





.premium-brands{
  display: flex;
  align-items: center;
}
.premium-brands .premium-brands-inner{
  width: min(1280px, 94%);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


.premium-brands .brands-down{
  position: absolute;
  left: 50%;
  bottom: 26px;
  transform: translateX(-50%);
}



@media (max-width: 768px) {
  section#brands.premium-brands{
    min-height: unset;
    overflow: visible;
    padding: 46px 0 56px;

    background-image: url("./images/prem_brands.jpg") !important;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center 88%;
    background-color: #fff; 
  }
}

  .premium-brands .premium-brands-inner{
    gap: 20px;
  }

  .brands-logos{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
    max-width: 520px;
  }

  .brands-logos .brand img{
    max-height: 50px;
    width: auto;
    object-fit: contain;
  }

  .premium-brands .brands-down{
    bottom: 16px;
  }

}


/* =========================================
   DESKTOP HEADER SOCIAL CROPPING FIX
   Ensures left social icons never sit on the viewport edge
   ========================================= */
@media (min-width: 981px){
  .omega-header > .container{
    padding-left: max(22px, env(safe-area-inset-left));
    padding-right: max(22px, env(safe-area-inset-right));
    box-sizing: border-box;
  }
  .omega-top{ overflow: visible; }
  .omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}
  .omega-actions{ justify-self: end; }
}

/* Prevent any rare horizontal clipping from sticky transforms */
html, body{ overflow-x: hidden; }

/* =========================================
   HOTFIX: Desktop header social icons cropping
   Cause: .omega-social is also used in the footer and later rules
   were overriding the header container sizing.
   Fix: scope header and footer rules explicitly.
   ========================================= */

/* Header: ensure the social "container" behaves like a container */
@media (min-width: 981px){
  .omega-header .omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}
  .omega-header .omega-social a{
  text-decoration:none;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:4px;
}
.omega-social a i{
  width:46px;
  height:46px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.38);
  font-size:20px;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.omega-social a .social-label{
  font-size:11px;
  letter-spacing:.02em;
  opacity:.92;
  line-height:1;
}

  /* Keep the header content safely inside the viewport */
  .omega-header > .container{
    padding-left: max(28px, env(safe-area-inset-left));
    padding-right: max(28px, env(safe-area-inset-right));
  }
}

/* Footer: keep the circular social buttons style only for footer links */
.omega-footer__social a.omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}

/* =========================================
   TUNE: Reduce excess header height on desktop (less empty space above hero)
   ========================================= */
@media (min-width: 981px){
  .omega-header{
    padding: 26px 0 30px;
  }
  .omega-header.is-compact{
    padding: 16px 0 10px;
  }
}


/* =========================================
   MOBILE FOOTER BALANCE (centered + rows)
   ========================================= */
@media (max-width: 980px){

  /* Center everything visually */
  .omega-footer{
    text-align: center;
  }

  .omega-footer__grid{
    justify-items: center;
    gap: 22px;
  }

  .omega-footer__brand,
  .omega-footer__links,
  .omega-footer__contact{
    width: 90%;
    max-width: 520px;
  }

  .omega-footer__logo{
    justify-content: center;
  }

  .omega-footer__about{
    margin-left: auto;
    margin-right: auto;
  }

  .omega-footer__cta{
    justify-content: center;
  }

  /* Quick links in 2 balanced columns */
  .omega-footer__links{
    text-align: center;
  }
  .omega-footer__links a{
    display: inline-flex;
    justify-content: center;
    width: 90%;
  }
  .omega-footer__links{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
  }
  .omega-footer__links h4{
    grid-column: 1 / -1;
    margin-bottom: 6px;
  }

  /* Contact block centered */
  .omega-footer__contact{
    text-align: center;
  }
  .omega-footer__contact a{
    display: inline-block;
  }

  /* Social icons centered row */
  .omega-footer__social{
    display: flex;
    justify-content: center;
    gap: 14px;
    margin-top: 14px;
  }
  .omega-footer__social .omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}

  /* Bottom row stacks nicely */
  .omega-footer__bottom{
    display: grid;
    gap: 14px;
    justify-items: center;
    text-align: center;
    padding-top: 18px;
    padding-bottom: 22px;
  }
  .omega-footer__legal{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 16px;
  }
}

/* =========================================
   CONTACT MAP MOBILE TWO-COL + STACK SMALL
   ========================================= */
@media (max-width: 560px){
  .omega-contact-bottom-grid{
    grid-template-columns: 1.2fr 0.8fr;
    gap: 14px;
    align-items: start;
  }
  .omega-contact-details{ gap: 16px; }
  .omega-detail{ padding-left: 12px; }
  .omega-detail-text{ font-size: 15px; }
  .omega-contact-map{ min-height: 160px; }
  .omega-contact-map iframe{
    height: 160px;
    min-height: 160px;
  }
}

/* =========================================
   MOBILE HEADER LOGO SIZE (slightly smaller)
   ========================================= */
@media (max-width: 980px){
  .omega-logo-img{ width: 168px; }
}
@media (max-width: 420px){
  .omega-logo-img{ width: 156px; }
}

/* =========================================
   FOOTER SOCIAL ICON UPGRADE + CENTER TEXT
   ========================================= */
.omega-footer__social .omega-social{display:flex;align-items:center;gap:14px;justify-content:center;}
.omega-footer__social .omega-social i{
  font-size: 16px;
}
.omega-footer__social .omega-social:hover{
  transform: translateY(-2px);
  border-color: rgba(51,193,255,0.85);
  box-shadow: 0 14px 28px rgba(0,0,0,0.45);
  background: linear-gradient(180deg, rgba(51,193,255,0.18), rgba(255,255,255,0.04));
}

@media (max-width: 980px){
  .omega-footer__brand,
  .omega-footer__links,
  .omega-footer__contact{
    text-align: center;
  }
  .omega-footer__contact div,
  .omega-footer__contact a{
    margin-left: auto;
    margin-right: auto;
  }
}


/* ===== Desktop hero safety fixes (prevents mobile overrides from distorting desktop) ===== */
@media (min-width: 769px) {
  .omega-social a i { font-size: 16px; }
  .hero-actions { flex-wrap: nowrap; }
  .btn-primary, .btn-secondary { min-width: 180px; white-space: nowrap; }
  .btn-play { width: 54px; height: 54px; margin-left: 4px; }
  .btn-play .play-icon { width: 18px; height: 18px; }
}
/* Make hero videos behave consistently across browsers */
.hero-video-slide video {
  width: 90%;
  height: auto;
  object-fit: cover;
  object-position: center;
}


/* --- HERO: ensure desktop & mobile videos behave correctly --- */
.hero-video-mobile-slide { display: none; }

/* Desktop: keep pills stable */
@media (min-width: 769px) {
  .hero-actions { gap: 16px; flex-wrap: nowrap; }
  .hero-actions .btn-primary,
  .hero-actions .btn-secondary {
    width: auto;
    min-width: 210px;
  }
}

/* Mobile: use the dedicated mobile hero video only */
@media (max-width: 768px) {
  .hero-video-mobile-slide { display: block; }
  .hero-slide:not(.hero-video-mobile-slide) { display: none !important; }
  .hero-pagination { display: none !important; }
}


/* ===== HERO VIDEO (SINGLE SOURCE, NO SLIDER) ===== */
.omega-hero { background: #000; }
.omega-hero .hero-slider,
.omega-hero .hero-slide,
.omega-hero .hero-pagination,
.omega-hero .hero-dot { display: none !important; }

.hero-video-bg{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  z-index: 0;
  pointer-events: none;
  background: #000;
}

/* Hide native controls if a browser tries to show them */
.hero-video-bg::-webkit-media-controls{ display:none !important; }
.hero-video-bg::-webkit-media-controls-enclosure{ display:none !important; }
.hero-video-bg::-webkit-media-controls-panel{ display:none !important; }


/* Hero video source selection WITHOUT JS (fixes Safari autoplay requiring tap) */
.hero-video-desktop{ display:block; }
.hero-video-mobile{ display:none; }

/* Mobile/tablet/touch: show mobile hero video */
@media (max-width: 768px), (pointer: coarse) {
  .hero-video-desktop{ display:none; }
  .hero-video-mobile{ display:block; }
}



/* ================================
   HERO VIDEO: Force true background on ALL browsers (prevents generic video rules from breaking hero)
   ================================ */
.omega-hero{
  position: relative;
  isolation: isolate; /* keeps stacking predictable across Chrome/Safari */
}

.omega-hero > video.hero-video-bg,
.omega-hero video#heroVideo.hero-video-bg{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  min-width: 100% !important;
  min-height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #000 !important;
  z-index: 0 !important;
  pointer-events: none;
}

.omega-hero .hero-overlay{
  z-index: 0;
  pointer-events: none;
}

.omega-hero .hero-content{
  position: relative;
  z-index: 2;
}

/* ===== HERO VIDEO HARD OVERRIDE (final) ===== */
.omega-hero{ overflow:hidden; }
.omega-hero video{ display:block; }
@media (max-width: 768px){
  .omega-hero{ min-height: 620px; }
}


/* ===== HERO VIDEO: cross-browser autoplay background (v5) ===== */
.omega-hero{
  position: relative;
  overflow: hidden;
  isolation: isolate; /* prevents video compositing from covering text in Safari/Chrome */
  height: clamp(520px, 78vh, 860px);
  height: clamp(520px, 78svh, 860px);
  height: clamp(520px, 78dvh, 860px);
}

.omega-hero .hero-overlay{ z-index: 1; }
.omega-hero .hero-content{ z-index: 2; }

.omega-hero .hero-video-bg{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  /* Adjust framing so faces aren't overly cropped on wide desktop screens */
  object-position: 65% 40% !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: #000 !important;
}

/* Avoid Safari showing a "play" overlay by making the video non-interactive */
.omega-hero .hero-video-bg::-webkit-media-controls,
.omega-hero .hero-video-bg::-webkit-media-controls-panel,
.omega-hero .hero-video-bg::-webkit-media-controls-start-playback-button{
  display: none !important;
  -webkit-appearance: none !important;
}

.omega-hero .hero-video-mobile{
  opacity: 0;
  visibility: hidden;
}

.omega-hero .hero-video-desktop{
  opacity: 1;
  visibility: visible;
}

/* Mobile / touch: swap to the mobile hero video */
@media (max-width: 768px), (pointer: coarse){
  .omega-hero{
    height: 100svh;
    height: 100dvh;
    min-height: 640px;
  }
  .omega-hero .hero-video-bg{ object-position: 50% 50% !important; }
  .omega-hero .hero-video-desktop{
    opacity: 0;
    visibility: hidden;
  }
  .omega-hero .hero-video-mobile{
    opacity: 1;
    visibility: visible;
  }
}

/* ===== HERO VIDEO TUNING (v6) =====
   Safari/Chrome were displaying the hero as "too big" (over-cropped) on desktop.
   This reduces hero height a touch and centers framing for a more natural look.
*/
@media (min-width: 769px){
  .omega-hero{
    height: clamp(420px, 55vh, 620px);
    height: clamp(420px, 55svh, 620px);
    height: clamp(420px, 55dvh, 620px);
  }
  .omega-hero .hero-video-bg{
    object-position: 50% 42% !important;
  }
}



/* ===== HERO LAYERING OVERRIDES (v7) ===== */
.omega-hero{ position: relative; overflow:hidden; isolation:isolate; background:#000; }
.omega-hero .hero-overlay{ position:absolute; inset:0; z-index:1; }
.omega-hero .hero-content{ position:relative; z-index:2; }

/* Match gradient overlay coverage to the scaled hero background video (prevents edge gaps) */
.omega-hero .hero-overlay{
  top:50% !important;
  left:50% !important;
  width:100% !important;
  height:100% !important;
  inset:auto !important;
  transform: translate(-50%, -50%) scale(1.06) !important;
  transform-origin: center !important;
}

/* ===== HERO SIZE OVERRIDE (v8) =====
   Further reduce desktop hero height to avoid "too zoomed" look on Chrome/Safari wide screens.
*/
@media (min-width: 769px){
  .omega-hero{
    height: clamp(340px, 44vh, 540px);
    height: clamp(340px, 44svh, 540px);
    height: clamp(340px, 44dvh, 540px);
  }
  .omega-hero .hero-video-bg{
    object-position: 50% 35% !important;
  }
}


/* --- START CASE (BOLD + MAGAZINE) --- */
.start-case-hero{
  position: relative;
  background-image: url("images/contact_bk.jpg");
  background-size: cover;
  background-position: 20% center; /* keeps receptionist face in frame */
  height: 720px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.start-case-overlay{
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(6,16,35,0.82) 0%,
    rgba(6,16,35,0.58) 30%,
    rgba(6,16,35,0.25) 55%,
    rgba(6,16,35,0.06) 82%
  );
  display: flex;
  align-items: center;
}

.start-case-content{
  position: relative;
  z-index: 2;
  color: #fff;
  max-width: 720px;
  margin-left: 32%;
  padding: 10px 0;
  display: flex;
  gap: 20px;
  align-items: flex-start;
  animation: startCasePop .75s ease both;
}

@keyframes startCasePop{
  from{ opacity: 0; transform: translateY(14px); }
  to{ opacity: 1; transform: translateY(0); }
}

.start-case-rule{
  width: 2px;
  height: 240px;
  margin-top: 6px;
  border-radius: 2px;
  background: linear-gradient(to bottom, #0a8dea, #5a2fba);
  opacity: 0.9;
}

.start-case-inner{ flex: 1; }

.start-case-label{
  display: inline-block;
  font-size: 13px;
  letter-spacing: 4px;
  text-transform: uppercase;
  opacity: 0.95;
  margin-bottom: 16px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.start-case-mag h2{
  font-size: 66px;
  line-height: 1.02;
  margin: 0 0 18px;
  font-weight: 750;
  letter-spacing: -0.6px;
}

.phone-cta{
  display: inline-block;
  text-decoration: none;
  margin-bottom: 16px;
}

.phone-pill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border-radius: 999px;
  font-size: 40px;
  font-weight: 800;
  letter-spacing: 0.4px;
  background: linear-gradient(90deg, #0a8dea, #5a2fba);
  color: #fff;
  box-shadow: 0 18px 55px rgba(0,0,0,0.45);
  border: 1px solid rgba(255,255,255,0.18);
  transition: transform .25s ease, filter .25s ease;
}

.phone-cta:hover .phone-pill{
  transform: translateY(-2px);
  filter: brightness(1.05);
}

.start-case-mag .subtitle{
  font-size: 18px;
  opacity: 0.92;
  margin: 0 0 18px;
  letter-spacing: 0.2px;
}

.start-case-actions{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.start-case-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 650;
  letter-spacing: 0.2px;
}

.start-case-btn.ghost{
  border: 1px solid rgba(255,255,255,0.26);
  color: rgba(255,255,255,0.95);
  background: rgba(255,255,255,0.06);
  transition: .25s ease;
}

.start-case-btn.ghost:hover{
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.40);
}

.start-case-signoff{
  margin-top: 18px;
  font-size: 13px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  opacity: 0.92;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.start-case-signoff .brand{ font-weight: 700; opacity: 0.98; }
.start-case-signoff .dot{ opacity: 0.7; }
.start-case-signoff .loc{ opacity: 0.85; }

@media (max-width: 768px){
  .start-case-hero{
    height: 560px;
    background-position: center top;
  }

  .start-case-overlay{
    background: linear-gradient(
      to bottom,
      rgba(6,16,35,0.80),
      rgba(6,16,35,0.60)
    );
    align-items: flex-end;
    padding: 0 0 44px;
  }

  .start-case-content{
    margin-left: 6%;
    margin-right: 6%;
    max-width: 90%;
    display: block;
  }

  .start-case-rule{
    width: 54px;
    height: 2px;
    margin: 0 0 14px;
  }

  .start-case-mag h2{ font-size: 38px; }
  .phone-pill{ font-size: 24px; padding: 12px 14px; }
  .start-case-mag .subtitle{ font-size: 15px; }
  .start-case-signoff{ font-size: 12px; letter-spacing: 0.5px; }
}


/* =============================
   CONTACT SPLIT SECTION (Home)
   Left = Reception callout
   Right = Contact form
   No background image
============================= */

#contact.contact-split{
  background: #ffffff !important;
  color: #0b1220 !important;
  padding: 120px 0 !important;
}

#contact.contact-split .contact-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}

#contact.contact-split .contact-left{
  position: relative;
}

#contact.contact-split .contact-accent{
  width: 4px;
  height: 110px;
  background: linear-gradient(180deg, #0a8dea, #5a2fba);
  border-radius: 999px;
  margin-bottom: 24px;
}

#contact.contact-split .contact-kicker{
  letter-spacing: .25em;
  font-size: 13px;
  font-weight: 700;
  color: #5a2fba;
  margin-bottom: 12px;
  text-transform: uppercase;
}

#contact.contact-split .contact-title{
  font-family: "Cinzel", serif;
  font-size: 40px;
  line-height: 1.1;
  margin-bottom: 18px;
  color: #0b1220;
}

#contact.contact-split .contact-phone{
  display: inline-block;
  font-size: 30px;
  font-weight: 800;
  padding: 16px 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0a8dea, #5a2fba);
  color: #ffffff;
  margin-bottom: 22px;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  box-shadow: 0 16px 34px rgba(10,141,234,.20);
}

#contact.contact-split .contact-phone:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 46px rgba(90,47,186,.22);
  filter: brightness(1.02);
}

#contact.contact-split .contact-meta p{
  font-size: 14px;
  margin-bottom: 6px;
  color: rgba(11,18,32,.70);
}

#contact.contact-split .contact-right form{
  background: #f6f8fc;
  padding: 40px;
  border-radius: 20px;
  border: 1px solid rgba(11,18,32,.10);
  box-shadow: 0 20px 60px rgba(0,0,0,.08);
}

#contact.contact-split .contact-right input,
#contact.contact-split .contact-right select,
#contact.contact-split .contact-right textarea{
  background: #ffffff;
  color: #0b1220;
  border: 1px solid rgba(11,18,32,.14);
}

/* Mobile stack */
@media (max-width: 980px){
  #contact.contact-split{
    padding: 80px 0 !important;
  }
  #contact.contact-split .contact-grid{
    grid-template-columns: 1fr;
    gap: 44px;
  }
  #contact.contact-split .contact-title{
    font-size: 32px;
  }
  #contact.contact-split .contact-phone{
    font-size: 24px;
    padding: 14px 22px;
  }
  #contact.contact-split .contact-right form{
    padding: 26px;
  }
}


/* =============================
   CONTACT BACKGROUND IMAGE UPDATE
============================= */

#contact.contact-split{
  background: url('images/contact_bk.jpg') center center / cover no-repeat !important;
  position: relative;
  color: #ffffff !important;
}

#contact.contact-split::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.15) 100%);
}

#contact.contact-split .container{
  position: relative;
  z-index: 2;
}

#contact.contact-split .contact-title,
#contact.contact-split .contact-meta p,
#contact.contact-split .contact-kicker{
  color: #ffffff !important;
}

#contact.contact-split .contact-right form{
  background: rgba(255,255,255,.95);
}



/* =============================
   CONTACT FORM TEXT VISIBILITY FIX
============================= */

#contact.contact-split .contact-right form{
  background: #ffffff !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.18);
}

#contact.contact-split .contact-right label{
  color: #1a1a1a !important;
  font-weight: 600;
}

#contact.contact-split .contact-right input,
#contact.contact-split .contact-right select,
#contact.contact-split .contact-right textarea{
  color: #111 !important;
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,.30) !important;
}

#contact.contact-split .contact-right input::placeholder,
#contact.contact-split .contact-right textarea::placeholder{
  color: rgba(0,0,0,.55) !important;
}

#contact.contact-split .contact-right select{
  color: #111 !important;
}



/* Final SEND MESSAGE clarity */
.omega-contact-btn{
  background: linear-gradient(135deg, #0a8dea, #5a2fba) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  letter-spacing: .12em !important;
  opacity: 1 !important;
}


/* =============================
   SEND MESSAGE BUTTON – CLEARER
============================= */
.omega-contact-btn{
  background: linear-gradient(135deg, #0a8dea 0%, #4a37c9 55%, #5a2fba 100%) !important;
  color: #ffffff !important;
  opacity: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  font-size: 15px !important;
  text-shadow: 0 2px 10px rgba(0,0,0,.28) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  box-shadow: 0 22px 55px rgba(10,141,234,.25), 0 18px 40px rgba(90,47,186,.18) !important;
}

.omega-contact-btn:hover{
  filter: brightness(1.05) saturate(1.05);
  transform: translateY(-2px);
}

.omega-contact-btn:active{
  transform: translateY(0px);
  filter: brightness(0.98);
}


/* =============================
   FINAL SUBMIT BUTTON FIX
============================= */

.omega-contact-btn{
  background: #1e3a8a !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 0.04em !important;
  border: none !important;
  text-shadow: none !important;
  box-shadow: 0 14px 35px rgba(0,0,0,.25) !important;
}

.omega-contact-btn:hover{
  background: #172554 !important;
  transform: translateY(-2px);
}



/* =============================
   STICKY HEADER (keep navigation visible)
============================= */
.omega-header{
  position: sticky;
  top: 0;
  z-index: 9999;
}

/* Prevent content hiding under sticky header */
:root{
  --omega-header-offset: 86px;
}
@media (max-width: 980px){
  :root{ --omega-header-offset: 72px; }
}
body{
  scroll-padding-top: var(--omega-header-offset);
}
main, .page, .site, .wrapper{
  /* in case your layout uses one of these wrappers */
}

/* If first section tucks under header, add top padding */
.hero, .omega-hero, #hero{
  scroll-margin-top: var(--omega-header-offset);
}


/* subtle shadow when header is on top */
.omega-header{
  backdrop-filter: blur(10px);
}


/* =============================
   HEADER FIXED (sticky fallback)
   Use fixed to guarantee header stays visible even if parent has overflow/transform
============================= */

.omega-header{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 10000 !important;
}

/* Set header height variable and offset page content */
:root{
  --omega-header-h: 92px;
}
@media (max-width: 980px){
  :root{ --omega-header-h: 78px; }
}

/* Push page content down so it doesn't hide under fixed header */
body{
  padding-top: var(--omega-header-h) !important;
  scroll-padding-top: var(--omega-header-h);
}

/* Optional: subtle shadow for separation */
.omega-header{
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
  backdrop-filter: blur(10px);
}


/* =============================
   FIX: MOBILE MENU CLOSE + HEADER VISIBILITY
   - Ensure mobile menu sits above fixed header
   - Prevent header hiding on scroll
============================= */

/* mobile menu above fixed header */
.mobile-menu-overlay{ z-index: 20000 !important; }
.mobile-menu-panel{ z-index: 20001 !important; }
.mobile-close{ z-index: 20002 !important; pointer-events: auto !important; }

/* keep header visible (disable hide-on-scroll visual) */
.omega-header.is-hidden{
  transform: translateY(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* if header uses transitions that cause flicker */
.omega-header{
  will-change: transform;
}


/* =============================
   HERO OFFSET + FULL VIEW (fixed header)
   Ensures hero is not covered/cropped by the fixed header
============================= */
:root{
  --omega-header-h: 92px; /* fallback if not defined elsewhere */
}
@media (max-width: 980px){
  :root{ --omega-header-h: 78px; }
}

/* If header is fixed, push hero down and set true viewport height */
.omega-header{
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 10000 !important;
}

body{
  padding-top: var(--omega-header-h) !important;
  scroll-padding-top: var(--omega-header-h);
}

/* Make hero start below header and keep video fully framed */
.omega-hero{
  height: calc(auto - var(--omega-header-h)) !important;
  height: calc(100svh - var(--omega-header-h)) !important;
  height: calc(100dvh - var(--omega-header-h)) !important;
  min-height: 520px !important;
  padding-top: 28px !important; /* was 60px; avoid pushing content too low */
}

/* Keep the video nicely framed; less “cut off” at top */
.hero-video-bg{
  object-position: 50% 35% !important; /* slightly higher than center */
}

/* On mobile, prioritize face/top visibility */
@media (max-width: 768px){
  .omega-hero{
    min-height: 560px !important;
    padding-top: 18px !important;
  }
  .hero-video-bg{
    object-position: 50% 20% !important;
  }
}


/* =============================
   HERO: prevent "cropped/zoomed" look on shorter windows
   (e.g., not-fullscreen desktop windows)
============================= */

/* When viewport height is smaller, reduce hero minimums + re-center video */
@media (max-height: 820px){
  .omega-hero{
    min-height: 420px !important;
    padding-top: 14px !important;
    padding-bottom: 18px !important;
    height: calc(auto - var(--omega-header-h)) !important;
    height: calc(100dvh - var(--omega-header-h)) !important;
    height: calc(100svh - var(--omega-header-h)) !important;
  }
  .hero-video-bg{
    object-position: 50% 50% !important;
  }
}

/* Even shorter: keep content visible and avoid heavy crop */
@media (max-height: 680px){
  .omega-hero{
    min-height: 360px !important;
    padding-top: 10px !important;
  }
  .hero-video-bg{
    object-position: 50% 55% !important;
  }
}

/* Ensure the media layer truly fills the hero container */
.omega-hero .hero-media,
.omega-hero .hero-media video,
.omega-hero .hero-media img{
  width: 90%;
  height: auto;
}


/* =============================
   HERO: zero-crop mode for short desktop windows
   Switch video to "contain" so nothing is cut off.
   (Adds subtle letterbox bars if needed, but keeps full view.)
============================= */
@media (max-height: 760px) and (min-width: 900px){
  .omega-hero{
    height: auto !important;
    min-height: 520px !important; /* keep layout stable */
  }
  .hero-video-bg{
    object-fit: contain !important;
    background: #0b1020 !important; /* letterbox color */
  }
}


/* =====================================================
   FIX: Header overlaps hero (desktop + non-fullscreen)
   - Dynamically set --omega-header-h in script.js
   - Push ALL content below header using body padding-top
   - Ensure hero starts below header and never hides behind it
===================================================== */

:root{
  --omega-header-h: 160px; /* fallback, will be overwritten by JS */
  --omega-page-pad: 18px;
}

/* Keep header fixed and always above */
.omega-header{
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 10000 !important;
}

/* Push the whole page below the fixed header */
body{
  padding: calc(var(--omega-header-h) + var(--omega-page-pad)) var(--omega-page-pad) 20px var(--omega-page-pad) !important;
  scroll-padding-top: calc(var(--omega-header-h) + 10px) !important;
}

/* Remove any previous hero height math that assumes no fixed header */
.omega-hero{
  margin-top: 0 !important;
  top: auto !important;
}

/* Give hero a stable, responsive height that won't crop under header */
.omega-hero{
  height: clamp(520px, 72vh, 860px) !important;
  height: clamp(520px, 72svh, 860px) !important;
  height: clamp(520px, 72dvh, 860px) !important;
}

/* Media always fills the hero frame; cropping is handled by object-position rules elsewhere */
.omega-hero .hero-video-bg,
.omega-hero .hero-slide img{
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}



/* ===== 2026 cleanup: desktop nav (no mega-menu subcategories) ===== */
@media (min-width: 901px){
  .omega-nav .mega-menu,
  .omega-nav .drop-menu{
    display:none !important;
  }
  .omega-nav .dropdown:hover .mega-menu,
  .omega-nav .dropdown.is-open .mega-menu,
  .omega-nav .dropdown:hover .drop-menu,
  .omega-nav .dropdown.is-open .drop-menu{
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:none !important;
  }
}

/* ===== 2026 cleanup: simplified footer layout ===== */
.omega-footer__grid--simple{
  grid-template-columns: 1.25fr 1fr;
  gap: 48px;
}
.omega-footer__bottom--simple{
  display:flex;
  justify-content:center;
  padding-top: 18px;
  padding-bottom: 26px;
}
@media (max-width: 900px){
  .omega-footer__grid--simple{
    grid-template-columns: 1fr;
    gap: 26px;
  }
}


/* Desktop: disable mega/drop menus */
@media (min-width: 901px) {
  .omega-nav .dropdown .mega-menu,
  .omega-nav .dropdown .drop-menu {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .omega-nav .dropdown > a::after { content: none !important; }
}

}




/* Keep header spacing tidy */
.omega-actions{
  gap: 14px;
}

/* Mobile: keep it clean (icon only) */
@media (max-width: 768px){
  .header-call{
    padding: 8px 10px;
    border-radius: 16px;
    gap: 0;
  }
  .header-call .call-text{ display:none; }
  .header-call .call-svg{ width: 28px; height: 28px; }
}


.header-call:hover{
  border-color: rgba(233,238,251,0.8);
  background: rgba(255,255,255,0.04);
}



/* Premium contact stack (phone + email) */
.contact-phone-text{font-size:18px;}
  .contact-email-text{font-size:13px;}
}

.header-call .call-svg{
  width: 22px;
  height: 22px;
  stroke-width: 1.1;
}

.header-call .call-text{
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.6px;
}


/* Header Call Pill (balanced, not dominating) */
.header-call{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border-radius: 16px;
  border: 1px solid rgba(233,238,251,0.45);
  color: #e9eefb;
  text-decoration: none;
  line-height: 1;
  background: rgba(255,255,255,0.02);
  transition: border-color .2s ease, background .2s ease, transform .2s ease, opacity .2s ease;
}

.header-call:hover{
  border-color: rgba(233,238,251,0.75);
  background: rgba(255,255,255,0.05);
  transform: translateY(-1px);
  opacity: 0.98;
}

.header-call .call-svg{
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.2;
}

.header-call .call-text{
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.6px;
  white-space: nowrap;
}

/* Mobile: icon only */
@media (max-width: 768px){
  .header-call{ padding: 8px 10px; gap: 0; border-radius: 14px; }
  .header-call .call-text{ display:none; }
  .header-call .call-svg{ width: 22px; height: 22px; }
}


/* === OVERRIDES: #digital "YOUR PATH TO EXCEPTIONAL DENTAL SOLUTIONS" (3-3-3-3-3-1 on desktop) === */
html, body { overflow-x: hidden; }

/* Desktop: 3 per row */
.omega-path#digital .flip-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(240px, 1fr)) !important;
  gap: 52px !important;
  width: 90%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 clamp(18px, 4vw, 64px);
  justify-items: center;
  align-items: start;
}

/* Card proportions (slightly narrower, less square) */
.omega-path#digital .flip-card{
  width: 290px;
  max-width: 290px;
  margin-inline: 0;
}

/* Center the final single card when total cards ≡ 1 (mod 3) */
@media (min-width: 901px){
  .omega-path#digital .flip-grid > .flip-card:last-child:nth-child(3n+1){
    grid-column: 2 / 3;
  }
}

/* Medium: 2 per row */
@media (max-width: 900px){
  .omega-path#digital .flip-grid{
    grid-template-columns: repeat(2, minmax(240px, 1fr)) !important;
    gap: 34px !important;
    max-width: 980px;
    padding: 0 24px;
  }
  .omega-path#digital .flip-card{
    width: 270px;
    max-width: 270px;
  }
}

/* Mobile: 2 per row */
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }

  .omega-path#digital .flip-grid{
    grid-template-columns: repeat(2, minmax(160px, 1fr)) !important;
    gap: 20px !important;
    padding: 0 16px;
  }
  .omega-path#digital .flip-card{
    width: 90%;
    max-width: 90%;
  }
}



/* ================================
   Animated Nav Underline (robust)
   Uses LI::after so it won't conflict
   with dropdown caret on A::after.
================================ */
.omega-nav > ul > li{
  position: relative;
}

/* Optional active state: add class="active" to the <li> */
.omega-nav > ul > li.active::after{
  width: 70%;
  opacity: 1;
}


/* Minimal Footer */
.footer-minimal {
  padding: 40px 0;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.footer-bottom {
  font-size: 14px;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.5px;
}


/* Social icons usability upgrade */
.omega-social a.facebook:hover i{background:rgba(24,119,242,0.28);border-color:rgba(24,119,242,0.65);}
.omega-social a.instagram:hover i{background:rgba(225,48,108,0.22);border-color:rgba(225,48,108,0.55);}
.omega-social a.youtube:hover i{background:rgba(255,0,0,0.20);border-color:rgba(255,0,0,0.55);}

@media (max-width: 720px){
  .omega-social{gap:10px;}
  .omega-social a{padding:2px;}
  .omega-social a i{width:42px;height:42px;font-size:19px;}
  .omega-social a .social-label{display:none;}
}


/* ===== Improved Social Media Icons ===== */

.social-section {
  padding: 80px 20px;
  text-align: center;
}

.social-wrapper {
  display: flex;
  justify-content: center;
  gap: 100px;
  flex-wrap: wrap;
}

.social-item {
  text-decoration: none;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.3s ease;
}

.social-item img,
.social-item svg {
  width: 55px;
  height: 55px;
  margin-bottom: 20px;
  transition: all 0.3s ease;
}

.social-item span {
  font-size: 22px;
  letter-spacing: 1px;
  font-weight: 300;
}

.social-item:hover img,
.social-item:hover svg {
  transform: translateY(-6px);
  filter: drop-shadow(0 0 12px rgba(255,255,255,0.6));
}

.social-item:hover span {
  letter-spacing: 2px;
}

@media (max-width: 768px) {
  .social-wrapper {
    gap: 50px;
  }

  .social-item img,
  .social-item svg {
    width: 45px;
    height: 45px;
  }

  .social-item span {
    font-size: 18px;
  }
}



/* ===== Social Icons Enhanced v2 ===== */

.social-wrapper {
  gap: 120px;
}

.social-item img,
.social-item svg {
  width: 70px;
  height: 70px;
}

.social-item span {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1.5px;
}

.social-item:hover img,
.social-item:hover svg {
  transform: translateY(-8px) scale(1.05);
  filter: drop-shadow(0 0 16px rgba(255,255,255,0.75));
}

@media (max-width: 768px) {
  .social-wrapper {
    gap: 60px;
  }

  .social-item img,
  .social-item svg {
    width: 55px;
    height: 55px;
  }

  .social-item span {
    font-size: 20px;
  }
}



/* ===== Social Icons Enhanced v3 (Clean Circular Premium) ===== */

.social-wrapper {
  gap: 110px;
}

.social-item {
  position: relative;
}

.social-item img,
.social-item svg {
  width: 75px;
  height: 75px;
  padding: 18px;
  border: 2px solid rgba(255,255,255,0.85);
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(4px);
  transition: all 0.35s ease;
}

.social-item span {
  margin-top: 20px;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1.2px;
}

.social-item:hover img,
.social-item:hover svg {
  transform: translateY(-6px) scale(1.06);
  border-color: #ffffff;
  box-shadow: 0 0 20px rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.1);
}

@media (max-width: 768px) {
  .social-wrapper {
    gap: 55px;
  }

  .social-item img,
  .social-item svg {
    width: 60px;
    height: 60px;
    padding: 14px;
  }

  .social-item span {
    font-size: 19px;
  }
}



/* ===== Omega Social Icons CLEAN PREMIUM v4 ===== */

.social-section {
  padding: 90px 20px !important;
  text-align: center;
}

.social-wrapper {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 120px !important;
  flex-wrap: wrap;
}

.social-item {
  text-decoration: none !important;
  color: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.social-item img,
.social-item svg {
  width: 64px !important;
  height: 64px !important;
  padding: 20px !important;
  border: 1.5px solid #ffffff !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  transition: all 0.3s ease;
}

.social-item span {
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
  margin-top: 22px !important;
}

.social-item:hover img,
.social-item:hover svg {
  transform: translateY(-6px);
  border-color: rgba(255,255,255,0.8) !important;
}

@media (max-width: 768px) {
  .social-wrapper {
    gap: 60px !important;
  }

  .social-item img,
  .social-item svg {
    width: 54px !important;
    height: 54px !important;
    padding: 16px !important;
  }

  .social-item span {
    font-size: 17px !important;
  }
}



/* ===== Omega Social Icons v5 - Bigger & Correct Proportions ===== */

.social-wrapper {
  gap: 140px !important;
}

.social-item img,
.social-item svg {
  width: 90px !important;
  height: 90px !important;
  padding: 26px !important;
  border: 1.5px solid #ffffff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.social-item svg {
  width: 38px !important;
  height: 38px !important;
}

.social-item span {
  font-size: 22px !important;
  margin-top: 26px !important;
}

@media (max-width: 768px) {
  .social-wrapper {
    gap: 70px !important;
  }

  .social-item img,
  .social-item svg {
    width: 70px !important;
    height: 70px !important;
    padding: 20px !important;
  }

  .social-item svg {
    width: 30px !important;
    height: 30px !important;
  }

  .social-item span {
    font-size: 18px !important;
  }
}



/* ===== Header Social Icons Override v6 (Bigger, Clearer, Not Squashed) ===== */
.omega-social{gap:28px !important;}
.omega-social a{
  padding:6px !important;
  gap:12px !important;
}
.omega-social a i{
  width:78px !important;
  height:78px !important;
  font-size:30px !important;
  line-height:1 !important;
  background:rgba(255,255,255,0.14) !important;
  border:2px solid rgba(255,255,255,0.75) !important;
  color:#fff !important;
  display:grid !important;
  place-items:center !important;
  box-shadow: 0 10px 30px rgba(0,0,0,0.18) !important;
}
.omega-social a .social-label{
  font-size:18px !important;
  font-weight:400 !important;
  letter-spacing:0.04em !important;
  opacity:0.98 !important;
}
.omega-social a:hover i,
.omega-social a:focus-visible i{
  transform:translateY(-4px) scale(1.03) !important;
  background:rgba(255,255,255,0.22) !important;
  border-color:#ffffff !important;
}

@media (max-width: 768px){
  .omega-social{gap:18px !important;}
  .omega-social a i{
    width:64px !important;
    height:64px !important;
    font-size:24px !important;
  }
  .omega-social a .social-label{
    font-size:15px !important;
  }
}


/* ===== Omega Social Icons v7 - Large Circular Style (Like Reference) ===== */

.omega-social {
  gap: 60px !important;
  justify-content: center !important;
}

.omega-social a {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-decoration: none !important;
}

.omega-social a i {
  width: 140px !important;
  height: 140px !important;
  border: 3px solid #ffffff !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 60px !important;
  color: #ffffff !important;
  background: transparent !important;
  transition: all 0.3s ease !important;
}

.omega-social a:hover i {
  transform: scale(1.05) !important;
  border-color: #ffffff !important;
}

.omega-social a .social-label {
  display: none !important; /* Remove text for clean look */
}

@media (max-width: 768px) {
  .omega-social a i {
    width: 100px !important;
    height: 100px !important;
    font-size: 40px !important;
  }
}



/* ===== Omega Social Icons v8 - Balanced Header Size ===== */

.omega-social {
  gap: 28px !important;
  align-items: center !important;
}

.omega-social a i {
  width: 56px !important;
  height: 56px !important;
  border: 2px solid rgba(255,255,255,0.8) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  color: #ffffff !important;
  transition: all 0.3s ease !important;
}

.omega-social a:hover i {
  transform: translateY(-2px) scale(1.04) !important;
}

@media (max-width: 768px) {
  .omega-social a i {
    width: 46px !important;
    height: 46px !important;
    font-size: 18px !important;
  }
}



/* ===== Omega Social Icons v9 - Smaller Circle, Bigger Icon Inside ===== */

.omega-social a i {
  width: 48px !important;
  height: 48px !important;
  border: 2px solid rgba(255,255,255,0.85) !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 24px !important; /* bigger icon inside */
  color: #ffffff !important;
  transition: all 0.3s ease !important;
}

.omega-social {
  gap: 22px !important;
}

@media (max-width: 768px) {
  .omega-social a i {
    width: 40px !important;
    height: 40px !important;
    font-size: 20px !important;
  }
}



/* ===== Omega Social Icons v10 - Thinner Circle Stroke ===== */

.omega-social a i {
  border: 1.2px solid rgba(255,255,255,0.85) !important;
}



/* ===== Omega Social Icons v11 - Overall Smaller Proportion ===== */

.omega-social {
  gap: 18px !important;
}

.omega-social a i {
  width: 42px !important;
  height: 42px !important;
  font-size: 20px !important;
  border: 1.2px solid rgba(255,255,255,0.85) !important;
}

@media (max-width: 768px) {
  .omega-social a i {
    width: 36px !important;
    height: 36px !important;
    font-size: 17px !important;
  }
}



/* ===== Header email link (clean, non-messy) ===== */
.header-email{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 3px 10px 3px 8px;
  border-radius: 999px;
  text-decoration: none;
  color: rgba(255,255,255,0.92);
  border: 1px solid rgba(255,255,255,0.16);
  background: rgba(0,0,0,0.18);
  backdrop-filter: blur(6px);
  transition: transform .18s ease, border-color .18s ease, background .18s ease, opacity .18s ease;
}

.header-email:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,0.28);
  background: rgba(0,0,0,0.24);
}

.email-svg{
  width: 18px;
  height: 18px;
  stroke: rgba(255,255,255,0.92);
  stroke-width: 1.8;
  fill: none;
  opacity: 0.92;
}

.email-text{
  font-size: 14px;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

@media (max-width: 980px){
  .email-text{ display:none; } /* keep header clean on smaller screens */
  .header-email{ padding: 3px 8px; }
}



/* Premium header contact (luxury / editorial) */
.header-contact{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:6px;
  line-height:1.1;
  padding:2px 0 2px 26px;
  margin-left:14px;
  border-left:1px solid rgba(255,255,255,0.18);
}

.header-contact .contact-label{
  font-size:11px;
  letter-spacing:2.2px;
  text-transform:uppercase;
  opacity:0.62;
}

.header-contact a{
  display:inline-flex;
  align-items:center;
  gap:0;
  text-decoration:none;
  color:rgba(255,255,255,0.92);
  position:relative;
}

.header-contact .contact-svg{ display:none; }

.contact-phone-text{
  font-size:16px;
  font-weight:500;
  letter-spacing:0.03em;
}

.contact-email-text{
  font-size:13px;
  font-weight:400;
  letter-spacing:0.02em;
  opacity:0.72;
}

.header-contact a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-5px;
  height:1px;
  background:rgba(255,255,255,0.62);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .22s ease;
}

.header-contact a:hover::after{ transform:scaleX(1); }

@media (max-width: 980px){
  .header-contact{
    border-left:none;
    padding-left:0;
    margin-left:10px;
    gap:2px;
  }
  .header-contact .contact-label{ display:none; }
  .header-contact .contact-email{ display:none; }
  .contact-phone-text{ font-size:14px; letter-spacing:0.02em; }
}


/* ===== CLEAN SVG SOCIAL ICONS (FIX MESSY FONT ICON RENDERING) ===== */
.omega-social{display:flex;gap:16px;align-items:center}
.omega-social a{
  width:34px;height:34px;border-radius:999px;
  border:1px solid rgba(255,255,255,.45);
  display:flex;align-items:center;justify-content:center;
  background:transparent;text-decoration:none;color:#fff;
  transition:background .2s ease,border-color .2s ease,opacity .2s ease
}
.omega-social a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.65)}
.omega-social a svg{width:16px;height:16px;display:block}

/* If any icon fonts still load, hide them inside omega-social */
.omega-social i{display:none !important}


/* ===== SOCIAL ICONS (MATCH REFERENCE: LARGE CIRCLES, CLEAN GLYPHS) ===== */
.omega-social{
  display:flex;
  gap:22px;
  align-items:center;
}

.omega-social a{
  width:58px;
  height:58px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  text-decoration:none;
  color:#fff;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}

.omega-social a:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.55);
  transform:none;
}

.omega-social a svg{
  width:22px;
  height:22px;
  display:block;
}

/* Solid icons */
.omega-social a svg.svg-solid path{
  fill:currentColor;
  stroke:none;
}

/* Stroke icons (Instagram outline) */
.omega-social a svg.svg-stroke *{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* Small Instagram dot filled */
.omega-social a svg.svg-stroke .dot-fill{
  fill:currentColor;
  stroke:none;
}

/* Hide any leftover font icons inside omega-social */
.omega-social i{display:none !important;}


/* ===== SOCIAL ICON SIZE INCREASE (V25) ===== */
.omega-social a{
  width:64px;
  height:64px;
}

.omega-social a svg{
  width:26px;
  height:26px;
}


/* ===== SOCIAL ICONS FINAL LUXURY VERSION (V26) ===== */

/* Align tighter to search bar */
.omega-social{
  display:flex;
  gap:18px;
  align-items:center;
  margin-right:10px;
}

/* Desktop */
.omega-social a{
  width:50px;
  height:50px;
  border-radius:999px;
  border:2.5px solid rgba(255,255,255,.55);
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  text-decoration:none;
  color:#fff;
  transition:all .25s ease;
  box-shadow:0 0 12px rgba(255,255,255,.15);
}

.omega-social a:hover{
  box-shadow:0 0 18px rgba(255,255,255,.28);
  border-color:rgba(255,255,255,.75);
}

.omega-social a svg{
  width:40px;
  height:40px;
}

/* Mobile scaling */
@media (max-width: 768px){
  .omega-social{
    gap:14px;
  }
  .omega-social a{
    width:42px;
    height:42px;
  }
  .omega-social a svg{
    width:24px;
    height:24px;
  }
}


/* ===== SOCIAL ICONS V27 – 45PX REFINED LUXURY ===== */

.omega-social{
  display:flex;
  gap:18px;
  align-items:center;
  margin-right:8px; /* tighter to search */
}

/* Desktop */
.omega-social a{
  width:45px;
  height:45px;
  border-radius:999px;
  border:3px solid rgba(255,255,255,.65); /* bolder border */
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  text-decoration:none;
  color:#fff;
  transition:all .25s ease;
  box-shadow:0 0 14px rgba(255,255,255,.18); /* subtle glow */
}

.omega-social a:hover{
  box-shadow:0 0 22px rgba(255,255,255,.30);
  border-color:rgba(255,255,255,.85);
}

/* Icon exactly 45px (scaled cleanly from SVG viewBox) */
.omega-social a svg{
  width:45px;
  height:45px;
}

/* Mobile scaling */
@media (max-width: 768px){
  .omega-social{
    gap:14px;
  }
  .omega-social a{
    width:38px;
    height:38px;
    border-width:2.5px;
  }
  .omega-social a svg{
    width:26px;
    height:26px;
  }
}


/* ===== SOCIAL ICONS V28 – EXACT MATCH TO REFERENCE ===== */
.omega-social{
  display:flex;
  gap:22px;
  align-items:center;
  margin-right:10px; /* sit closer to search */
}

.omega-social a{
  width:58px;
  height:58px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.35);
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  text-decoration:none;
  color:#fff;
  box-shadow:none !important;      /* no glow */
  filter:none !important;
  transform:none !important;
  transition:background .2s ease, border-color .2s ease, opacity .2s ease;
}

.omega-social a:hover{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.45);
}

/* Keep icons visually smaller like reference */
.omega-social a svg{
  width:20px;
  height:20px;
  display:block;
}

/* Make all icons SOLID white (matches reference show) */


/* Ensure no font icon duplication */
.omega-social i{display:none !important;}

/* Mobile */
@media (max-width: 768px){
  .omega-social{gap:16px;margin-right:6px;}
  .omega-social a{width:48px;height:48px;}
  .omega-social a svg{width:18px;height:18px;}
}


/* ===== SOCIAL ICONS V29 – MATCH REFERENCE (FILLED CIRCLE + THIN RING) ===== */
.omega-social{
  display:flex;
  gap:22px;
  align-items:center;
  margin-right:10px; /* slightly tighter to search */
}

.omega-social a{
  width:58px;
  height:58px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.10);              /* filled circle like reference */
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,.18);         /* soft depth, not a glow halo */
  transition:background .2s ease, border-color .2s ease, opacity .2s ease;
}

.omega-social a:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.45);
}

.omega-social a svg{
  width:20px;
  height:20px;
  display:block;
}

/* Facebook + YouTube solids */
.omega-social a svg.svg-solid path{
  fill:currentColor;
  stroke:none;
}

/* Instagram outline */
.omega-social a svg.svg-stroke *{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.omega-social a svg.svg-stroke .dot-fill{
  fill:currentColor;
  stroke:none;
}

/* YouTube play cutout (match inner cutout look) */
.omega-social a.social-yt .yt-play{
  fill:rgba(255,255,255,.10); /* same as circle fill to simulate cutout */
}

/* Ensure no font icon duplication */
.omega-social i{display:none !important;}

/* Mobile scaling */
@media (max-width: 768px){
  .omega-social{gap:16px;margin-right:6px;}
  .omega-social a{width:48px;height:48px;}
  .omega-social a svg{width:18px;height:18px;}
  .omega-social a.social-yt .yt-play{fill:rgba(255,255,255,.10);}
}



/* ===== SOCIAL ICONS – CORRECTED CLEAN VERSION (V30) ===== */

.omega-social{
  display:flex;
  gap:22px;
  align-items:center;
  margin-right:10px;
}

.omega-social a{
  width:58px;
  height:58px;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#fff;
  transition:background .2s ease, border-color .2s ease;
}

.omega-social a:hover{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.45);
}

.omega-social a svg{
  width:22px;
  height:22px;
  display:block;
}

/* Facebook solid */
.social-fb svg path{
  fill:#ffffff;
}

/* Instagram outline */
.social-ig svg rect,
.social-ig svg circle{
  fill:none;
  stroke:#ffffff;
  stroke-width:1.8;
}

.social-ig svg .dot-fill{
  fill:#ffffff;
  stroke:none;
}

/* YouTube solid with play cut */
.social-yt svg path:first-child{
  fill:#ffffff;
}

.social-yt svg .yt-play{
  fill:rgba(255,255,255,.10);
}

/* Mobile scaling */
@media (max-width: 768px){
  .omega-social{gap:16px;margin-right:6px;}
  .omega-social a{width:48px;height:48px;}
  .omega-social a svg{width:18px;height:18px;}
}


/* ===== HEADER BALANCE MICRO-TWEAK (V33) ===== */
.search-bar input{width:240px;}
@media (max-width:1200px){.search-bar input{width:210px;}}


/* ===== MODAL Z-INDEX FIX (2026 UPDATE) ===== */
header, .site-header {
  z-index: 1000 !important;
}

.modal,
.popup,
.form-popup,
.pricelist-popup {
  position: fixed !important;
  z-index: 9999 !important;
}

.modal-overlay {
  position: fixed !important;
  z-index: 9998 !important;
}

/* Optional luxury spacing */
.modal,
.popup,
.form-popup,
.pricelist-popup {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 80px;
}
/* ===== END FIX ===== */


/* ===== PRICELIST MODAL: BLUR ONLY WHEN OPEN (2026-02-20) ===== */
/* Keep header below modals */
header, .site-header { z-index: 1000 !important; }

/* Default overlay already hidden via opacity/visibility; blur only when open */
.modal-overlay.open {
  z-index: 9998 !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Keep the modal panel above the overlay */
.modal-overlay.open .modal { z-index: 9999 !important; }

/* Video modal should NOT blur */
#videoModal.modal-overlay.open {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* ===== END PRICELIST MODAL FIX ===== */



/* ===== PRICELIST MODAL: TRUE TOP LAYER + BLUR ONLY WHEN OPEN (2026-02-20) ===== */
/* Keep header safely below any modal */
header, .site-header {
  z-index: 1000 !important;
}

/* Pricelist overlay covers EVERYTHING + blurs background ONLY when open */
#pricelistModal.modal-overlay.open {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important; /* above all UI */
  background: rgba(0,0,0,0.62) !important;
  backdrop-filter: blur(7px) !important;
  -webkit-backdrop-filter: blur(7px) !important;
  pointer-events: auto !important;
}

/* Modal panel always on top of overlay */
#pricelistModal.modal-overlay.open .modal {
  position: relative !important;
  z-index: 2147483647 !important;
  transform: translateZ(0); /* force new stacking context */
}

/* Ensure video modal never blurs */
#videoModal.modal-overlay.open {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Block header interaction while modal is open */
body.no-scroll header,
body.no-scroll .site-header {
  pointer-events: none !important;
}
/* ===== END PRICELIST MODAL FIX ===== */



/* ===== PRICELIST FORM ENHANCEMENTS (2026-02-20) ===== */
#pricelistModal .modal-title{
  letter-spacing: .18em;
  font-size: 14px;
  margin-bottom: 8px;
}
#pricelistModal .modal-intro{
  max-width: 36ch;
  margin-bottom: 18px;
  opacity: .9;
}
#pricelistModal .modal-form{
  width: 90%;
}
#pricelistModal .form-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 16px;
}
#pricelistModal .form-row{
  display: flex;
  flex-direction: column;
  gap: 6px;
}
#pricelistModal .form-row.full{ grid-column: 1 / -1; }
#pricelistModal .form-row.half{ grid-column: span 1; }

#pricelistModal label{
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .9;
}
#pricelistModal .req{
  color: rgba(255,255,255,.9);
  margin-left: 4px;
}

#pricelistModal input,
#pricelistModal select,
#pricelistModal textarea{
  width: 90%;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.85);
  color: #111;
  padding: 12px 14px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#pricelistModal textarea{ resize: vertical; min-height: 88px; }

#pricelistModal input:focus,
#pricelistModal select:focus,
#pricelistModal textarea:focus{
  border-color: rgba(90,170,255,.55);
  box-shadow: 0 0 0 4px rgba(60,120,255,.18);
  background: rgba(255,255,255,.92);
}

#pricelistModal .consent-row{
  margin-top: 2px;
}
#pricelistModal .consent{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 13px;
  line-height: 1.35;
  opacity: .95;
}
#pricelistModal .consent input{
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #3a7bff;
}

#pricelistModal .modal-btn{
  grid-column: 1 / -1;
  margin-top: 6px;
}

#pricelistModal .field-error{
  min-height: 14px;
  font-size: 12px;
  opacity: .9;
}

#pricelistModal input.is-invalid,
#pricelistModal select.is-invalid,
#pricelistModal textarea.is-invalid{
  border-color: rgba(255,100,100,.75) !important;
  box-shadow: 0 0 0 4px rgba(255,60,60,.14) !important;
}

@media (max-width: 720px){
  #pricelistModal .form-grid{
    grid-template-columns: 1fr;
  }
  #pricelistModal .form-row.half{
    grid-column: 1 / -1;
  }
}
/* ===== END PRICELIST FORM ENHANCEMENTS ===== */


/* ===== PRICELIST MODAL: CENTERED PRO LAYOUT (2026-02-20) ===== */
#pricelistModal .modal{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 28px 16px !important;
}

/* Card wrapper */
#pricelistModal .modal-card-pricelist{
  width: min(720px, 92vw);
  border-radius: 22px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 24px 90px rgba(0,0,0,.55);
  isolation: isolate;
  padding: 28px 28px 18px;
  background: rgba(16, 18, 25, 0.28);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Background image layer */
#pricelistModal .modal-card-pricelist::before{
  content:"";
  position:absolute;
  inset:0;
  background: url("images/pricelist-popup-bg.jpg") center/cover no-repeat;
  z-index:-2;
}

/* Darken for readability */
#pricelistModal .modal-card-pricelist::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 600px at 50% 0%, rgba(0,0,0,.55), rgba(0,0,0,.78)),
    linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.70));
  z-index:-1;
}

/* Header */
#pricelistModal .modal-head{
  text-align: center;
  margin-bottom: 18px;
}
#pricelistModal .modal-title{
  font-size: 18px;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0 0 10px 0;
}
#pricelistModal .modal-intro{
  margin: 0 auto;
  max-width: 54ch;
  font-size: 14px;
  line-height: 1.55;
  opacity: .92;
}

/* Form grid spacing */
#pricelistModal .form-grid{
  margin-top: 16px;
}

/* Make fields sit on a clean plate */
#pricelistModal .modal-form{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: 18px;
}

/* Inputs: slightly more opaque for legibility */
#pricelistModal input,
#pricelistModal select,
#pricelistModal textarea{
  background: rgba(255,255,255,.92);
}

/* Consent block */
#pricelistModal .consent{
  color: rgba(255,255,255,.94);
}
#pricelistModal .field-error{
  color: rgba(255,170,170,.95);
}

/* Button full width and centered */
#pricelistModal .modal-btn{
  width: 90%;
}

/* Close button placement */
#pricelistModal .modal-close{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.20);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

/* Footnote */
#pricelistModal .modal-footnote{
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
  opacity: .9;
}
#pricelistModal .mini{ font-size: 12px; letter-spacing: .04em; }
#pricelistModal .mini-link{
  font-size: 12px;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.28);
}
#pricelistModal .dot{ opacity:.55; }

@media (max-width: 720px){
  #pricelistModal .modal-card-pricelist{
    padding: 22px 16px 14px;
    border-radius: 18px;
  }
  #pricelistModal .modal-form{
    padding: 14px;
  }
}
/* ===== END PRICELIST MODAL CENTERED PRO ===== */


/* ===== PRICELIST MODAL: CLEAN PRO CENTERED (OVERRIDE) 2026-02-20 ===== */
#pricelistModal .modal{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 24px 14px !important;
}

/* Clean solid card */
#pricelistModal .modal-card-pricelist{
  width: min(640px, 92vw) !important;
  background: rgba(255,255,255,0.96) !important;
  color: #0e1220 !important;
  border-radius: 22px !important;
  border: 1px solid rgba(0,0,0,0.08) !important;
  box-shadow: 0 24px 90px rgba(0,0,0,0.45) !important;
  padding: 22px 22px 14px !important;
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Disable any previous background-image layers */
#pricelistModal .modal-card-pricelist::before,
#pricelistModal .modal-card-pricelist::after{
  content: none !important;
  display: none !important;
}

/* Header */
#pricelistModal .modal-card-top{
  text-align:center !important;
  padding: 6px 6px 12px !important;
  position: relative !important;
}
#pricelistModal .modal-title{
  margin: 6px 0 8px !important;
  font-size: 18px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: #0e1220 !important;
}
#pricelistModal .modal-intro{
  margin: 0 auto 8px !important;
  max-width: 56ch !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: rgba(14,18,32,.78) !important;
}

/* Close button (inside card) */
#pricelistModal .modal-card-pricelist .modal-close{
  position:absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  background: rgba(14,18,32,0.06) !important;
  border: 1px solid rgba(14,18,32,0.10) !important;
  color: rgba(14,18,32,.85) !important;
}

/* Form panel */
#pricelistModal .modal-form{
  background: rgba(14,18,32,0.03) !important;
  border: 1px solid rgba(14,18,32,0.08) !important;
  border-radius: 16px !important;
  padding: 16px !important;
}

/* Grid and fields */
#pricelistModal .form-grid{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px 12px !important;
  margin: 0 !important;
}
#pricelistModal .form-row{ min-width: 0 !important; }
#pricelistModal .form-row.full{ grid-column: 1 / -1 !important; }

#pricelistModal label{
  font-size: 11px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: rgba(14,18,32,.72) !important;
}

#pricelistModal input,
#pricelistModal select,
#pricelistModal textarea{
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid rgba(14,18,32,0.12) !important;
  color: #0e1220 !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
}

#pricelistModal input::placeholder,
#pricelistModal textarea::placeholder{
  color: rgba(14,18,32,0.45) !important;
}

#pricelistModal input:focus,
#pricelistModal select:focus,
#pricelistModal textarea:focus{
  border-color: rgba(60,120,255,.45) !important;
  box-shadow: 0 0 0 4px rgba(60,120,255,.14) !important;
}

/* Consent */
#pricelistModal .consent{
  color: rgba(14,18,32,.82) !important;
}
#pricelistModal .consent input{
  accent-color: #3a7bff !important;
}

/* Errors */
#pricelistModal .field-error{
  color: rgba(190,40,40,.88) !important;
}

/* CTA */
#pricelistModal .modal-btn{
  width: 100% !important;
  margin-top: 6px !important;
}

/* Footnote */
#pricelistModal .modal-footnote{
  display:flex !important;
  justify-content:center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  padding: 10px 6px 2px !important;
  color: rgba(14,18,32,.62) !important;
}
#pricelistModal .mini,
#pricelistModal .mini-link{
  font-size: 12px !important;
}
#pricelistModal .mini-link{
  color: rgba(14,18,32,.72) !important;
  border-bottom: 1px solid rgba(14,18,32,.18) !important;
  text-decoration: none !important;
}
#pricelistModal .dot{ opacity: .55 !important; }

@media (max-width: 720px){
  #pricelistModal .form-grid{ grid-template-columns: 1fr !important; }
}
/* ===== END CLEAN PRO OVERRIDE ===== */


/* ===== PRICELIST MODAL: CONTAIN FORM INSIDE CARD (2026-02-20) ===== */
/* Ensure the card never exceeds viewport, and scrolls internally if needed */
#pricelistModal .modal-card-pricelist{
  max-height: calc(auto - 56px) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Make body of card scroll, keeping header/top and button visible */
#pricelistModal .modal-form{
  flex: 1 1 auto !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Keep CTA always inside the card */
#pricelistModal .modal-btn{
  position: sticky !important;
  bottom: 0 !important;
  z-index: 2 !important;
  margin-top: 10px !important;
}

/* Add a subtle top fade when scrolling (prevents harsh cutoff) */
#pricelistModal .modal-form::before{
  content: "";
  position: sticky;
  top: 0;
  display: block;
  height: 10px;
  margin-top: -10px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.96), rgba(255,255,255,0));
  z-index: 1;
}

/* Ensure footer stays inside card and doesn't push layout outside */
#pricelistModal .modal-footnote{
  flex: 0 0 auto !important;
}

/* On small screens, tighten paddings so the whole form fits better */
@media (max-width: 520px){
  #pricelistModal .modal-card-pricelist{
    padding: 16px 14px 12px !important;
    border-radius: 18px !important;
  }
  #pricelistModal .modal-form{
    padding: 12px !important;
  }
}
/* ===== END CONTAINMENT FIX ===== */


/* ===== PRICELIST MODAL: LANDSCAPE LAYOUT (2026-02-20) ===== */
#pricelistModal .modal{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding: 22px 14px !important;
}

#pricelistModal .modal-card-pricelist{
  width: min(1100px, 94vw) !important;
  max-height: calc(auto - 56px) !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 26px !important;
}

#pricelistModal .pl-wrap{
  display: grid;
  grid-template-columns: 35% 65%;
  height: auto;
  min-height: 520px;
}

/* Left image panel — uses the ORIGINAL background image */
#pricelistModal .pl-media{
  position: relative;
  background: url("./images/images/workbench_bk.png") center/cover no-repeat;
}
#pricelistModal .pl-media::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(0,0,0,.35), rgba(0,0,0,.18));
}

/* Right panel */
#pricelistModal .pl-content{
  background: rgba(255,255,255,.97);
  display:flex;
  flex-direction: column;
  height: auto;
}

#pricelistModal .pl-head{
  position: relative;
  padding: 26px 26px 14px;
  text-align: center;
  border-bottom: 1px solid rgba(14,18,32,.08);
}

#pricelistModal .modal-title{
  margin: 0 0 10px !important;
  font-size: 18px !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
}

#pricelistModal .modal-intro{
  margin: 0 auto !important;
  max-width: 56ch !important;
  color: rgba(14,18,32,.78) !important;
}

/* Close button in header */
#pricelistModal .pl-head .modal-close{
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  background: rgba(14,18,32,0.06) !important;
  border: 1px solid rgba(14,18,32,0.10) !important;
  color: rgba(14,18,32,.85) !important;
}

/* Scrollable body (form + footnote) */
#pricelistModal .pl-body{
  padding: 24px 32px 24px;
}

/* Form container */
#pricelistModal .modal-form{
  background: rgba(14,18,32,0.03) !important;
  border: 1px solid rgba(14,18,32,0.08) !important;
  border-radius: 16px !important;
  padding: 16px !important;
}

/* Keep button inside the form area, not outside modal */
#pricelistModal .modal-btn{
  position: sticky !important;
  bottom: 0 !important;
  z-index: 2 !important;
}

/* Footnote */
#pricelistModal .modal-footnote{
  margin-top: 12px !important;
  padding-bottom: 4px !important;
}

/* Responsive: stack on mobile */
@media (max-width: 820px){
  #pricelistModal .pl-wrap{
    grid-template-columns: 1fr;
  }
  #pricelistModal .pl-media{
    height: 180px;
  }
  #pricelistModal .pl-body{
  padding: 24px 32px 24px;
}
}

/* If the original image path differs on server, swap to: images/pricelist-popup-bg.jpg */
@supports (background: url("images/pricelist-popup-bg.jpg")){
  /* no-op: reference for easy swap */
}
/* ===== END PRICELIST MODAL LANDSCAPE ===== */


/* ===== PRICELIST MODAL: FULL IMAGE LANDSCAPE ===== */

#pricelistModal .modal-card-pricelist{
  width: min(1100px, 94vw);
  height: auto;
  padding: 0 !important;
  border-radius: 28px !important;
  overflow: hidden;
  background: url("./images/images/workbench_bk.png") center/cover no-repeat;
  position: relative;
}

/* Dark overlay for readability */
#pricelistModal .modal-card-pricelist::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.45);
}

/* Inner content container */
#pricelistModal .pl-overlay-card{
  position: relative;
  z-index: 2;
  padding: 40px 60px 50px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Centered header */
#pricelistModal .modal-title{
  text-align:center;
  color: #ffffff !important;
  margin-bottom: 12px !important;
}

#pricelistModal .modal-intro{
  text-align:center;
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 28px !important;
}

/* Form container */
#pricelistModal .modal-form{
  width: 90%;
  max-width: 780px;
  background: rgba(255,255,255,0.96) !important;
  border-radius: 18px !important;
  padding: 28px !important;
}

/* Button stays inside */
#pricelistModal .modal-btn{
  position: relative !important;
}

/* Footnote */
#pricelistModal .modal-footnote{
  margin-top: 18px !important;
  color: rgba(255,255,255,0.85) !important;
  text-align:center;
}

/* Responsive */
@media (max-width: 820px){
  #pricelistModal .pl-overlay-card{
    padding: 26px 20px 30px;
  }
  #pricelistModal .modal-form{
    padding: 20px !important;
  }
}



/* ===== PRICELIST MODAL: FULL-BG LANDSCAPE (2026-02-20) ===== */
#pricelistModal .modal-card-pricelist{
  width: min(1100px, 96vw);
  min-height: 560px;
  padding: 0;                 /* background handles the frame */
  border-radius: 30px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 28px 110px rgba(0,0,0,.55);
  background: url("images/images/workbench_bk.png") center/cover no-repeat; /* requested */
  border: 1px solid rgba(255,255,255,.14);
}

/* Strong readability overlay */
#pricelistModal .modal-card-pricelist::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.48);
  z-index: 0;
}

/* Close button (top-right) */
#pricelistModal .modal-close{
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 3;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.28);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
#pricelistModal .modal-close:hover{
  background: rgba(0,0,0,.38);
}

/* Landscape glass panel that floats on the full background */
#pricelistModal .pl-panel{
  position: relative;
  z-index: 2;
  width: min(860px, calc(100% - 64px));
  margin: 72px auto 28px;
  background: rgba(255,255,255,.92);
  border-radius: 26px;
  padding: 38px 44px 24px;
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Dark text inside the panel */
#pricelistModal .pl-panel .modal-title,
#pricelistModal .pl-panel .modal-intro,
#pricelistModal .pl-panel label,
#pricelistModal .pl-panel .mini{
  color: #12141a;
  opacity: 1;
}
#pricelistModal .pl-panel .modal-title{
  font-size: 14px;
  letter-spacing: .24em;
}
#pricelistModal .pl-panel .modal-intro{
  font-size: 14px;
  opacity: .82;
}

/* Required star + field error inside light panel */
#pricelistModal .pl-panel .req{ color: rgba(20,20,20,.7); }
#pricelistModal .pl-panel .field-error{ color: rgba(160, 30, 30, .9); }

/* Inputs look cleaner on light panel */
#pricelistModal .pl-panel input,
#pricelistModal .pl-panel select,
#pricelistModal .pl-panel textarea{
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(0,0,0,.10);
  color: #111;
}
#pricelistModal .pl-panel input:focus,
#pricelistModal .pl-panel select:focus,
#pricelistModal .pl-panel textarea:focus{
  border-color: rgba(40,90,255,.35);
  box-shadow: 0 0 0 5px rgba(40,90,255,.14);
}

/* Consent row */
#pricelistModal .pl-consent-label{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(18,20,26,.85);
  text-transform: none;
  letter-spacing: 0;
}
#pricelistModal .pl-consent input[type="checkbox"]{
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

/* Button stays premium */
#pricelistModal .modal-btn{
  height: 56px;
  border-radius: 999px;
  letter-spacing: .24em;
  font-size: 14px;
  margin-top: 10px;
  box-shadow: 0 12px 34px rgba(0,0,0,.18);
}
#pricelistModal .modal-btn:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 46px rgba(0,0,0,.22);
}

/* Footnote */
#pricelistModal .modal-footnote{
  margin-top: 16px;
  text-align: center;
  color: rgba(18,20,26,.72);
}
#pricelistModal .modal-footnote .mini-link{
  color: rgba(18,20,26,.92);
  border-bottom: 1px solid rgba(18,20,26,.22);
  text-decoration: none;
}
#pricelistModal .modal-footnote .mini-link:hover{
  border-bottom-color: rgba(18,20,26,.45);
}

@media (max-width: 900px){
  #pricelistModal .modal-card-pricelist{ min-height: 600px; }
  #pricelistModal .pl-panel{
    width: min(760px, calc(100% - 34px));
    padding: 32px 22px 20px;
    margin: 68px auto 22px;
  }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }

  #pricelistModal .modal-card-pricelist{ min-height: 0; }
  #pricelistModal .pl-panel{ margin: 64px auto 18px; }
}
/* ===== END PRICELIST MODAL: FULL-BG LANDSCAPE ===== */

/* Disable legacy background layers for full-bg layout */
#pricelistModal .modal-card-pricelist::after{ content:none !important; display:none !important; }


/* =========================================================
   OMEGA PRICELIST MODAL (Isolated – fullscreen image + glass)
   ========================================================= */

.modal-overlay-pricelist{
  /* override any existing modal overlay styling */
  background: url("images/images/workbench_bk.png") center center / cover no-repeat !important;
  display: none;           /* hidden until .open */
  align-items: center;
  justify-content: center;
  padding: clamp(14px, 2.5vw, 28px);
}

.modal-overlay-pricelist.open{
  display: flex !important;
}

.modal-overlay-pricelist::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(4px);
}

.modal-overlay-pricelist .omega-pricelist-shell{
  position: relative;
  width: min(1180px, 92vw);
  min-height: min(720px, 86vh);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}

.modal-overlay-pricelist .omega-pricelist-close{
  position: absolute;
  top: 18px;
  right: 18px;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.10);
  color: #fff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}

.modal-overlay-pricelist .omega-pricelist-close:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.14);
  border-color: rgba(255,255,255,0.30);
}

.modal-overlay-pricelist .omega-pricelist-panel{
  width: 90%;
  border-radius: 22px;
  padding: clamp(26px, 4vw, 56px);
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: clamp(22px, 4vw, 58px);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 40px 110px rgba(0,0,0,0.60);
  backdrop-filter: blur(22px);
}

.modal-overlay-pricelist .omega-pricelist-left{
  color: #fff;
  padding-right: clamp(0px, 1vw, 10px);
}

.modal-overlay-pricelist .omega-pricelist-title{
  margin: 0 0 18px 0;
  font-family: "Cinzel", serif;
  font-weight: 600;
  font-size: clamp(30px, 3.3vw, 54px);
  line-height: 1.08;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.modal-overlay-pricelist .omega-pricelist-title span{
  font-weight: 400;
  opacity: 0.92;
}

.modal-overlay-pricelist .omega-pricelist-copy{
  margin: 0 0 22px 0;
  max-width: 420px;
  font-size: 16px;
  line-height: 1.6;
  opacity: 0.88;
}

.modal-overlay-pricelist .omega-pricelist-contact{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  font-size: 14px;
  opacity: 0.9;
}

.modal-overlay-pricelist .omega-pricelist-contact a{
  color: rgba(255,255,255,0.92);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.25);
}

.modal-overlay-pricelist .omega-pricelist-contact a:hover{
  border-bottom-color: rgba(255,255,255,0.55);
}

.modal-overlay-pricelist .omega-pricelist-contact .dot{
  opacity: 0.6;
}

.modal-overlay-pricelist .omega-pricelist-form{
  display: grid;
  gap: 14px;
}

.modal-overlay-pricelist .omega-pricelist-form input,
.modal-overlay-pricelist .omega-pricelist-form textarea{
  width: 90%;
  border-radius: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.22);
  background: rgba(255,255,255,0.10);
  color: #fff;
  font-size: 14px;
  outline: none;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}

.modal-overlay-pricelist .omega-pricelist-form input::placeholder,
.modal-overlay-pricelist .omega-pricelist-form textarea::placeholder{
  color: rgba(255,255,255,0.65);
}

.modal-overlay-pricelist .omega-pricelist-form input:focus,
.modal-overlay-pricelist .omega-pricelist-form textarea:focus{
  border-color: rgba(255,255,255,0.42);
  background: rgba(255,255,255,0.13);
  box-shadow: 0 0 0 4px rgba(46,91,255,0.20);
}

.modal-overlay-pricelist .omega-pricelist-form textarea{
  min-height: 110px;
  resize: none;
}

.modal-overlay-pricelist .omega-pricelist-submit{
  margin-top: 6px;
  border: none;
  border-radius: 12px;
  padding: 14px 16px;
  font-weight: 600;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(90deg, #2e5bff, #7a5cff);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.modal-overlay-pricelist .omega-pricelist-submit:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  filter: brightness(1.03);
}

/* soften any existing validation styles */
.modal-overlay-pricelist .field-error,
.modal-overlay-pricelist .error,
.modal-overlay-pricelist .invalid,
.modal-overlay-pricelist .input-error{
  color: rgba(255,255,255,0.75) !important;
}

/* SR-only utility */
.sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}

@media (max-width: 860px){
  .modal-overlay-pricelist .omega-pricelist-panel{
    grid-template-columns: 1fr;
  }
  .modal-overlay-pricelist .omega-pricelist-shell{
    min-height: auto;
  }
}



/* ensure fullscreen positioning for pricelist modal (override) */
#pricelistModal.modal-overlay-pricelist{
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
}



.modal-overlay-pricelist .omega-pricelist-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size: 13px;
  line-height: 1.4;
  color: rgba(255,255,255,0.86);
  opacity: 0.95;
}
.modal-overlay-pricelist .omega-pricelist-consent input{
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #2e5bff;
}







/* === PRICELIST MODAL: SMALLER + CENTERED (2026-02-20) === */
#pricelistModal.modal-overlay-pricelist{
  padding: 28px 16px !important; /* breathing room on small screens */
  align-items: center !important;
  justify-content: center !important;
}

/* Keep the overall popup compact */
#pricelistModal.modal-overlay-pricelist .omega-pricelist-shell{
  width: min(860px, 92vw) !important;
  min-height: unset !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* Make panel smaller and truly centered */
#pricelistModal.modal-overlay-pricelist .omega-pricelist-panel{
  width: 100% !important;
  max-width: 860px !important;
  min-height: unset !important;
  padding: clamp(22px, 3vw, 42px) !important;
  gap: clamp(18px, 3vw, 36px) !important;
}

/* Slightly tighten left column so form feels centered */
#pricelistModal.modal-overlay-pricelist .omega-pricelist-left{
  max-width: 360px !important;
}

/* Center the whole form column */
#pricelistModal.modal-overlay-pricelist .omega-pricelist-right{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Center and constrain the form itself */
#pricelistModal.modal-overlay-pricelist .omega-pricelist-form{
  width: min(380px, 100%) !important;
  margin: 0 auto !important;
}

/* Make inputs feel aligned + balanced */
#pricelistModal.modal-overlay-pricelist .omega-pricelist-form input,
#pricelistModal.modal-overlay-pricelist .omega-pricelist-form select,
#pricelistModal.modal-overlay-pricelist .omega-pricelist-form textarea{
  width: 100% !important;
}

/* Mobile: stack + still centered */
@media (max-width: 820px){
  #pricelistModal.modal-overlay-pricelist .omega-pricelist-panel{
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
  #pricelistModal.modal-overlay-pricelist .omega-pricelist-left{
    max-width: 520px !important;
    margin: 0 auto !important;
  }
}
/* === END PRICELIST MODAL: SMALLER + CENTERED === */




/* ===================================================
   Pricelist Modal - Premium Compact (No scroll + breathing room)
   - Shows blurred website background behind overlay
   - Smaller card with space top/bottom
   - Short header + essential fields; optional details collapsible
   =================================================== */

.modal-overlay-pricelist{
  position: fixed;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;

  /* BLURRED WEBSITE behind */
  background: rgba(6, 8, 12, 0.18);
  -webkit-backdrop-filter: blur(18px) saturate(130%);
  backdrop-filter: blur(18px) saturate(130%);

  /* breathing room */
  padding: 72px 22px;
  z-index: 9999;
}
.modal-overlay-pricelist.open{ display:flex; }

.modal-overlay-pricelist::before{ display:none !important; }

.omega-pl-shell{
  position: relative;
  width: min(620px, 92vw);
}

.omega-pl-close{
  position: absolute;
  top: -18px;
  right: -10px;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.30);
  background: rgba(255,255,255,0.10);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(10px);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.omega-pl-close:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,0.16);
  border-color: rgba(255,255,255,0.42);
}

.omega-pl-card--clean{
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.10); /* no big background image */
  box-shadow: 0 36px 120px rgba(0,0,0,0.45);
  backdrop-filter: blur(14px);
}

/* Header compact */
.omega-pl-header--compact{
  padding: 22px 26px 10px;
  text-align: center;
  color: #fff;
}
.omega-pl-title--compact{
  font-family: "Cinzel", serif;
  font-weight: 600;
  font-size: clamp(24px, 3.0vw, 36px);
  line-height: 1.08;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.omega-pl-title--compact span{
  font-weight: 400;
  opacity: 0.92;
}
.omega-pl-subtitle--compact{
  margin: 0 auto 10px;
  max-width: 520px;
  font-size: 13px;
  line-height: 1.5;
  opacity: 0.90;
}
.omega-pl-meta--compact{
  font-size: 12px;
  opacity: 0.92;
}

/* Form compact */
.omega-pl-form--compact{
  padding: 10px 26px 22px;
  display: grid;
  gap: 12px;
}
.omega-pl-grid--compact{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.omega-pl-grid--more{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.omega-pl-field--full{ grid-column: 1 / -1; }

.omega-pl-form input,
.omega-pl-form textarea{
  width: 100%;
  border-radius: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(255,255,255,0.38);
  background: rgba(255,255,255,0.94);
  color: rgba(8,10,14,0.92);
  font-size: 13px;
  outline: none;
}
.omega-pl-form textarea{
  min-height: 78px;
  resize: vertical;
}
.omega-pl-form input::placeholder,
.omega-pl-form textarea::placeholder{
  color: rgba(8,10,14,0.45);
}

/* Optional details (premium) */
.omega-pl-more{
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  padding: 10px 12px;
}
.omega-pl-more-summary{
  list-style: none;
  cursor: pointer;
  color: rgba(255,255,255,0.92);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  user-select: none;
}
.omega-pl-more-summary::-webkit-details-marker{ display:none; }
.omega-pl-more-summary::after{
  content: "▾";
  float: right;
  opacity: 0.8;
}
.omega-pl-more[open] .omega-pl-more-summary::after{ content: "▴"; }
.omega-pl-more-body{ padding-top: 10px; }

/* Consent + button */
.omega-pl-consent--compact{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  color: rgba(255,255,255,0.92);
  font-size: 12px;
  line-height: 1.45;
}
.omega-pl-consent--compact input{
  margin-top: 2px;
  width: 16px; height: 16px;
  accent-color: #6f86ff;
}

.omega-pl-submit--compact{
  width: 100%;
  border: 0;
  border-radius: 999px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(90deg, rgba(39,92,255,0.95), rgba(126,86,255,0.95));
  box-shadow: 0 18px 42px rgba(0,0,0,0.30);
  transition: transform .18s ease, box-shadow .18s ease;
}
.omega-pl-submit--compact:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 54px rgba(0,0,0,0.35);
}

/* Ensure breathing room on shorter screens without removing top/bottom space */
@media (max-height: 820px){
  .modal-overlay-pricelist{ padding: 60px 18px; }
  .omega-pl-shell{ width: min(600px, 94vw); }
  .omega-pl-header--compact{ padding: 20px 22px 8px; }
  .omega-pl-form--compact{ padding: 10px 22px 20px; }
}

/* Mobile */
@media (max-width: 680px){
  .omega-pl-grid--compact,
  .omega-pl-grid--more{
    grid-template-columns: 1fr;
  }
  .modal-overlay-pricelist{ padding: 64px 14px; }
}


/* Hide optional details + agreement (removed from markup, but safe fallback) */
.omega-pl-more{ display:none !important; }
.omega-pl-consent, .omega-pl-consent--compact{ display:none !important; }



/* ===================================================
   Remove ALL background images from Pricelist Modal
   =================================================== */

/* Ensure overlay has no image */
.modal-overlay-pricelist{
  background-image: none !important;
}

/* Ensure card has no image */
.omega-pl-card,
.omega-pl-card--clean{
  background-image: none !important;
  background: rgba(255,255,255,0.10) !important; /* clean glass only */
}

/* Remove any legacy pricelist background rules */
.modal-overlay-pricelist,
.modal-overlay-pricelist.open{
  background-repeat: no-repeat !important;
  background-size: auto !important;
  background-position: center !important;
}



/* ===================================================
   Add images/workbench_bk.png ONLY to the popup panel
   Keep overlay blurred website background
   =================================================== */

.omega-pl-card,
.omega-pl-card--clean{
  background:
    linear-gradient(rgba(0,0,0,0.35), rgba(0,0,0,0.35)),
    url("images/images/workbench_bk.png") center center / cover no-repeat !important;
  border: 1px solid rgba(255,255,255,0.18);
}

/* Slightly increase text contrast over image */
.omega-pl-header,
.omega-pl-form{
  position: relative;
  z-index: 2;
}



/* ===================================================
   Lighten panel background image + fix close button layering
   =================================================== */

/* Make background image lighter (reduce dark overlay) */
.omega-pl-card,
.omega-pl-card--clean{
  background:
    linear-gradient(rgba(0,0,0,0.18), rgba(0,0,0,0.18)),
    url("images/images/workbench_bk.png") center center / cover no-repeat !important;
}

/* Ensure close button sits ABOVE panel */
.omega-pl-shell{
  position: relative;
  z-index: 10001;
}

.omega-pl-close{
  z-index: 10002 !important;
}

/* Ensure card does not cover close */
.omega-pl-card{
  position: relative;
  z-index: 10000;
}



/* ===================================================
   Make panel slightly bigger + move close button inside
   =================================================== */

/* Slightly larger panel */
.omega-pl-shell{
  width: min(700px, 94vw) !important;
}

/* Ensure card has proper positioning context */
.omega-pl-card{
  position: relative !important;
  z-index: 1;
}

/* Move close button inside top-right corner of panel */
.omega-pl-close{
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 5 !important;
  background: rgba(0,0,0,0.35) !important;
  border: 1px solid rgba(255,255,255,0.35) !important;
  backdrop-filter: blur(6px);
}


/* =========================================
   DESKTOP NAVIGATION CLEAN — NO WHITE UNDERLINE
   ========================================= */

@media (min-width: 992px) {

  .nav-menu a,
  .nav-menu a:hover,
  .nav-menu a:focus,
  .nav-menu a.active {
      text-decoration: none !important;
      border-bottom: none !important;
      background-image: none !important;
  }

  .nav-menu a::after {
      content: none !important;
      display: none !important;
  }

}


/* =========================================
   DEEP FIX: remove WHITE underline driven by li::after
   (desktop nav only)
   ========================================= */
@media (min-width: 992px){
  .omega-nav > ul > li::after{ content:none !important; display:none !important; }
}


/* Omega Difference inner content centering */
.omega-difference .omega-difference-inner .od-header,
.omega-difference .omega-difference-inner .od-items{
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}


/* ===== FULL-BLEED SAFETY OVERRIDES (Hero + Omega Difference) ===== */
.omega-hero, .omega-difference{ width:100%; max-width:100%; margin:0; }
.omega-hero{ left:0; right:0; }
.omega-hero > video.hero-video-bg{ width:100% !important; height:100% !important; }
/* ===== PATCH: HERO FULL-BLEED + CONTENT OFFSET (2026-02-23) ===== */
.omega-hero{ width:100% !important; max-width:100% !important; margin:0 !important; }
.omega-hero > .hero-video-bg,
.omega-hero video.hero-video-bg{
  position:absolute !important;
  top:50% !important;
  left:50% !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center !important;
  transform: translate(-50%, -50%) scale(1.06) !important; /* kill any edge gaps */
  background:#000 !important;
}

/* Move hero text/buttons down */
.omega-hero .hero-content{ padding-top: 80px !important; }
@media (max-width: 768px){
  .omega-hero .hero-content{ padding-top: 50px !important; }
}



/* ===== Flip Expand Panel ===== */
.reveal-backdrop{
  position:fixed; inset:0;
  background: rgba(0,0,0,0.55);
  backdrop-filter: blur(10px);
  opacity:0; transition: opacity 360ms ease;
  z-index:9990;
}
.reveal-backdrop.is-visible{ opacity:1; }

.reveal-panel{
  position:fixed; left:50%; top:10%;
  transform:translateX(-50%);
  width:min(1200px, calc(100vw - 40px));
  max-height:80vh;
  border-radius:20px;
  background:rgba(10,14,20,0.9);
  border:1px solid rgba(255,255,255,0.12);
  box-shadow:0 30px 100px rgba(0,0,0,0.5);
  overflow:hidden;
  opacity:0;
  z-index:10000;
}
.reveal-panel.is-open{ opacity:1; }

.panel-close{
  position:absolute;
  top:16px;
  right:16px;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.26);
  background:rgba(0,0,0,0.58);
  color:#fff;
  cursor:pointer;
  z-index:1002;
  font-size:24px;
  line-height:1;
  box-shadow:0 12px 28px rgba(0,0,0,0.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.panel-content{ padding:0; overflow-y:auto; overflow-x:hidden; max-height:calc(100vh - 56px); -webkit-overflow-scrolling:touch; }

body.panel-open #siteWrapper{
  filter:brightness(0.9) saturate(0.9);
  transition: filter 360ms ease;
}



/* ===== Flip Card Back Face Centering + View Details Button ===== */
.flip-face.flip-back.flip-back-centered{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.flip-back-mid{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 14px;
  width: 100%;
  padding: 0 10px;
}

.flip-back-mid p{
  margin:0;
  opacity: 0.9;
}

.flip-back-mid a,
.flip-back-mid button{
  margin-top: 2px;
}



/* ===== Simplified Flip Card Back (Centered Clean Layout) ===== */
.flip-face.flip-back{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.flip-back-mid{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 16px;
  width:100%;
}

.flip-back-mid p{
  margin:0;
  max-width: 28ch;
}

.flip-back-mid a,
.flip-back-mid button{
  margin-top: 6px;
}



/* ===== Perfect Vertical Centering for Flip Back ===== */
.flip-face.flip-back{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center;
    padding: 0 24px !important;
}

.flip-back-mid{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap: 20px;
    width:100%;
    height:100%;
}

.flip-back-mid h2,
.flip-back-mid h3{
    margin:0;
}

.flip-back-mid p{
    margin:0;
    max-width: 32ch;
}

.flip-back-mid a,
.flip-back-mid button{
    margin-top: 10px;
}



/* ===== Flip Card Back: TRUE vertical centering with even top/bottom breathing room ===== */
/* This override is intentionally last in the file to win specificity/cascade. */
.flip-face.flip-back{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;

  /* Even breathing room top/bottom so the centered group feels balanced */
  padding: 28px 24px !important;
}

.flip-face.flip-back .flip-back-mid{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap: 16px !important;

  /* prevent any prior height hacks from shifting content */
  height: auto !important;
}

.flip-face.flip-back h2,
.flip-face.flip-back h3{
  margin: 0 !important;
}

.flip-face.flip-back p{
  margin: 0 !important;
  max-width: 34ch !important;
}

.flip-face.flip-back a,
.flip-face.flip-back button{
  margin: 0 !important;      /* remove any “push down” */
}



/* ===== Flip Card Back: Refined Element Spacing ===== */
.flip-face.flip-back .flip-back-mid{
  gap: 22px !important; /* increased from 16px */
}

.flip-face.flip-back h2,
.flip-face.flip-back h3{
  margin-bottom: 4px !important;
  letter-spacing: 1px;
}

.flip-face.flip-back p{
  margin-bottom: 6px !important;
  line-height: 1.6;
}

.flip-face.flip-back a,
.flip-face.flip-back button{
  margin-top: 8px !important;
}


/* ===== Reveal Panel: 2D Smile Design content styling (scoped) ===== */
#revealPanel .reveal-2d{ padding: 6px 0; }
#revealPanel .reveal-2d-head{ margin-bottom: 26px; }
#revealPanel .reveal-2d-title{ margin:0 0 8px; letter-spacing: .16em; text-transform: uppercase; }
#revealPanel .reveal-2d-sub{ margin:0; opacity:.85; }
#revealPanel .reveal-2d-h3{ margin: 0 0 10px; letter-spacing: .14em; text-transform: uppercase; font-size: 0.95rem; opacity: .95; }
#revealPanel .reveal-2d-wow{ margin-bottom: 26px; }
#revealPanel .oi-lead, #revealPanel .oi-sublead{ max-width: 78ch; }
#revealPanel .oi-lead{
#revealPanel font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  color: rgba(5,10,24,.65);
    color: #000;
}
.oi-lead-on-dark{ color: rgba(255,255,255,.86); }
#revealPanel .oi-lead--white{
#revealPanel color: rgba(255,255,255,.78) !important;
  max-width: 80ch;
  margin-inline:auto;
}
.oi-sublead{
#revealPanel margin: 16px auto 0;
  max-width: 980px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(22, 22, 22, 0.82);
}
.oi-benefits2d{
#revealPanel position: relative;
  padding: 74px 0 78px;
  overflow: hidden;
  background: #050b18;
}
.oi-benefits2d::before{
#revealPanel content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(20,165,255,0.75), rgba(145,53,169,0.72)),
    url("images/2D%20SMILE%20DESIGN%20GALLARY-03.jpg") center/cover no-repeat;
  opacity: 0.98;
  transform: scale(1.02);
  filter: saturate(1.05);
}
.oi-benefits2d::after{
#revealPanel content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(5,11,24,0.35), rgba(5,11,24,0.52));
}
.oi-benefits2d > .container{
#revealPanel position: relative;
  z-index: 1;
}
.oi-benefits2d-head{
#revealPanel text-align: center;
  margin-bottom: 34px;
}
.oi-benefits2d-title{
#revealPanel font-family: "Cinzel", serif;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-size: clamp(22px, 3.1vw, 40px);
  color: rgba(255,255,255,0.96);
  text-shadow: 0 10px 28px rgba(0,0,0,0.45);
}
.oi-benefits2d-panel{
#revealPanel position: relative;
  border-radius: 22px;
  padding: 34px 26px;
  background: rgba(5,11,24,0.18);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 26px 70px rgba(0,0,0,0.45);
  backdrop-filter: blur(10px) saturate(1.08);
}
.oi-benefits2d-grid{
#revealPanel display: grid;
  grid-template-columns: 1fr minmax(220px, 320px) 1fr;
  grid-auto-rows: minmax(92px, auto);
  gap: 22px 28px;
  align-items: center;
}
.oi-benefit{
#revealPanel padding: 18px 18px 16px;
  border-radius: 18px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  backdrop-filter: blur(10px);
  text-align: center;
}
.oi-benefit-top{
#revealPanel display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 10px;
}
.oi-benefit-kicker{
#revealPanel font-family: "Cinzel", serif;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(255,255,255,0.95);
}
.oi-benefit-icon{
#revealPanel width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.92;
}
.oi-benefit-icon svg{
#revealPanel width: 34px;
  height: 34px;
  fill: none;
  stroke: rgba(255,255,255,0.92);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.oi-benefit-text{
#revealPanel font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.9);
}
.oi-benefit-right{  }
#revealPanel .oi-benefits2d-video{
#revealPanel grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  justify-self: center;
  width: min(320px, 92%);
}
.oi-benefits2d-video-el{
#revealPanel width: 90%;
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;
  display: block;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,0.22);
  box-shadow: 0 26px 80px rgba(0,0,0,0.55);
  background: rgb(0, 0, 0);
}
.oi-benefits2d-panel{ padding: 26px 18px; }
#revealPanel .oi-benefits2d-grid{
#revealPanel grid-template-columns: 1fr;
    gap: 14px;
  }
.oi-benefits2d-video{
#revealPanel grid-column: 1;
    grid-row: auto;
    width: min(320px, 100%);
    margin: 10px auto 6px;
  }
.oi-benefits2d-arrow{
#revealPanel position: static;
    transform: none;
    margin: 18px auto 0;
  }
.oi-benefit{
#revealPanel text-align: center;
  }
.oi-benefit-top{
#revealPanel justify-content: center;
    flex-wrap: wrap;
  }
.oi-benefit-kicker{
#revealPanel font-size: 13px;
    letter-spacing: 0.07em;
  }
.oi-benefit-text{
#revealPanel font-size: 14px;
  }
.oi-benefits2d{ padding: 62px 0 66px; }
#revealPanel .oi-benefits2d-title{ letter-spacing: 0.08em; }
#revealPanel .oi-benefit{ padding: 16px 14px 14px; }
#revealPanel .oi-benefits2d-video-el{ border-radius: 22px; }

/* ===== Reveal Panel: 2D Smile Design FULL layout (scoped) ===== */
#revealPanel .container{ width:min(1180px, calc(100% - 40px)); margin:0 auto; }
#revealPanel .reveal-2d-head{ padding: 4px 0 26px; }
#revealPanel .reveal-2d-title{ margin:0 0 8px; letter-spacing:.16em; text-transform:uppercase; }
#revealPanel .reveal-2d-sub{ margin:0; opacity:.85; }
#revealPanel .oi-wow-panel{ padding: 10px 0 24px; }
#revealPanel .oi-wow-head{ margin-bottom: 18px; }
/* Make compare cards look cinematic inside panel */
#revealPanel .oi-compare{ gap: 18px; }
#revealPanel .oi-compare-card{ border-radius: 18px; overflow:hidden; }
#revealPanel .oi-compare-video{ width:100%; height: 320px; object-fit: cover; display:block; }
@media (max-width: 900px){
  #revealPanel .oi-compare{ grid-template-columns: 1fr; }
  #revealPanel .oi-compare-video{ height: 240px; }
}
#revealPanel .container{ width:min(1280px,94%); margin-inline:auto; }
#revealPanel .oi-title{
#revealPanel font-family: "Cinzel", serif;
  font-size: 50px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 14px;
}
.oi-block > .container{ position: relative; z-index: 1; }
#revealPanel .oi-lead{
#revealPanel font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  color: rgba(5,10,24,.65);
    color: #000;
}
.oi-lead-on-dark{ color: rgba(255,255,255,.86); }
#revealPanel .oi-workflow .container{ position: relative; z-index:2; }
#revealPanel .oi-compare{
#revealPanel display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 42px;
  max-width: 1200px;
  margin-inline: auto;
}
.oi-compare-card{
#revealPanel position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #000;
  border: 1px solid rgba(0,0,0,.35);
  box-shadow: 0 30px 80px rgba(0,0,0,.35);

  
  height: clamp(420px, 42vw, 640px);
}
.oi-compare-card .oi-compare-video{
#revealPanel position: absolute;
  inset: 0;
  width: 90%;
  height: auto;
  display: block;

  object-fit: cover;
  object-position: 50% var(--faceY);
}
.oi-compare-card-hi{ border-color: rgba(51,193,255,.28); }
#revealPanel .oi-cap{
#revealPanel position:absolute;
  left: 14px;
  top: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(5,10,24,.65);
  border: 1px solid rgba(255,255,255,.16);
  font-size: 18px;
  letter-spacing:.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
  z-index: 2;
}
.reveal{ opacity:0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease; }
#revealPanel .reveal.is-in{ opacity:1; transform: translateY(0); }
#revealPanel #proof .container{
#revealPanel width: 90%;
    padding-inline: 8px;
  }
.oi-compare{
#revealPanel display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 90%;
    max-width: none !important;
    gap: 6px;
    justify-content: center;
    justify-items: center;
    align-items: stretch;
    margin-top: 18px;
  }
.oi-compare-card{
#revealPanel width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    border-radius: 22px;
    position: relative;
    overflow: hidden;
    background: #000;
  }
.oi-compare-card .oi-compare-video{
#revealPanel position: absolute;
    inset: 0;
    width: 90%;
    height: auto;
    object-fit: cover;
    object-position: 50% 42%;
  }
.oi-compare-card:first-child .oi-compare-video{
#revealPanel object-position: 53% 40%;
}
.oi-compare-card:last-child .oi-compare-video{
#revealPanel object-position: 47% 40%;
}
.oi-cap{
#revealPanel font-size: 12px;
    padding: 6px 10px;
  }
.oi-title{ max-width: 22ch; }
#revealPanel .oi-lead--white{
#revealPanel color: rgba(255,255,255,.78) !important;
  max-width: 80ch;
  margin-inline:auto;
}
.oi-copydent .container{
#revealPanel position: relative;
  z-index: 1;
}
.oi-copydent > .container{
#revealPanel position: relative;
  z-index: 2;
}
.oi-sublead{
#revealPanel margin: 16px auto 0;
  max-width: 980px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(22, 22, 22, 0.82);
}
.oi-benefits2d{
#revealPanel position: relative;
  padding: 74px 0 78px;
  overflow: hidden;
  background: #050b18;
}
.oi-benefits2d::before{
#revealPanel content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(20,165,255,0.75), rgba(145,53,169,0.72)),
    url("images/2D%20SMILE%20DESIGN%20GALLARY-03.jpg") center/cover no-repeat;
  opacity: 0.98;
  transform: scale(1.02);
  filter: saturate(1.05);
}
.oi-benefits2d::after{
#revealPanel content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(5,11,24,0.35), rgba(5,11,24,0.52));
}
.oi-benefits2d > .container{
#revealPanel position: relative;
  z-index: 1;
}
.oi-benefits2d-head{
#revealPanel text-align: center;
  margin-bottom: 34px;
}
.oi-benefits2d-title{
#revealPanel font-family: "Cinzel", serif;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-size: clamp(22px, 3.1vw, 40px);
  color: rgba(255,255,255,0.96);
  text-shadow: 0 10px 28px rgba(0,0,0,0.45);
}
.oi-benefits2d-panel{
#revealPanel position: relative;
  border-radius: 22px;
  padding: 34px 26px;
  background: rgba(5,11,24,0.18);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 26px 70px rgba(0,0,0,0.45);
  backdrop-filter: blur(10px) saturate(1.08);
}
.oi-benefits2d-grid{
#revealPanel display: grid;
  grid-template-columns: 1fr minmax(220px, 320px) 1fr;
  grid-auto-rows: minmax(92px, auto);
  gap: 22px 28px;
  align-items: center;
}
.oi-benefit{
#revealPanel padding: 18px 18px 16px;
  border-radius: 18px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  backdrop-filter: blur(10px);
  text-align: center;
}
.oi-benefit-top{
#revealPanel display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 10px;
}
.oi-benefit-kicker{
#revealPanel font-family: "Cinzel", serif;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(255,255,255,0.95);
}
.oi-benefit-icon{
#revealPanel width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.92;
}
.oi-benefit-icon svg{
#revealPanel width: 34px;
  height: 34px;
  fill: none;
  stroke: rgba(255,255,255,0.92);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.oi-benefit-text{
#revealPanel font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.9);
}
.oi-benefit-right{  }
#revealPanel .oi-benefits2d-video{
#revealPanel grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  justify-self: center;
  width: min(320px, 92%);
}
.oi-benefits2d-video-el{
#revealPanel width: 90%;
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;
  display: block;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,0.22);
  box-shadow: 0 26px 80px rgba(0,0,0,0.55);
  background: rgb(0, 0, 0);
}
.oi-benefits2d-panel{ padding: 26px 18px; }
#revealPanel .oi-benefits2d-grid{
#revealPanel grid-template-columns: 1fr;
    gap: 14px;
  }
.oi-benefits2d-video{
#revealPanel grid-column: 1;
    grid-row: auto;
    width: min(320px, 100%);
    margin: 10px auto 6px;
  }
.oi-benefits2d-arrow{
#revealPanel position: static;
    transform: none;
    margin: 18px auto 0;
  }
.oi-benefit{
#revealPanel text-align: center;
  }
.oi-benefit-top{
#revealPanel justify-content: center;
    flex-wrap: wrap;
  }
.oi-benefit-kicker{
#revealPanel font-size: 13px;
    letter-spacing: 0.07em;
  }
.oi-benefit-text{
#revealPanel font-size: 14px;
  }
.oi-benefits2d{ padding: 62px 0 66px; }
#revealPanel .oi-benefits2d-title{ letter-spacing: 0.08em; }
#revealPanel .oi-benefit{ padding: 16px 14px 14px; }
#revealPanel .oi-benefits2d-video-el{ border-radius: 22px; }


/* ===== 2D WOW Panel Background Image Override ===== */
#revealPanel .oi-wow-panel{
  background-image: url('images/photography_bk2.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 0;
  border-radius: 22px;
}
#revealPanel .oi-wow-panel .container{
  background: rgba(10,14,20,0.65);
  backdrop-filter: blur(6px);
  padding: 40px;
  border-radius: 18px;
}



/* ===== v41 FIX: Ensure WOW section background + readable typography in reveal panel ===== */
#revealPanel .oi-wow-panel{
  background-image: url("images/photography_bk2.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  border-radius: 22px !important;
  padding: 56px 0 !important;
  margin: 10px 0 26px !important;
  overflow: hidden !important;
  position: relative !important;
}

/* Cinematic overlay so image is visible but text is crisp */
#revealPanel .oi-wow-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(60% 60% at 20% 10%, rgba(0,0,0,.35), rgba(0,0,0,.72));
  pointer-events:none;
}

/* Keep content above overlay */
#revealPanel .oi-wow-panel .container{
  position: relative !important;
  z-index: 1 !important;

  background: rgba(10,14,20,0.55) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;

  padding: 34px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
}

/* Force text to be readable on dark glass */
#revealPanel .oi-wow-panel,
#revealPanel .oi-wow-panel *{
  color: rgba(255,255,255,0.92) !important;
}

#revealPanel .oi-wow-panel .oi-sublead{
  opacity: 0.9 !important;
}

#revealPanel .oi-wow-panel .oi-lead{
  opacity: 0.92 !important;
}

/* Ensure compare videos are visible and nicely framed */
#revealPanel .oi-compare{
  margin-top: 18px !important;
}

#revealPanel .oi-compare-card{
  background: rgba(0,0,0,0.28) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,0.35) !important;
}

#revealPanel .oi-cap{
  color: rgba(255,255,255,0.88) !important;
  letter-spacing: 0.18em !important;
}


/* ===== Reveal Panel: Innovation 2D scoped CSS ===== */
#revealPanel .panel-innovation-2d .container{
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}
/* Force WOW panel background image as requested */
#revealPanel .panel-innovation-2d .panel-wow{
  background-image: url("images/photography_bk2.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
/* Ensure videos display nicely in panel context */
#revealPanel .panel-innovation-2d .oi-compare-video{
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}
@media (max-width: 900px){
  #revealPanel .panel-innovation-2d .oi-compare-video{ height: 240px; }
}

#revealPanel .panel-innovation-2d *{ box-sizing:border-box; }
#revealPanel .panel-innovation-2d html{ scroll-behavior:smooth; }
#revealPanel .panel-innovation-2d body{ margin:0; }
#revealPanel .panel-innovation-2d img, #revealPanel .panel-innovation-2d video{ max-width:100%; display:block; }
#revealPanel .panel-innovation-2d .container{ width:min(1280px,94%); margin-inline:auto; }
#revealPanel .panel-innovation-2d :root{
  --bg:#050b18;
  --glass: rgba(255,255,255,.08);
  --glass2: rgba(5,10,24,.55);
  --stroke: rgba(255,255,255,.12);
  --txt: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.78);
  --accent: rgba(51,193,255,1);
  --accent2: rgba(139,88,255,1);
  --shadow: 0 22px 58px rgba(0,0,0,.28);

  
  --faceY: 42%;
}
#revealPanel .panel-innovation-2d .oi{
  font-family:"Lato", sans-serif;
  background: var(--bg);
  color: var(--txt);
}
#revealPanel .panel-innovation-2d body.lock-scroll{ overflow:hidden; }
#revealPanel .panel-innovation-2d .oi-top{
  position: sticky;
  top:0;
  z-index: 2000;
  background: rgba(5, 11, 24, 0.72);
  backdrop-filter: blur(10px) saturate(1.15);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
#revealPanel .panel-innovation-2d .oi-top-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding: 12px 0;
}
#revealPanel .panel-innovation-2d .oi-brand img{
  width: 150px;
  height:auto;
  opacity:.98;
}
#revealPanel .panel-innovation-2d .oi-links{
  display:flex;
  gap: 18px;
}
#revealPanel .panel-innovation-2d .oi-links a{
  text-decoration:none;
  color: rgba(255,255,255,.86);
  font-size: 12px;
  letter-spacing:.18em;
  text-transform: uppercase;
  border-bottom: 1px solid transparent;
  padding: 8px 2px;
}
#revealPanel .panel-innovation-2d .oi-links a:hover{ border-bottom-color: rgba(255,255,255,.22); }
#revealPanel .panel-innovation-2d .oi-actions{ display:flex; align-items:center; gap: 10px; }
#revealPanel .panel-innovation-2d .oi-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-size: 11px;
  letter-spacing:.16em;
  text-transform: uppercase;
  font-weight: 900;
  transition: transform .18s ease;
}
#revealPanel .panel-innovation-2d .oi-chip:hover{ transform: translateY(-1px); }
#revealPanel .panel-innovation-2d .oi-burger{
  width: 44px; height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  display:none;
  align-items:center;
  justify-content:center;
  gap: 5px;
  flex-direction:column;
  cursor:pointer;
}
#revealPanel .panel-innovation-2d .oi-burger span{
  width: 18px;
  height: 2px;
  background: rgba(255,255,255,.86);
  border-radius: 4px;
}
#revealPanel .panel-innovation-2d .oi-drawer{
  position: fixed;
  inset: 0;
  display:none;
  z-index: 3000;
}
#revealPanel .panel-innovation-2d .oi-drawer.open{ display:block; }
#revealPanel .panel-innovation-2d .oi-drawer-bg{
  position:absolute;
  inset:0;
  background: rgba(5,10,24,.75);
}
#revealPanel .panel-innovation-2d .oi-drawer-panel{
  position:absolute;
  right: 0;
  top: 0;
  height: auto;
  width: min(360px, 86vw);
  background: rgba(6, 14, 30, 0.86);
  backdrop-filter: blur(14px) saturate(1.2);
  border-left: 1px solid rgba(255,255,255,.12);
  padding: 18px;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
#revealPanel .panel-innovation-2d .oi-drawer-close{
  align-self:flex-end;
  width: 40px; height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(5,10,24,.55);
  color:#fff;
  font-size: 18px;
  cursor:pointer;
}
#revealPanel .panel-innovation-2d .oi-drawer-panel a{
  padding: 12px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  text-decoration:none;
  color: rgba(255,255,255,.92);
  font-weight: 900;
  letter-spacing:.12em;
  text-transform: uppercase;
  font-size: 12px;
}
#revealPanel .panel-innovation-2d .oi-drawer-cta{
  margin-top: 8px;
  background: rgba(255,255,255,.92) !important;
  color: rgba(5,10,24,.96) !important;
}
#revealPanel .panel-innovation-2d .oi-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration:none;
  border: 1px solid transparent;
  cursor:pointer;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
  white-space: nowrap;
}
#revealPanel .panel-innovation-2d .oi-btn:hover{ transform: translateY(-1px); }
#revealPanel .panel-innovation-2d .oi-btn-primary{
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}
#revealPanel .panel-innovation-2d .oi-btn-ghost{
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.16);
}
#revealPanel .panel-innovation-2d .oi-btn-small{ padding: 10px 14px; font-size: 11px; }
#revealPanel .panel-innovation-2d .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 18px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration:none;
  border: 1px solid transparent;
  cursor:pointer;
  transition: transform .18s ease, opacity .18s ease, box-shadow .18s ease;
  white-space: nowrap;
}
#revealPanel .panel-innovation-2d .btn:hover{ transform: translateY(-1px); }
#revealPanel .panel-innovation-2d .btn-primary{
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.45);
}
#revealPanel .panel-innovation-2d .btn-ghost{
  background: rgba(255,255,255,.10);
  color: rgba(255,255,255,.92);
  border-color: rgba(255,255,255,.16);
}
#revealPanel .panel-innovation-2d .btn-small{ padding: 10px 14px; font-size: 11px; }
#revealPanel .panel-innovation-2d .oi-hero{
  position: relative;
  min-height: 70vh;
  overflow: hidden;
  background: #000;
}
#revealPanel .panel-innovation-2d .oi-hero-media{ position:absolute; inset: 0; z-index: 0; }
#revealPanel .panel-innovation-2d .oi-hero-video{
  position:absolute; inset: 0;
  width: 90%; height: auto;
  object-fit: cover;
  object-position: 50% 35%;
}
#revealPanel .panel-innovation-2d .oi-hero-fallback{
  position:absolute; inset: 0;
  background: url("images/bk_hero.jpg") center/cover no-repeat;
  opacity: .60;
}
#revealPanel .panel-innovation-2d .oi-hero-ov{
  position:absolute; inset:0; z-index: 1;

}
#revealPanel .panel-innovation-2d .oi-hero-inner{ position: relative; z-index: 2; padding: 72px 0 68px; }
#revealPanel .panel-innovation-2d .oi-kicker{
  margin:0 0 12px;
  font-size:12px;
  letter-spacing:.30em;
  text-transform:uppercase;
  opacity:.92;
}
#revealPanel .panel-innovation-2d .oi-title{
  font-family: "Cinzel", serif;
  font-size: 50px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  line-height: 1.3;
  margin-bottom: 14px;
}
#revealPanel .panel-innovation-2d .oi-sub{
  font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  max-width: 520px;
}
#revealPanel .panel-innovation-2d .oi-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin: 0 0 18px;
}
#revealPanel .panel-innovation-2d .oi-scroll{
  margin-top: 18px;
  display:inline-flex;
  align-items:center;
  gap: 10px;
  font-size: 11px;
  letter-spacing:.22em;
  text-transform: uppercase;
  opacity:.78;
}
#revealPanel .panel-innovation-2d .oi-dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.34);
  background: rgba(51,193,255,.20);
}
#revealPanel .panel-innovation-2d .oi-block{
  position: relative;
  padding: 70px 0;
  background: url("images/tech_bk_1.jpg") center/cover no-repeat;
}
#revealPanel .panel-innovation-2d .oi-tint{
  background: url("images/technology_bk.jpg") center/cover no-repeat;
}
#revealPanel .panel-innovation-2d .oi-overlay-dark::before{
  content:"";
  position:absolute;
  inset:0;
  z-index: 0;
}
#revealPanel .panel-innovation-2d .oi-overlay-light::before{
  content:"";
  position:absolute;
  inset:0;
   background: url("images/photography_bk2.jpg") center/cover no-repeat;
  z-index: 0;
}
#revealPanel .panel-innovation-2d .oi-overlay-3ddark::before{
  content:"";
  position:absolute;
  inset:0;
  z-index: 0;
}
#revealPanel .panel-innovation-2d .oi-overlay-3dlight::before{
  content:"";
  position:absolute;
  inset:0;
   background: url("images/photography_bk2.jpg") center/cover no-repeat;
  z-index: 0;
}
#revealPanel .panel-innovation-2d .oi-block > .container{ position: relative; z-index: 1; }
#revealPanel .panel-innovation-2d .oi-head{ margin-bottom: 16px; }
#revealPanel .panel-innovation-2d .oi-head-center{ text-align:center; }
#revealPanel .panel-innovation-2d .oi-head-left{ text-align:left; max-width: 70ch; }
#revealPanel .panel-innovation-2d .oi-h2{
  margin:0 0 10px;
  font-family:"Cinzel", serif;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:22px;
  color: #000;
}
#revealPanel .panel-innovation-2d .oi-h{
  margin:0 0 10px;
  font-family:"Cinzel", serif;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:22px;
  color: #ffffff;
}
#revealPanel .panel-innovation-2d .oi-lead{
     font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  color: rgba(5,10,24,.65);
    color: #000;
}
#revealPanel .panel-innovation-2d .oi-lead-on-dark{ color: rgba(255,255,255,.86); }
#revealPanel .panel-innovation-2d .oi-line{
    margin: 0 auto;
    letter-spacing: 0.18em;
    max-width: 920px;
    font-size: 14px;
    line-height: 1.6;
    color: #fff;
    padding: 15px;
}
#revealPanel .panel-innovation-2d .oi-substep{
  margin:0 0 10px;
  padding-bottom: 20px;
  font-weight:600;
  letter-spacing:.16em;
  font-size: 16px;
 text-align: center;
  color: rgba(255,255,255,.92);
}
#revealPanel .panel-innovation-2d .oi-workflow{ overflow:hidden; }
#revealPanel .panel-innovation-2d .oi-workflow-media{ position:absolute; inset:0; z-index:0; }
#revealPanel .panel-innovation-2d .oi-workflow-video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit: cover;
  object-position: 50% 55%;
  opacity: .55;
  filter: saturate(1.05) contrast(1.05);
}
#revealPanel .panel-innovation-2d .oi-workflow-fallback{
  position:absolute; inset:0;
  background: url("images/bk_hero.jpg") center/cover no-repeat;
  opacity: .28;
}
#revealPanel .panel-innovation-2d .oi-workflow-ov{
  position:absolute; inset:0; z-index:1;
  background: url("images/photography_bk3.jpg") center/cover no-repeat;
  opacity: .65;
}
#revealPanel .panel-innovation-2d .oi-workflow .container{ position: relative; z-index:2; }
#revealPanel .panel-innovation-2d .oi-steps{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 16px;
  position: relative;
}
#revealPanel .panel-innovation-2d .oi-step{
  position: relative;
  border-radius: 18px;
  background: rgba(255,255,255,.07);
  box-shadow: var(--shadow);
  padding: 12px 12px;
  backdrop-filter: blur(10px) saturate(1.1);
}
#revealPanel .panel-innovation-2d .oi-step::before{
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(10, 141, 234, 1), rgba(90, 47, 186, 1));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
#revealPanel .panel-innovation-2d .oi-step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:-29px; 
    width:44px;
    height:14px;
    transform: translateY(-50%);
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(0 22%, 78% 22%, 78% 6%, 100% 50%, 78% 94%, 78% 78%, 0 78%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    opacity: .98;
    pointer-events:none;
    z-index: 3;
  }
#revealPanel .panel-innovation-2d .oi-step:not(:last-child)::after{
    box-shadow: 0 0 18px rgba(51,193,255,.25);
  }
#revealPanel .panel-innovation-2d .oi-step-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 10px;
}
#revealPanel .panel-innovation-2d .oi-n{
  font-family:"Cinzel", serif;
  font-weight:600;
  font-size: 26px;
  line-height: 1;
  display: inline-block;
  background: linear-gradient(135deg, rgba(10, 141, 234, 1), rgb(64, 120, 251));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
#revealPanel .panel-innovation-2d .oi-pill{
  padding: 7px 10px;
  border-radius:999px;
  background: rgba(51,193,255,.12);
  border: 1px solid rgba(51,193,255,.22);
  font-size: 12px;
  letter-spacing:.18em;
  line-height: 1.6;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
}
#revealPanel .panel-innovation-2d .oi-pill-alt{ background: rgba(139,88,255,.12); border-color: rgba(139,88,255,.22); }
#revealPanel .panel-innovation-2d .oi-pill-strong{ background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.18); }
#revealPanel .panel-innovation-2d .oi-pill-glass{ background: rgba(51,193,255,.10); border-color: rgba(255,255,255,.12); }
#revealPanel .panel-innovation-2d margin:0 0 8px;
  font-family:"Cinzel", #revealPanel .panel-innovation-2d serif;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:14px;
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: center;
  


.oi-step-img{
  width: 90%;
  max-width: 240px;
  margin: 10px auto 12px;
  display:block;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  object-fit: cover;
}
#revealPanel .panel-innovation-2d .oi-step-img{ max-width: 260px; }
#revealPanel .panel-innovation-2d .oi-step-img{ max-width: 220px; border-radius: 16px; }
#revealPanel .panel-innovation-2d .oi-step .oi-line{
  padding top: 10px;
  padding bottom: 5px;
  margin: 0 0 10px;
  max-width: none;
  font-size: 13px;
  line-height: 1.6;
}
#revealPanel .panel-innovation-2d .oi-minirow{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 10px;
  border-radius: 16px;
  background: rgba(5,10,24,.55);
  border: 1px solid rgba(255,255,255,.12);
}
#revealPanel .panel-innovation-2d .oi-badge{
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.14);
  font-size: 12px;
  letter-spacing:.18em;
  text-transform: uppercase;
  white-space: nowrap;
}
#revealPanel .panel-innovation-2d .oi-minirow span:last-child{
  font-size: 13px;
  line-height: 1.6;
  letter-spacing:.18em;
  color: rgba(255,255,255,.86);
}
#revealPanel .panel-innovation-2d .oi-steps{ overflow: visible; }
#revealPanel .panel-innovation-2d .oi-step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:-29px; 
    width:46px;
    height:16px;
    transform: translateY(-50%);
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(0 35%, 72% 35%, 72% 12%, 100% 50%, 72% 88%, 72% 65%, 0 65%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    opacity: .92;
    pointer-events:none;
  }
#revealPanel .panel-innovation-2d .oi-step.oi-step-hi::after{ opacity: .92; }
#revealPanel .panel-innovation-2d .oi-step-hi{ background: rgba(255,255,255,.10); }
#revealPanel .panel-innovation-2d .oi-workflow-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  margin-top: 18px;
}
#revealPanel .panel-innovation-2d .oi-callout{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);
  max-width: 760px;
}
#revealPanel .panel-innovation-2d .oi-call-ic{
  width: 44px; height: 44px;
  border-radius: 16px;
 
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
  background: url("images/wetransfer_Logo.png") center/cover no-repeat;
}
#revealPanel .panel-innovation-2d .oi-call-t{
  font-size: 11px;
  letter-spacing:.22em;
  text-transform: uppercase;
  opacity:.86;
  margin-bottom: 6px;
}
#revealPanel .panel-innovation-2d .oi-call-p{
  font-size: 14px;
  letter-spacing:.18em;
  line-height: 1.6;
  color: rgba(255,255,255,.84);
}
#revealPanel .panel-innovation-2d .oi-cta{
  margin-top: 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 12px;
  flex-wrap:wrap;
}
#revealPanel .panel-innovation-2d .oi-tech-suite{
  position: relative;
  margin-top: 18px;
}
#revealPanel .panel-innovation-2d .oi-tech-suite::before{
  content:"";
  position:absolute;
  inset:-28px -18px;
  background:
    radial-gradient(760px 420px at 18% 20%, rgba(10,141,234,.18), transparent 55%),
    radial-gradient(760px 420px at 86% 60%, rgba(90,47,186,.18), transparent 55%),
    radial-gradient(900px 520px at 50% 88%, rgba(255,255,255,.05), transparent 60%);
  pointer-events:none;
  filter: blur(2px);
  opacity:.9;
}
#revealPanel .panel-innovation-2d .oi-tech-suite > *{ position: relative; z-index: 1; }
#revealPanel .panel-innovation-2d .oi-tech-row{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(16px, 2.4vw, 34px);
  align-items:center;
  padding: clamp(18px, 2.2vw, 26px) 0;
  position: relative;
}
#revealPanel .panel-innovation-2d .oi-tech-row::after{
  content:"";
  position:absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.20), transparent);
}
#revealPanel .panel-innovation-2d .oi-tech-row--flip{ grid-template-columns: .95fr 1.05fr; }
#revealPanel .panel-innovation-2d .oi-tech-row--flip .oi-tech-media{ order: 2; }
#revealPanel .panel-innovation-2d .oi-tech-row--flip .oi-tech-copy{ order: 1; }
#revealPanel .panel-innovation-2d .oi-tech-media{
  position: relative;
  min-height: clamp(220px, 26vw, 330px);
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(10px) saturate(1.1);
  box-shadow: 0 22px 58px rgba(0,0,0,.22);
}
#revealPanel .panel-innovation-2d .oi-tech-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 35%),
    radial-gradient(520px 260px at 30% 25%, rgba(255,255,255,.10), transparent 60%);
  pointer-events:none;
  z-index: 2;
}
#revealPanel .panel-innovation-2d .oi-tech-img{
  position:absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  filter: saturate(1.06) contrast(1.03);
  opacity: .92;
}
#revealPanel .panel-innovation-2d .oi-tech-img--a{ background-image:url("images/photogrammetry_scanner.png"); clip-path: ellipse(72% 62% at 32% 40%); }
#revealPanel .panel-innovation-2d .oi-tech-img--b{ background-image:url("images/tech-scan-02.jpg"); clip-path: ellipse(62% 56% at 78% 62%); opacity:.75; }
#revealPanel .panel-innovation-2d .oi-tech-img--c{ background-image:url("images/3d_smile_design.jpg"); clip-path: ellipse(72% 62% at 32% 40%); }
#revealPanel .panel-innovation-2d .oi-tech-img--d{ background-image:url("images/tech-cad-02.jpg"); clip-path: ellipse(62% 56% at 78% 62%); opacity:.75; }
#revealPanel .panel-innovation-2d .oi-tech-img--e{ background-image:url("images/milling.jpg"); clip-path: ellipse(72% 62% at 32% 40%); }
#revealPanel .panel-innovation-2d .oi-tech-img--f{ background-image:url("images/tech-cam-02.jpg"); clip-path: ellipse(62% 56% at 78% 62%); opacity:.75; }
#revealPanel .panel-innovation-2d .oi-tech-img--g{ background-image:url("images/omega_tryin.png"); clip-path: ellipse(72% 62% at 32% 40%); }
#revealPanel .panel-innovation-2d .oi-tech-img--h{ background-image:url("images/tech-qc-02.jpg"); clip-path: ellipse(62% 56% at 78% 62%); opacity:.75; }
#revealPanel .panel-innovation-2d .oi-tech-chip{
  position:absolute;
  left: 18px;
  top: 16px;
  padding: 10px 12px;
  border-radius: 14px;
  font-weight: 900;
  letter-spacing: .14em;
  font-size: 11px;
  text-transform: uppercase;
  color: rgba(255,255,255,.94);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  backdrop-filter: blur(12px) saturate(1.12);
  z-index: 3;
}
#revealPanel .panel-innovation-2d .oi-tech-copy{ position: relative; padding: 6px 0; color: rgba(255,255,255,.92); }
#revealPanel .panel-innovation-2d .oi-tech-kicker{
  display:flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 8px;
}
#revealPanel .panel-innovation-2d .oi-tech-ghost{
  font-weight: 900;
  letter-spacing: .18em;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1;
  display:inline-block;
  opacity: .20;
  background: linear-gradient(135deg, rgb(55, 169, 251), rgba(90, 47, 186, 1));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
#revealPanel .panel-innovation-2d .oi-tech-tag{
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  opacity: .85;
  padding-top: 6px;
}
#revealPanel .panel-innovation-2d .oi-tech-h3{
  margin: 10px 0 10px;
  font-family:"Cinzel", serif;
  letter-spacing:.10em;
  text-transform: uppercase;
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.25;
}
#revealPanel .panel-innovation-2d .oi-tech-p{
     margin: 0 auto;
    letter-spacing: 0.18em;
    max-width: 920px;
    font-size: 16px;
    line-height: 1.6;
    color: #fff;
}
#revealPanel .panel-innovation-2d .oi-tech-micro{
  margin: 10px 0 0;
  font-size: 12.5px;
  opacity: .78;
  letter-spacing: .02em;
}
#revealPanel .panel-innovation-2d .oi-tech-signoff{
  margin-top: 24px;
  display:flex;
  align-items:center;
  gap: 14px;
  justify-content:center;
  opacity: .92;
}
#revealPanel .panel-innovation-2d .oi-tech-rule{
  height: 1px;
  width: min(220px, 24vw);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.22), transparent);
}
#revealPanel .panel-innovation-2d .oi-tech-note{
  font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  color: rgba(255, 255, 255, 0.65);
}
#revealPanel .panel-innovation-2d .oi-compare{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 42px;
  max-width: 1200px;
  margin-inline: auto;
}
#revealPanel .panel-innovation-2d .oi-compare-card{
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #000;
  border: 1px solid rgba(0,0,0,.35);
  box-shadow: 0 30px 80px rgba(0,0,0,.35);

  
  height: clamp(420px, 42vw, 640px);
}
#revealPanel .panel-innovation-2d .oi-compare-card .oi-compare-video{
  position: absolute;
  inset: 0;
  width: 90%;
  height: auto;
  display: block;

  object-fit: cover;
  object-position: 50% var(--faceY);
}
#revealPanel .panel-innovation-2d .oi-compare-card-hi{ border-color: rgba(51,193,255,.28); }
#revealPanel .panel-innovation-2d .oi-cap{
  position:absolute;
  left: 14px;
  top: 14px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(5,10,24,.65);
  border: 1px solid rgba(255,255,255,.16);
  font-size: 18px;
  letter-spacing:.18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
  z-index: 2;
}
#revealPanel .panel-innovation-2d .oi-mini{
  margin-top: 12px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  
}
#revealPanel .panel-innovation-2d .oi-mini-item{
  border-radius: 16px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.10);
  padding: 12px;
  
}
#revealPanel .panel-innovation-2d .oi-mini-k{
 font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  color: rgba(5,10,24,.65)
}
#revealPanel .panel-innovation-2d .oi-mini-v{
  font-size: 16px;
  letter-spacing: 0.18em;
  color: #e3ecff;
  line-height: 1.6;
  margin-bottom: 26px;
  color: rgba(5,10,24,.65);
}
#revealPanel .panel-innovation-2d .cta{
  padding: 76px 0;
  background-image: url("images/tech_bk_1.jpg");
  background-size: cover;
  background-position: center 55%;
  background-repeat: no-repeat;
  color: rgba(11, 15, 24, 0.90);

}
#revealPanel .panel-innovation-2d .cta__inner{ text-align:center; }
#revealPanel .panel-innovation-2d .cta__title{
   font-family: "Cinzel", serif;
    font-size: 28px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    margin-bottom: 8px;
    text-align: center;
    color: rgba(255, 255, 255, 0.9);

}
#revealPanel .panel-innovation-2d .cta__text{
 margin:0 auto;
  letter-spacing: 0.18em;
  max-width: 920px;
  font-size: 16px;
  line-height: 1.6;
  color:#fff;
}
#revealPanel .panel-innovation-2d .cta__actions{
  display:flex;
  gap: 12px;
  justify-content:center;
  flex-wrap: wrap;
  padding: 22px 0;
}
#revealPanel .panel-innovation-2d .footer{
  background: #050b18;
  color: rgba(255,255,255,0.88);
  padding: 22px 0;
}
#revealPanel .panel-innovation-2d .footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
}
#revealPanel .panel-innovation-2d .footer__brand{
  font-family: var(--cinzel);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 14px;
}
#revealPanel .panel-innovation-2d .footer__meta{ font-size: 12.5px; color: rgba(255,255,255,0.70); }
#revealPanel .panel-innovation-2d .footer__right{ display:flex; gap: 14px; flex-wrap: wrap; }
#revealPanel .panel-innovation-2d .footer__link{
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  font-weight: 900;
  color: rgba(255,255,255,0.88);
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.10);
}
#revealPanel .panel-innovation-2d .footer__link:hover{ background: rgba(255,255,255,0.10); }
#revealPanel .panel-innovation-2d .oi-footer{ padding: 26px 0; border-top: 1px solid rgba(255,255,255,.08); }
#revealPanel .panel-innovation-2d .oi-footer-in{ text-align:center; opacity:.7; font-size:13px; }
#revealPanel .panel-innovation-2d .oi-modal-wrap{
  position: fixed;
  inset: 0;
  display:none;
  align-items:center;
  justify-content:center;
  padding: 18px;
  z-index: 9000;
}
#revealPanel .panel-innovation-2d .oi-modal-wrap.open{ display:flex; }
#revealPanel .panel-innovation-2d .oi-backdrop{
  position:absolute;
  inset:0;
  background: rgba(5,10,24,.82);
  border: none;
}
#revealPanel .panel-innovation-2d .oi-modal{
  position:relative;
  z-index:2;
  width: min(860px, 100%);
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 28px 80px rgba(0,0,0,.55);
  backdrop-filter: blur(12px) saturate(1.15);
  padding: 18px 16px 16px;
}
#revealPanel .panel-innovation-2d .oi-x{
  position:absolute;
  top: 12px; right: 12px;
  width: 36px; height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(5,10,24,.55);
  color: #fff;
  font-size: 18px;
  cursor:pointer;
}
#revealPanel .panel-innovation-2d .oi-modal-head{
  padding-right: 44px;
  margin-bottom: 12px;
}
#revealPanel .panel-innovation-2d .oi-modal-k{
  font-size: 11px;
  letter-spacing:.22em;
  text-transform: uppercase;
  opacity:.86;
  margin-bottom: 8px;
}
#revealPanel .panel-innovation-2d .oi-modal-t{
  font-family:"Cinzel", serif;
  letter-spacing:.12em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(255,255,255,.92);
}
#revealPanel .panel-innovation-2d .oi-modal-video{
  border-radius: 14px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.12);
  background:#000;
  aspect-ratio: 16 / 9;
  max-height: 420px;
}
#revealPanel .panel-innovation-2d .oi-modal-video video{
  width: 90%;
  height: auto;
  object-fit: cover;
}
#revealPanel .panel-innovation-2d .oi-modal-foot{
  margin-top: 12px;
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
#revealPanel .panel-innovation-2d .reveal{ opacity:0; transform: translateY(14px); transition: opacity .55s ease, transform .55s ease; }
#revealPanel .panel-innovation-2d .reveal.is-in{ opacity:1; transform: translateY(0); }
#revealPanel .panel-innovation-2d .oi-links{ display:none; }
#revealPanel .panel-innovation-2d .oi-burger{ display:flex; }
#revealPanel .panel-innovation-2d .oi-steps{ grid-template-columns: repeat(2, 1fr); }
#revealPanel .panel-innovation-2d .oi-workflow-foot{ flex-direction:column; align-items:flex-start; }
#revealPanel .panel-innovation-2d .oi-tech-row, #revealPanel .panel-innovation-2d .oi-tech-row--flip{ grid-template-columns: 1fr; }
#revealPanel .panel-innovation-2d .oi-tech-row--flip .oi-tech-media, #revealPanel .panel-innovation-2d .oi-tech-row--flip .oi-tech-copy{ order: initial; }
#revealPanel .panel-innovation-2d .oi-tech-media{ min-height: 240px; border-radius: 22px; }
#revealPanel .panel-innovation-2d .oi-tech-p{ max-width: 90%; }
#revealPanel .panel-innovation-2d #proof .container{
    width: 90%;
    padding-inline: 8px;
  }
#revealPanel .panel-innovation-2d .oi-compare{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 90%;
    max-width: none !important;
    gap: 6px;
    justify-content: center;
    justify-items: center;
    align-items: stretch;
    margin-top: 18px;
  }
#revealPanel .panel-innovation-2d .oi-compare-card{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    border-radius: 22px;
    position: relative;
    overflow: hidden;
    background: #000;
  }
#revealPanel .panel-innovation-2d .oi-compare-card .oi-compare-video{
    position: absolute;
    inset: 0;
    width: 90%;
    height: auto;
    object-fit: cover;
    object-position: 50% 42%;
  }
#revealPanel .panel-innovation-2d .oi-compare-card:first-child .oi-compare-video{
  object-position: 53% 40%;
}
#revealPanel .panel-innovation-2d .oi-compare-card:last-child .oi-compare-video{
  object-position: 47% 40%;
}
#revealPanel .panel-innovation-2d .oi-cap{
    font-size: 12px;
    padding: 6px 10px;
  }
#revealPanel .panel-innovation-2d .oi-hero-inner{ padding: 58px 0 54px; }
#revealPanel .panel-innovation-2d .oi-title{ max-width: 22ch; }
#revealPanel .panel-innovation-2d .oi-hero-video{ object-position: 50% 25%; }
#revealPanel .panel-innovation-2d .oi-mini{ grid-template-columns: repeat(2, 1fr); }
#revealPanel .panel-innovation-2d .oi-workflow-ov{
    background: url("images/photography_bk3_mobile.jpg") center/cover no-repeat;
    opacity: .68;
  }
#revealPanel .panel-innovation-2d .oc-wf{
  padding: 80px 0;
  background: radial-gradient(
    circle at top,
    rgba(25,80,150,.18),
    rgba(5,10,24,.96)
  );
  color: rgba(255,255,255,.92);
}
#revealPanel .panel-innovation-2d .oc-wf-track{
  width: min(1320px, 92%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 44px; 
  align-items: stretch;
}
#revealPanel .panel-innovation-2d .oc-wf-card{
  position: relative;
  padding: 28px 26px 30px;
  border-radius: 26px;
  background: linear-gradient(
    180deg,
    rgba(15,35,75,.92),
    rgba(5,12,30,.98)
  );
  border: 1px solid rgba(90,170,255,.35);
  box-shadow: 0 20px 45px rgba(0,0,0,.42);
  min-height: 260px;
  transition: transform .35s ease, box-shadow .35s ease;
}
#revealPanel .panel-innovation-2d .oc-wf-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(0,0,0,.55);
}
#revealPanel .panel-innovation-2d .oc-wf-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
#revealPanel .panel-innovation-2d .oc-wf-step{
  font-size: 2rem;
  font-weight: 800;
  color: rgba(90,170,255,.95);
}
#revealPanel .panel-innovation-2d .oc-wf-tag{
  padding: 7px 14px;
  border-radius: 999px;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #cfefff;
  background: rgba(90,170,255,.18);
  border: 1px solid rgba(120,210,255,.22);
}
#revealPanel .panel-innovation-2d .oc-wf-title{
  font-size: 1.15rem;
  margin-bottom: 10px;
}
#revealPanel .panel-innovation-2d .oc-wf-desc{
  font-size: .95rem;
  line-height: 1.6;
  color: rgba(255,255,255,.78);
  max-width: 36ch;
}
#revealPanel .panel-innovation-2d .oc-wf-result{
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(0,0,0,.32);
  border: 1px solid rgba(255,255,255,.08);
  font-size: .88rem;
}
#revealPanel .panel-innovation-2d .oc-wf-result b{
  margin-right: 10px;
  font-size: .72rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7fd3ff;
}
#revealPanel .panel-innovation-2d .oc-wf-card:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50%;
  right:-32px;
  transform:translateY(-50%);
  width:48px;
  height:10px;
  background: linear-gradient(
    90deg,
    rgba(0,140,255,0),
    rgba(0,160,255,.85),
    rgba(130,210,255,1)
  );
  border-radius: 10px;
  filter: drop-shadow(0 0 10px rgba(80,180,255,.75));
}
#revealPanel .panel-innovation-2d .oc-wf-card:not(:last-child)::before{
  content:"";
  position:absolute;
  top:50%;
  right:-38px;
  transform: translateY(-50%) rotate(45deg);
  width:12px;
  height:12px;
  border-top: 3px solid #9adfff;
  border-right: 3px solid #9adfff;
}
#revealPanel .panel-innovation-2d .oc-wf-track{
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
#revealPanel .panel-innovation-2d .oc-wf-card::before, #revealPanel .panel-innovation-2d .oc-wf-card::after{
    display:none;
  }
#revealPanel .panel-innovation-2d .oc-wf-track{
    grid-template-columns: 1fr;
  }
#revealPanel .panel-innovation-2d .oc-wf-card{
    padding: 24px 20px 26px;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    gap: 60px;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
    padding: 12px 12px;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:not(:last-child)::after{
    content: "";
    position: absolute;
    top: 50%;
    right: -53px; 
    transform: translateY(-50%);

    width: 46px;
    height: 18px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));

    
    clip-path: polygon(
      0 28%,
      72% 28%,
      72% 10%,
      100% 50%,
      72% 90%,
      72% 72%,
      0 72%,
      12% 50%
    );

    filter: drop-shadow(0 12px 22px rgba(0,0,0,.45));
    box-shadow: 0 0 22px rgba(51,193,255,.22);
    opacity: .96;

    pointer-events: none;
    z-index: 4;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:hover::after{
    opacity: 1;
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(51,193,255,.18));
    box-shadow: 0 0 30px rgba(51,193,255,.28);
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    gap: 30px;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
    position: relative;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:not(:last-child)::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -22px;
    transform: translateX(-50%);

    width: 18px;
    height: 42px;

    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));

    
    clip-path: polygon(
      28% 0,
      72% 0,
      72% 70%,
      90% 70%,
      50% 100%,
      10% 70%,
      28% 70%
    );

    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45)) drop-shadow(0 0 12px rgba(51,193,255,.16));
    opacity: .96;
    pointer-events: none;
    z-index: 4;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:active::after{
    opacity: 1;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(51,193,255,.22));
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{ overflow: visible !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{ overflow: visible !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after, #revealPanel .panel-innovation-2d .oi-workflow .oi-step::before{
  
}
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::before{
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(10, 141, 234, 1), rgba(90, 47, 186, 1));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
  position: relative; 
}
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    gap: 44px !important; 
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -54px; 
    transform: translateY(-50%);
    width: 46px;
    height: 18px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 22%,
      74% 22%,
      74% 8%,
      100% 50%,
      74% 92%,
      74% 78%,
      0 78%
    );
    filter:
      drop-shadow(0 10px 18px rgba(0,0,0,.45))
      drop-shadow(0 0 14px rgba(51,193,255,.22));
    opacity: .98;
    pointer-events: none;
    z-index: 4;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:hover::after{
    filter:
      drop-shadow(0 12px 22px rgba(0,0,0,.55))
      drop-shadow(0 0 18px rgba(51,193,255,.32));
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 26px !important; 
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(1)::after{
    content: "" !important;
    position:absolute;
    top:50%;
    right:-30px;
    transform:translateY(-50%);
    width: 30px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(0 25%, 72% 25%, 72% 10%, 100% 50%, 72% 90%, 72% 75%, 0 75%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    z-index: 4;
    pointer-events:none;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(2)::after{
    content: "" !important;
    position:absolute;
    left:50%;
    bottom:-32px;
    transform:translateX(-50%);
    width: 18px;
    height: 30px;
    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(25% 0, 75% 0, 75% 72%, 90% 72%, 50% 100%, 10% 72%, 25% 72%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    z-index: 4;
    pointer-events:none;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(3)::after{
    content: "" !important;
    position:absolute;
    top:50%;
    right:-30px;
    transform:translateY(-50%);
    width: 30px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(0 25%, 72% 25%, 72% 10%, 100% 50%, 72% 90%, 72% 75%, 0 75%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    z-index: 4;
    pointer-events:none;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps, #revealPanel .panel-innovation-2d .oi-workflow .oi-step{ overflow: visible !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
  padding: 18px 18px !important;
}
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{ gap: 56px !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -48px; 
    transform: translateY(-50%);

    width: 40px;
    height: 16px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      72% 30%,
      72% 12%,
      100% 50%,
      72% 88%,
      72% 70%,
      0 70%
    );

    opacity: .96;
    filter:
      drop-shadow(0 12px 20px rgba(0,0,0,.52))
      drop-shadow(0 0 14px rgba(51,193,255,.22));

    pointer-events: none;
    z-index: 5;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:hover::after{
    opacity: 1;
    filter:
      drop-shadow(0 14px 24px rgba(0,0,0,.58))
      drop-shadow(0 0 18px rgba(51,193,255,.30));
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(1)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -24px; 
    transform: translateY(-50%);

    width: 26px;
    height: 14px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 5;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(2)::after{
    content: "" !important;
    position: absolute;
    left: 50%;
    bottom: -28px;
    transform: translateX(-50%);

    width: 16px;
    height: 30px;

    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      30% 0,
      70% 0,
      70% 70%,
      86% 70%,
      50% 100%,
      14% 70%,
      30% 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 5;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -24px;
    transform: translateY(-50%);

    width: 26px;
    height: 14px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 5;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps, #revealPanel .panel-innovation-2d .oi-workflow .oi-step{
  overflow: visible !important;
}
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{
  content: none !important;
}
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    gap: 56px !important; 
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
    padding: 14px 14px !important; 
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -48px; 
    transform: translateY(-50%);

    width: 40px;
    height: 16px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));

    
    clip-path: polygon(
      0 28%,
      72% 28%,
      72% 10%,
      100% 50%,
      72% 90%,
      72% 72%,
      0 72%
    );

    opacity: .98;
    filter:
      drop-shadow(0 12px 22px rgba(0,0,0,.45))
      drop-shadow(0 0 14px rgba(51,193,255,.22));
    pointer-events: none;
    z-index: 10;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:hover::after{
    filter:
      drop-shadow(0 14px 26px rgba(0,0,0,.55))
      drop-shadow(0 0 18px rgba(51,193,255,.30));
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px !important; 
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
    padding: 14px 12px !important;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(1)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -24px; 
    transform: translateY(-50%);

    width: 26px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 10;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(2)::after{
    content: "" !important;
    position: absolute;
    left: 50%;
    bottom: -26px;
    transform: translateX(-50%);

    width: 18px;
    height: 28px;
    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      26% 0,
      74% 0,
      74% 68%,
      90% 68%,
      50% 100%,
      10% 68%,
      26% 68%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 10;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -24px;
    transform: translateY(-50%);

    width: 26px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 10;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{ overflow: visible !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{ overflow: visible !important; position: relative; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{ gap: 64px !important; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step{ padding: 16px 16px !important; }
#revealPanel .panel-innovation-2d .oi-workflow{ --wfArrowW: 44px; --wfArrowH: 18px; --wfArrowGap: 64px; }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: calc(-1 * ((var(--wfArrowGap) / 2) + (var(--wfArrowW) / 2)));
    transform: translateY(-50%);
    width: var(--wfArrowW);
    height: var(--wfArrowH);
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 28%,
      72% 28%,
      72% 10%,
      100% 50%,
      72% 90%,
      72% 72%,
      0 72%,
      10% 50%
    );
    opacity: .98;
    filter:
      drop-shadow(0 14px 26px rgba(0,0,0,.46))
      drop-shadow(0 0 18px rgba(51,193,255,.18));
    pointer-events: none;
    z-index: 6;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3):hover::after{
    opacity: 1;
    transform: translateY(-50%) translateX(1px);
    filter:
      drop-shadow(0 16px 30px rgba(0,0,0,.56))
      drop-shadow(0 0 22px rgba(51,193,255,.28));
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(1)::after, #revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -26px;
    transform: translateY(-50%);
    width: 28px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%,
      10% 50%
    );
    opacity: .98;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 6;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(2)::after{
    content: "" !important;
    position: absolute;
    left: 50%;
    bottom: -34px;
    transform: translateX(-50%);
    width: 18px;
    height: 32px;
    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      28% 0,
      72% 0,
      72% 72%,
      90% 72%,
      50% 100%,
      10% 72%,
      28% 72%
    );
    opacity: .98;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 6;
  }
#revealPanel .panel-innovation-2d .oi-wow-fullscreen{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  
}
#revealPanel .panel-innovation-2d .oi-wow-figure{
  position: relative;
  margin: 0; 
}
#revealPanel .panel-innovation-2d .oi-wow-img{
  width: 100vw;
  height: auto;
  display: block;
}
#revealPanel .panel-innovation-2d .oi-wow-caption{
  position: absolute;
  inset: auto 0 0 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 22px 26px;

  background: linear-gradient(
    to top,
    rgba(5,10,24,.88),
    rgba(5,10,24,.45),
    transparent
  );
}
#revealPanel .panel-innovation-2d .oi-wow-caption span{
  text-align: center;
  font-family: "Cinzel", serif;
  font-size: 15px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: #fff;
}
#revealPanel .panel-innovation-2d .oi-wow-caption{
    padding: 14px 10px;
  }
#revealPanel .panel-innovation-2d .oi-wow-caption span{
    font-size: 11px;
    letter-spacing: .14em;
  }
#revealPanel .panel-innovation-2d html, #revealPanel .panel-innovation-2d body{
  overflow-x: hidden;
}
#revealPanel .panel-innovation-2d .oi-allonx{
  background: radial-gradient(
    900px 480px at 50% 15%,
    rgba(51,193,255,.18),
    rgba(5,10,24,.96)
  );
}
#revealPanel .panel-innovation-2d .oi-allonx-card{
  position: relative;
  max-width: 1100px;
  margin: 40px auto 0;
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);

  overflow: hidden;
  padding: clamp(18px, 2.2vw, 28px);
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 50% 20%, rgba(255,255,255,.08), rgba(255,255,255,.02) 48%, rgba(255,255,255,.03) 100%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
}
#revealPanel .panel-innovation-2d .oi-allonx-img{
  width: 100%;
  max-width: 980px;
  max-height: 620px;
  height: auto;
  display: block;
  object-fit: contain;
  object-position: center center;
  margin: 0 auto;
  filter: saturate(1.02) contrast(1.01);
}
#revealPanel .panel-innovation-2d .oi-allonx-caption{
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(18px, 3vw, 34px);
  background: linear-gradient(
    to top,
    rgba(5,10,24,.88),
    rgba(5,10,24,.55) 40%,
    transparent 75%
  );
}
#revealPanel .panel-innovation-2d .oi-allonx-meta{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .85;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
#revealPanel .panel-innovation-2d .oi-allonx-title{
  font-family: "Cinzel", serif;
  font-size: clamp(18px, 2.6vw, 26px);
  letter-spacing: .18em;
  text-transform: uppercase;
  line-height: 1.35;
  color: #fff;
}
#revealPanel .panel-innovation-2d .oi-allonx-meta{
    flex-direction: column;
    gap: 6px;
  }
#revealPanel .panel-innovation-2d .oi-allonx-caption{
    padding: 16px;
  }
#revealPanel .panel-innovation-2d .oi-allonx-title{
    font-size: 16px;
    letter-spacing: .14em;
  }
#revealPanel .panel-innovation-2d .oi-ad{
  background: #000 !important;
  padding: 70px 0;
}
#revealPanel .panel-innovation-2d .oi-overlay-plain::before{ display:none !important; }
#revealPanel .panel-innovation-2d .oi-h2--white{ color:#fff !important; }
#revealPanel .panel-innovation-2d .oi-lead--white{
  color: rgba(255,255,255,.78) !important;
  max-width: 80ch;
  margin-inline:auto;
}
#revealPanel .panel-innovation-2d .oi-ad-card{
  margin: 26px auto 0;
  width: min(1220px, 100%);
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 30px 90px rgba(0,0,0,.55);
}
#revealPanel .panel-innovation-2d .oi-ad-card::before{
  content:"";
  position:absolute;
  inset:0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events:none;
  opacity: .55;
}
#revealPanel .panel-innovation-2d .oi-ad-card{ position: relative; }
#revealPanel .panel-innovation-2d .oi-ad-img{
  width: 90%;
  height: auto;
  display:block;
}
#revealPanel .panel-innovation-2d .oi-ad{ padding: 54px 0; }
#revealPanel .panel-innovation-2d .oi-ad-card{ border-radius: 18px; }
#revealPanel .panel-innovation-2d .oi-copydent{
  background: #000;
  padding: 90px 0;
}
#revealPanel .panel-innovation-2d .oi-copydent-title{
  color: #fff;
  letter-spacing: .18em;
}
#revealPanel .panel-innovation-2d .oi-copydent-sub{
  max-width: 900px;
  margin: 0 auto 32px;
  color: rgba(255,255,255,.85);
}
#revealPanel .panel-innovation-2d .oi-copydent-figure{
  margin: 0 auto;
  max-width: 1200px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 30px 90px rgba(0,0,0,.6);
  position: relative;
}
#revealPanel .panel-innovation-2d .oi-copydent-img{
  width: 90%;
  height: auto;
  display: block;
  object-fit: cover;
}
#revealPanel .panel-innovation-2d .oi-copydent-figure::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 28px;
  pointer-events:none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
#revealPanel .panel-innovation-2d .oi-copydent{ padding: 70px 0; }
#revealPanel .panel-innovation-2d .oi-copydent-title{ font-size: 18px; }
#revealPanel .panel-innovation-2d .oi-copydent-sub{ font-size: 14px; letter-spacing:.14em; }
#revealPanel .panel-innovation-2d .oi-copydent{
  position: relative;
  padding: 140px 0;
  background: #000;
  overflow: hidden;
}
#revealPanel .panel-innovation-2d .oi-copydent-bg{
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(5,10,24,.25),
      rgba(5,10,24,.85)
    ),
    url("images/copy_paste_dentistry.jpg") center/cover no-repeat;
  z-index: 0;
}
#revealPanel .panel-innovation-2d .oi-copydent .container{
  position: relative;
  z-index: 1;
}
#revealPanel .panel-innovation-2d .oi-copydent-title{
  color: #fff;
  text-shadow: 0 6px 28px rgba(0,0,0,.65);
}
#revealPanel .panel-innovation-2d .oi-copydent-sub{
  color: rgba(255,255,255,.88);
  max-width: 900px;
  margin-inline: auto;
  text-shadow: 0 4px 18px rgba(0,0,0,.55);
}
#revealPanel .panel-innovation-2d .oi-copydent{ padding: 110px 0; }
#revealPanel .panel-innovation-2d .oi-copydent{ padding: 90px 0; }
#revealPanel .panel-innovation-2d .oi-copydent-title{ font-size: 18px; }
#revealPanel .panel-innovation-2d .oi-copydent-sub{
    font-size: 14px;
    letter-spacing: .14em;
  }
#revealPanel .panel-innovation-2d .oi-copydent{
  position: relative;
  background: #000;
  padding: 120px 0;
  overflow: hidden;
  min-height: 70vh;
  display: flex;
  align-items: center;
}
#revealPanel .panel-innovation-2d .oi-copydent-bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.78)),
    url("images/copy_paste_dentistry.jpg") center/cover no-repeat;
}
#revealPanel .panel-innovation-2d .oi-copydent > .container{
  position: relative;
  z-index: 2;
}
#revealPanel .panel-innovation-2d .oi-copydent-title{
  color:#fff;
  text-shadow: 0 10px 30px rgba(0,0,0,.65);
}
#revealPanel .panel-innovation-2d .oi-copydent-sub{
  color: rgba(255,255,255,.90);
  text-shadow: 0 8px 20px rgba(0,0,0,.55);
  max-width: 980px;
  margin-inline: auto;
}
#revealPanel .panel-innovation-2d .oi-copydent{ padding: 96px 0; min-height: 60vh; }
#revealPanel .panel-innovation-2d .oi-copydent{ padding: 78px 0; min-height: 54vh; }
#revealPanel .panel-innovation-2d .oi-copydent-title{ font-size: 18px; }
#revealPanel .panel-innovation-2d .oi-copydent-sub{ font-size: 14px; letter-spacing: .14em; }
#revealPanel .panel-innovation-2d .oi-casegal{ background:#000; }
#revealPanel .panel-innovation-2d .oi-casegal::before{
  background:
    radial-gradient(820px 520px at 20% 25%, rgba(10,141,234,.18), transparent 60%),
    radial-gradient(820px 520px at 80% 65%, rgba(90,47,186,.18), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.70), rgba(0,0,0,.86));
}
#revealPanel .panel-innovation-2d .oi-gal{ margin-top: 26px; }
#revealPanel .panel-innovation-2d .oi-gal-viewport{
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 28px 80px rgba(0,0,0,.55);
}
#revealPanel .panel-innovation-2d .oi-gal-track{
  display:flex;
  width:100%;
  transform: translateX(0);
  transition: transform .55s cubic-bezier(.2,.8,.2,1);
  will-change: transform;
  
}
#revealPanel .panel-innovation-2d .oi-gal-slide{
  margin:0;
  min-width: 90%;
  position: relative;
  aspect-ratio: 16 / 9;
  background:#000;
  cursor: zoom-in;
}
#revealPanel .panel-innovation-2d .oi-gal-slide img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  object-position:center;
  transform: scale(1.01);
  filter: saturate(1.05) contrast(1.04);
}
#revealPanel .panel-innovation-2d .oi-gal-btn{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(5,10,24,.55);
  color: rgba(255,255,255,.92);
  font-size: 28px;
  line-height: 1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter: blur(12px) saturate(1.2);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  z-index: 3;
}
#revealPanel .panel-innovation-2d .oi-gal-btn:hover{ transform: translateY(-50%) scale(1.03); }
#revealPanel .panel-innovation-2d .oi-gal-prev{ left: 14px; }
#revealPanel .panel-innovation-2d .oi-gal-next{ right: 14px; }
#revealPanel .panel-innovation-2d .oi-gal-hud{
  position:absolute;
  left: 14px;
  bottom: 14px;
  z-index: 3;
  display:flex;
  gap: 10px;
  align-items:center;
}
#revealPanel .panel-innovation-2d .oi-gal-play{
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(5,10,24,.55);
  color: rgba(255,255,255,.92);
  cursor:pointer;
  backdrop-filter: blur(12px) saturate(1.15);
  box-shadow: 0 18px 50px rgba(0,0,0,.45);
  font-size: 11px;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-weight: 900;
}
#revealPanel .panel-innovation-2d .oi-gal-play-ic{
  width:10px;
  height:10px;
  border-radius: 3px;
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  box-shadow: 0 0 18px rgba(51,193,255,.25);
}
#revealPanel .panel-innovation-2d .oi-gal-dots{
  display:flex;
  justify-content:center;
  gap: 10px;
  margin-top: 14px;
  flex-wrap: wrap;
}
#revealPanel .panel-innovation-2d .oi-gal-dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  cursor:pointer;
  position: relative;
}
#revealPanel .panel-innovation-2d .oi-gal-dot::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(10,141,234,.28), transparent 60%);
  opacity: 0;
  transition: opacity .25s ease;
}
#revealPanel .panel-innovation-2d .oi-gal-dot:hover::after{ opacity: 1; }
#revealPanel .panel-innovation-2d .oi-gal-dot.is-active{
  border-color: rgba(51,193,255,.55);
  background: linear-gradient(135deg, rgba(10,141,234,1), rgba(90,47,186,1));
  box-shadow: 0 0 0 6px rgba(51,193,255,.12), 0 0 26px rgba(51,193,255,.25);
}
#revealPanel .panel-innovation-2d .oi-lightbox{
  position: fixed;
  inset: 0;
  display:none;
  align-items:center;
  justify-content:center;
  padding: 16px;
  z-index: 99999;
}
#revealPanel .panel-innovation-2d .oi-lightbox.open{ display:flex; }
#revealPanel .panel-innovation-2d .oi-lightbox-bg{
  position:absolute;
  inset:0;
  background: rgba(5,10,24,.86);
  border:none;
}
#revealPanel .panel-innovation-2d .oi-lightbox-inner{
  position: relative;
  z-index: 2;
  width: min(1100px, 100%);
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  backdrop-filter: blur(14px) saturate(1.1);
  box-shadow: 0 30px 90px rgba(0,0,0,.6);
}
#revealPanel .panel-innovation-2d .oi-lightbox-img{
  width: 90%;
  height: auto;
  display:block;
  max-height: 84vh;
  object-fit: contain;
  background: #000;
}
#revealPanel .panel-innovation-2d .oi-lightbox-close{
  position:absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.20);
  background: rgba(5,10,24,.60);
  color: #fff;
  font-size: 18px;
  cursor:pointer;
  z-index: 3;
}
#revealPanel .panel-innovation-2d .oi-gal-slide{ aspect-ratio: 4 / 3; }
#revealPanel .panel-innovation-2d .oi-gal-btn{ width: 40px; height: 40px; font-size: 26px; }
#revealPanel .panel-innovation-2d .oi-gal-prev{ left: 10px; }
#revealPanel .panel-innovation-2d .oi-gal-next{ right: 10px; }
#revealPanel .panel-innovation-2d .oi-gal-slide{ aspect-ratio: 1 / 1; }
#revealPanel .panel-innovation-2d .oi-gal-hud{ left: 10px; bottom: 10px; }
#revealPanel .panel-innovation-2d .oi-gal-play{ padding: 9px 12px; }
#revealPanel .panel-innovation-2d .oi-gal-btn, #revealPanel .panel-innovation-2d .oi-gal-hud, #revealPanel .panel-innovation-2d .oi-gal-play{
  pointer-events: auto;
}
#revealPanel .panel-innovation-2d .oi-gal-btn{ z-index: 20; }
#revealPanel .panel-innovation-2d .oi-gal-hud{ z-index: 20; }
#revealPanel .panel-innovation-2d .oi-overlay-dark::before, #revealPanel .panel-innovation-2d .oi-overlay-light::before, #revealPanel .panel-innovation-2d .oi-overlay-3ddark::before, #revealPanel .panel-innovation-2d .oi-overlay-3dlight::before{
  pointer-events: none;
}
#revealPanel .panel-innovation-2d .oi-swipe-hint{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap: 12px;
  z-index: 15;
  pointer-events:none;
  animation: swipeHintFade 6s ease forwards;
}
#revealPanel .panel-innovation-2d .oi-swipe-hint img{
  width: 78px;
  height: auto;
  opacity: .95;
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.55));
}
#revealPanel .panel-innovation-2d .oi-swipe-hint span{
  font-size: 12px;
  letter-spacing: .22em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(255,255,255,.9);
  text-shadow: 0 6px 18px rgba(0,0,0,.55);
}
#revealPanel .panel-innovation-2d 0%{ opacity: 0; transform: scale(.96); }
#revealPanel .panel-innovation-2d 15%{ opacity: 1; transform: scale(1); }
#revealPanel .panel-innovation-2d 70%{ opacity: 1; }
#revealPanel .panel-innovation-2d 100%{ opacity: 0; transform: scale(1.04); }
#revealPanel .panel-innovation-2d .oi-gal-viewport.touched .oi-swipe-hint{
  display:none;
}
#revealPanel .panel-innovation-2d .oi-tech-bullets{
  margin: 14px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 10px;
  color: rgba(255,255,255,.90);
  letter-spacing: 0.02em;
  line-height: 1.55;
  font-size: 14.5px;
}
#revealPanel .panel-innovation-2d .oi-tech-bullets li strong{
  color: rgba(255,255,255,.96);
  font-weight: 800;
}
#revealPanel .panel-innovation-2d #3d-smile-design{ scroll-margin-top: 110px; }
#revealPanel .panel-innovation-2d .oi-sublead{
  margin: 16px auto 0;
  max-width: 980px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(22, 22, 22, 0.82);
}
#revealPanel .panel-innovation-2d .oi-benefits2d{
  position: relative;
  padding: 74px 0 78px;
  overflow: hidden;
  background: #050b18;
}
#revealPanel .panel-innovation-2d .oi-benefits2d::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(120deg, rgba(20,165,255,0.75), rgba(145,53,169,0.72)),
    url("images/2D%20SMILE%20DESIGN%20GALLARY-03.jpg") center/cover no-repeat;
  opacity: 0.98;
  transform: scale(1.02);
  filter: saturate(1.05);
}
#revealPanel .panel-innovation-2d .oi-benefits2d::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(5,11,24,0.35), rgba(5,11,24,0.52));
}
#revealPanel .panel-innovation-2d .oi-benefits2d > .container{
  position: relative;
  z-index: 1;
}
#revealPanel .panel-innovation-2d .oi-benefits2d-head{
  text-align: center;
  margin-bottom: 34px;
}
#revealPanel .panel-innovation-2d .oi-benefits2d-title{
  font-family: "Cinzel", serif;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-size: clamp(22px, 3.1vw, 40px);
  color: rgba(255,255,255,0.96);
  text-shadow: 0 10px 28px rgba(0,0,0,0.45);
}
#revealPanel .panel-innovation-2d .oi-benefits2d-panel{
  position: relative;
  border-radius: 22px;
  padding: 34px 26px;
  background: rgba(5,11,24,0.18);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 26px 70px rgba(0,0,0,0.45);
  backdrop-filter: blur(10px) saturate(1.08);
}
#revealPanel .panel-innovation-2d .oi-benefits2d-grid{
  display: grid;
  grid-template-columns: 1fr minmax(220px, 320px) 1fr;
  grid-auto-rows: minmax(92px, auto);
  gap: 22px 28px;
  align-items: center;
}
#revealPanel .panel-innovation-2d .oi-benefit{
  padding: 18px 18px 16px;
  border-radius: 18px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.14);
  box-shadow: 0 18px 40px rgba(0,0,0,0.35);
  backdrop-filter: blur(10px);
  text-align: center;
}
#revealPanel .panel-innovation-2d .oi-benefit-top{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 10px;
}
#revealPanel .panel-innovation-2d .oi-benefit-kicker{
  font-family: "Cinzel", serif;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 14px;
  color: rgba(255,255,255,0.95);
}
#revealPanel .panel-innovation-2d .oi-benefit-icon{
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.92;
}
#revealPanel .panel-innovation-2d .oi-benefit-icon svg{
  width: 34px;
  height: 34px;
  fill: none;
  stroke: rgba(255,255,255,0.92);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
#revealPanel .panel-innovation-2d .oi-benefit-text{
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255,255,255,0.9);
}
#revealPanel .panel-innovation-2d .oi-benefit-right{  }
#revealPanel .panel-innovation-2d .oi-benefits2d-video{
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: center;
  justify-self: center;
  width: min(320px, 92%);
}
#revealPanel .panel-innovation-2d .oi-benefits2d-video-el{
  width: 90%;
  aspect-ratio: 1 / 1;
  border-radius: 24px;
  overflow: hidden;
  display: block;
  object-fit: cover;
  border: 2px solid rgba(255,255,255,0.22);
  box-shadow: 0 26px 80px rgba(0,0,0,0.55);
  background: rgb(0, 0, 0);
}
#revealPanel .panel-innovation-2d .oi-benefits2d-panel{ padding: 26px 18px; }
#revealPanel .panel-innovation-2d .oi-benefits2d-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }
#revealPanel .panel-innovation-2d .oi-benefits2d-video{
    grid-column: 1;
    grid-row: auto;
    width: min(320px, 100%);
    margin: 10px auto 6px;
  }
#revealPanel .panel-innovation-2d .oi-benefits2d-arrow{
    position: static;
    transform: none;
    margin: 18px auto 0;
  }
#revealPanel .panel-innovation-2d .oi-benefit{
    text-align: center;
  }
#revealPanel .panel-innovation-2d .oi-benefit-top{
    justify-content: center;
    flex-wrap: wrap;
  }
#revealPanel .panel-innovation-2d .oi-benefit-kicker{
    font-size: 13px;
    letter-spacing: 0.07em;
  }
#revealPanel .panel-innovation-2d .oi-benefit-text{
    font-size: 14px;
  }
#revealPanel .panel-innovation-2d .oi-benefits2d{ padding: 62px 0 66px; }
#revealPanel .panel-innovation-2d .oi-benefits2d-title{ letter-spacing: 0.08em; }
#revealPanel .panel-innovation-2d .oi-benefit{ padding: 16px 14px 14px; }
#revealPanel .panel-innovation-2d .oi-benefits2d-video-el{ border-radius: 22px; }
#revealPanel .panel-innovation-2d /* Refined Pricelist Modal Styling */
.pricelist-modal, #revealPanel .panel-innovation-2d .modal-content{
    max-width: 480px;
    width: 88%;
    margin: 80px auto;
    border-radius: 20px;
    padding: 35px 40px;
    box-shadow: 0 30px 80px rgba(0,0,0,0.28);
    backdrop-filter: blur(14px);
}
#revealPanel .panel-innovation-2d .modal-overlay{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}
#revealPanel .panel-innovation-2d /* Center the entire form layout */
.modal-content form, #revealPanel .panel-innovation-2d .pricelist-modal form{
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
#revealPanel .panel-innovation-2d /* Inputs full width but visually centered */
.modal-content input, #revealPanel .panel-innovation-2d .modal-content select, #revealPanel .panel-innovation-2d .modal-content textarea{
    width: 100%;
    max-width: 380px;
    margin-bottom: 16px;
}
#revealPanel .panel-innovation-2d /* Center submit button */
.modal-content button{
    align-self: center;
    padding: 12px 28px;
    border-radius: 30px;
}
#revealPanel .panel-innovation-2d /* Premium Vertical Spacing Update */
#pricelistModal .omega-pricelist-panel{
    max-height: 80vh;
    margin: 120px auto;
}
#revealPanel .panel-innovation-2d #pricelistModal{
    padding-top: 80px;
    padding-bottom: 80px;
}
#revealPanel .panel-innovation-2d #pricelistModal .omega-pricelist-panel{
        margin: 80px auto;
        max-height: 85vh;
    }
@media (min-width: 1101px){#revealPanel .panel-innovation-2d .oi-step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:-29px; 
    width:44px;
    height:14px;
    transform: translateY(-50%);
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(0 22%, 78% 22%, 78% 6%, 100% 50%, 78% 94%, 78% 78%, 0 78%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    opacity: .98;
    pointer-events:none;
    z-index: 3;
  }#revealPanel .panel-innovation-2d .oi-step:not(:last-child)::after{
    box-shadow: 0 0 18px rgba(51,193,255,.25);
  }
}
@media (max-width: 1100px){#revealPanel .panel-innovation-2d .oi-step-img{ max-width: 260px; }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-step-img{ max-width: 220px; border-radius: 16px; }
}
@media (min-width: 1101px){#revealPanel .panel-innovation-2d .oi-steps{ overflow: visible; }#revealPanel .panel-innovation-2d .oi-step:not(:last-child)::after{
    content:"";
    position:absolute;
    top:50%;
    right:-29px; 
    width:46px;
    height:16px;
    transform: translateY(-50%);
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(0 35%, 72% 35%, 72% 12%, 100% 50%, 72% 88%, 72% 65%, 0 65%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    opacity: .92;
    pointer-events:none;
  }#revealPanel .panel-innovation-2d .oi-step.oi-step-hi::after{ opacity: .92; }
}
@media (max-width: 1100px){#revealPanel .panel-innovation-2d .oi-links{ display:none; }#revealPanel .panel-innovation-2d .oi-burger{ display:flex; }#revealPanel .panel-innovation-2d .oi-steps{ grid-template-columns: repeat(2, 1fr); }#revealPanel .panel-innovation-2d .oi-workflow-foot{ flex-direction:column; align-items:flex-start; }
}
@media (max-width: 900px){#revealPanel .panel-innovation-2d .oi-tech-row, #revealPanel .panel-innovation-2d .oi-tech-row--flip{ grid-template-columns: 1fr; }#revealPanel .panel-innovation-2d .oi-tech-row--flip .oi-tech-media, #revealPanel .panel-innovation-2d .oi-tech-row--flip .oi-tech-copy{ order: initial; }#revealPanel .panel-innovation-2d .oi-tech-media{ min-height: 240px; border-radius: 22px; }#revealPanel .panel-innovation-2d .oi-tech-p{ max-width: 90%; }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d #proof .container{
    width: 90%;
    padding-inline: 8px;
  }#revealPanel .panel-innovation-2d .oi-compare{
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 90%;
    max-width: none !important;
    gap: 6px;
    justify-content: center;
    justify-items: center;
    align-items: stretch;
    margin-top: 18px;
  }#revealPanel .panel-innovation-2d .oi-compare-card{
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    border-radius: 22px;
    position: relative;
    overflow: hidden;
    background: #000;
  }#revealPanel .panel-innovation-2d .oi-compare-card .oi-compare-video{
    position: absolute;
    inset: 0;
    width: 90%;
    height: auto;
    object-fit: cover;
    object-position: 50% 42%;
  }#revealPanel .panel-innovation-2d .oi-compare-card:first-child .oi-compare-video{
  object-position: 53% 40%;
}#revealPanel .panel-innovation-2d .oi-compare-card:last-child .oi-compare-video{
  object-position: 47% 40%;
}#revealPanel .panel-innovation-2d .oi-cap{
    font-size: 12px;
    padding: 6px 10px;
  }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-hero-inner{ padding: 58px 0 54px; }#revealPanel .panel-innovation-2d .oi-title{ max-width: 22ch; }#revealPanel .panel-innovation-2d .oi-hero-video{ object-position: 50% 25%; }#revealPanel .panel-innovation-2d .oi-mini{ grid-template-columns: repeat(2, 1fr); }#revealPanel .panel-innovation-2d .oi-workflow-ov{
    background: url("images/photography_bk3_mobile.jpg") center/cover no-repeat;
    opacity: .68;
  }
}
@media (max-width: 1100px){#revealPanel .panel-innovation-2d .oc-wf-track{
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }#revealPanel .panel-innovation-2d .oc-wf-card::before, #revealPanel .panel-innovation-2d .oc-wf-card::after{
    display:none;
  }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oc-wf-track{
    grid-template-columns: 1fr;
  }#revealPanel .panel-innovation-2d .oc-wf-card{
    padding: 24px 20px 26px;
  }
}
@media (min-width: 1101px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    gap: 60px;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
    padding: 12px 12px;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:not(:last-child)::after{
    content: "";
    position: absolute;
    top: 50%;
    right: -53px; 
    transform: translateY(-50%);

    width: 46px;
    height: 18px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));

    
    clip-path: polygon(
      0 28%,
      72% 28%,
      72% 10%,
      100% 50%,
      72% 90%,
      72% 72%,
      0 72%,
      12% 50%
    );

    filter: drop-shadow(0 12px 22px rgba(0,0,0,.45));
    box-shadow: 0 0 22px rgba(51,193,255,.22);
    opacity: .96;

    pointer-events: none;
    z-index: 4;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:hover::after{
    opacity: 1;
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.52)) drop-shadow(0 0 18px rgba(51,193,255,.18));
    box-shadow: 0 0 30px rgba(51,193,255,.28);
  }
}
@media (max-width: 1100px) and (min-width: 641px){#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    gap: 30px;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
    position: relative;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:not(:last-child)::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -22px;
    transform: translateX(-50%);

    width: 18px;
    height: 42px;

    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));

    
    clip-path: polygon(
      28% 0,
      72% 0,
      72% 70%,
      90% 70%,
      50% 100%,
      10% 70%,
      28% 70%
    );

    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45)) drop-shadow(0 0 12px rgba(51,193,255,.16));
    opacity: .96;
    pointer-events: none;
    z-index: 4;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:active::after{
    opacity: 1;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(51,193,255,.22));
  }
}
@media (min-width: 561px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    gap: 44px !important; 
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -54px; 
    transform: translateY(-50%);
    width: 46px;
    height: 18px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 22%,
      74% 22%,
      74% 8%,
      100% 50%,
      74% 92%,
      74% 78%,
      0 78%
    );
    filter:
      drop-shadow(0 10px 18px rgba(0,0,0,.45))
      drop-shadow(0 0 14px rgba(51,193,255,.22));
    opacity: .98;
    pointer-events: none;
    z-index: 4;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:hover::after{
    filter:
      drop-shadow(0 12px 22px rgba(0,0,0,.55))
      drop-shadow(0 0 18px rgba(51,193,255,.32));
  }
}
@media (max-width: 560px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 26px !important; 
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(1)::after{
    content: "" !important;
    position:absolute;
    top:50%;
    right:-30px;
    transform:translateY(-50%);
    width: 30px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(0 25%, 72% 25%, 72% 10%, 100% 50%, 72% 90%, 72% 75%, 0 75%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    z-index: 4;
    pointer-events:none;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(2)::after{
    content: "" !important;
    position:absolute;
    left:50%;
    bottom:-32px;
    transform:translateX(-50%);
    width: 18px;
    height: 30px;
    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(25% 0, 75% 0, 75% 72%, 90% 72%, 50% 100%, 10% 72%, 25% 72%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    z-index: 4;
    pointer-events:none;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(3)::after{
    content: "" !important;
    position:absolute;
    top:50%;
    right:-30px;
    transform:translateY(-50%);
    width: 30px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(0 25%, 72% 25%, 72% 10%, 100% 50%, 72% 90%, 72% 75%, 0 75%);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.45));
    z-index: 4;
    pointer-events:none;
  }
}
@media (min-width: 561px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{ gap: 56px !important; }#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -48px; 
    transform: translateY(-50%);

    width: 40px;
    height: 16px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      72% 30%,
      72% 12%,
      100% 50%,
      72% 88%,
      72% 70%,
      0 70%
    );

    opacity: .96;
    filter:
      drop-shadow(0 12px 20px rgba(0,0,0,.52))
      drop-shadow(0 0 14px rgba(51,193,255,.22));

    pointer-events: none;
    z-index: 5;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:hover::after{
    opacity: 1;
    filter:
      drop-shadow(0 14px 24px rgba(0,0,0,.58))
      drop-shadow(0 0 18px rgba(51,193,255,.30));
  }
}
@media (max-width: 560px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step::after{ content: none !important; }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(1)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -24px; 
    transform: translateY(-50%);

    width: 26px;
    height: 14px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 5;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(2)::after{
    content: "" !important;
    position: absolute;
    left: 50%;
    bottom: -28px;
    transform: translateX(-50%);

    width: 16px;
    height: 30px;

    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      30% 0,
      70% 0,
      70% 70%,
      86% 70%,
      50% 100%,
      14% 70%,
      30% 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 5;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -24px;
    transform: translateY(-50%);

    width: 26px;
    height: 14px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 5;
  }
}
@media (min-width: 561px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    gap: 56px !important; 
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
    padding: 14px 14px !important; 
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -48px; 
    transform: translateY(-50%);

    width: 40px;
    height: 16px;

    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));

    
    clip-path: polygon(
      0 28%,
      72% 28%,
      72% 10%,
      100% 50%,
      72% 90%,
      72% 72%,
      0 72%
    );

    opacity: .98;
    filter:
      drop-shadow(0 12px 22px rgba(0,0,0,.45))
      drop-shadow(0 0 14px rgba(51,193,255,.22));
    pointer-events: none;
    z-index: 10;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:hover::after{
    filter:
      drop-shadow(0 14px 26px rgba(0,0,0,.55))
      drop-shadow(0 0 18px rgba(51,193,255,.30));
  }
}
@media (max-width: 560px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px !important; 
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step{
    padding: 14px 12px !important;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(1)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -24px; 
    transform: translateY(-50%);

    width: 26px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 10;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(2)::after{
    content: "" !important;
    position: absolute;
    left: 50%;
    bottom: -26px;
    transform: translateX(-50%);

    width: 18px;
    height: 28px;
    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      26% 0,
      74% 0,
      74% 68%,
      90% 68%,
      50% 100%,
      10% 68%,
      26% 68%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 10;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -24px;
    transform: translateY(-50%);

    width: 26px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%
    );

    opacity: .96;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 10;
  }
}
@media (min-width: 561px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{ gap: 64px !important; }#revealPanel .panel-innovation-2d .oi-workflow .oi-step{ padding: 16px 16px !important; }
}
@media (min-width: 561px){#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: calc(-1 * ((var(--wfArrowGap) / 2) + (var(--wfArrowW) / 2)));
    transform: translateY(-50%);
    width: var(--wfArrowW);
    height: var(--wfArrowH);
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 28%,
      72% 28%,
      72% 10%,
      100% 50%,
      72% 90%,
      72% 72%,
      0 72%,
      10% 50%
    );
    opacity: .98;
    filter:
      drop-shadow(0 14px 26px rgba(0,0,0,.46))
      drop-shadow(0 0 18px rgba(51,193,255,.18));
    pointer-events: none;
    z-index: 6;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(-n+3):hover::after{
    opacity: 1;
    transform: translateY(-50%) translateX(1px);
    filter:
      drop-shadow(0 16px 30px rgba(0,0,0,.56))
      drop-shadow(0 0 22px rgba(51,193,255,.28));
  }
}
@media (max-width: 560px){#revealPanel .panel-innovation-2d .oi-workflow .oi-steps{
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(1)::after, #revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(3)::after{
    content: "" !important;
    position: absolute;
    top: 50%;
    right: -26px;
    transform: translateY(-50%);
    width: 28px;
    height: 14px;
    background: linear-gradient(90deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      0 30%,
      70% 30%,
      70% 12%,
      100% 50%,
      70% 88%,
      70% 70%,
      0 70%,
      10% 50%
    );
    opacity: .98;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 6;
  }#revealPanel .panel-innovation-2d .oi-workflow .oi-step:nth-child(2)::after{
    content: "" !important;
    position: absolute;
    left: 50%;
    bottom: -34px;
    transform: translateX(-50%);
    width: 18px;
    height: 32px;
    background: linear-gradient(180deg, rgba(10,141,234,1), rgba(90,47,186,1));
    clip-path: polygon(
      28% 0,
      72% 0,
      72% 72%,
      90% 72%,
      50% 100%,
      10% 72%,
      28% 72%
    );
    opacity: .98;
    filter: drop-shadow(0 12px 22px rgba(0,0,0,.50));
    pointer-events: none;
    z-index: 6;
  }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-wow-caption{
    padding: 14px 10px;
  }#revealPanel .panel-innovation-2d .oi-wow-caption span{
    font-size: 11px;
    letter-spacing: .14em;
  }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-allonx-meta{
    flex-direction: column;
    gap: 6px;
  }#revealPanel .panel-innovation-2d .oi-allonx-caption{
    padding: 16px;
  }#revealPanel .panel-innovation-2d .oi-allonx-title{
    font-size: 16px;
    letter-spacing: .14em;
  }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-ad{ padding: 54px 0; }#revealPanel .panel-innovation-2d .oi-ad-card{ border-radius: 18px; }
}
@media (max-width: 900px){#revealPanel .panel-innovation-2d .oi-copydent{ padding: 70px 0; }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-copydent-title{ font-size: 18px; }#revealPanel .panel-innovation-2d .oi-copydent-sub{ font-size: 14px; letter-spacing:.14em; }
}
@media (max-width: 900px){#revealPanel .panel-innovation-2d .oi-copydent{ padding: 110px 0; }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-copydent{ padding: 90px 0; }#revealPanel .panel-innovation-2d .oi-copydent-title{ font-size: 18px; }#revealPanel .panel-innovation-2d .oi-copydent-sub{
    font-size: 14px;
    letter-spacing: .14em;
  }
}
@media (max-width: 900px){#revealPanel .panel-innovation-2d .oi-copydent{ padding: 96px 0; min-height: 60vh; }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-copydent{ padding: 78px 0; min-height: 54vh; }#revealPanel .panel-innovation-2d .oi-copydent-title{ font-size: 18px; }#revealPanel .panel-innovation-2d .oi-copydent-sub{ font-size: 14px; letter-spacing: .14em; }
}
@media (max-width: 900px){#revealPanel .panel-innovation-2d .oi-gal-slide{ aspect-ratio: 4 / 3; }#revealPanel .panel-innovation-2d .oi-gal-btn{ width: 40px; height: 40px; font-size: 26px; }#revealPanel .panel-innovation-2d .oi-gal-prev{ left: 10px; }#revealPanel .panel-innovation-2d .oi-gal-next{ right: 10px; }
}
@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }
#revealPanel .panel-innovation-2d .oi-gal-slide{ aspect-ratio: 1 / 1; }#revealPanel .panel-innovation-2d .oi-gal-hud{ left: 10px; bottom: 10px; }#revealPanel .panel-innovation-2d .oi-gal-play{ padding: 9px 12px; }
}
@media (max-width: 900px){#revealPanel .panel-innovation-2d .oi-benefits2d-panel{ padding: 26px 18px; }#revealPanel .panel-innovation-2d .oi-benefits2d-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }#revealPanel .panel-innovation-2d .oi-benefits2d-video{
    grid-column: 1;
    grid-row: auto;
    width: min(320px, 100%);
    margin: 10px auto 6px;
  }#revealPanel .panel-innovation-2d .oi-benefits2d-arrow{
    position: static;
    transform: none;
    margin: 18px auto 0;
  }#revealPanel .panel-innovation-2d .oi-benefit{
    text-align: center;
  }#revealPanel .panel-innovation-2d .oi-benefit-top{
    justify-content: center;
    flex-wrap: wrap;
  }#revealPanel .panel-innovation-2d .oi-benefit-kicker{
    font-size: 13px;
    letter-spacing: 0.07em;
  }#revealPanel .panel-innovation-2d .oi-benefit-text{
    font-size: 14px;
  }
}
@media (max-width: 420px){#revealPanel .panel-innovation-2d .oi-benefits2d{ padding: 62px 0 66px; }#revealPanel .panel-innovation-2d .oi-benefits2d-title{ letter-spacing: 0.08em; }#revealPanel .panel-innovation-2d .oi-benefit{ padding: 16px 14px 14px; }#revealPanel .panel-innovation-2d .oi-benefits2d-video-el{ border-radius: 22px; }
}
@media (max-width: 768px) {#revealPanel .panel-innovation-2d #pricelistModal .omega-pricelist-panel{
        margin: 80px auto;
        max-height: 85vh;
    }
}


/* ===== v43 FIX: Ensure panel WOW compare videos show + WOW bg ===== */
#revealPanel .panel-innovation-2d .panel-wow{
  background-image: url("images/photography_bk2.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

#revealPanel .panel-innovation-2d .oi-compare{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
  margin-top: 18px !important;
}

#revealPanel .panel-innovation-2d .oi-compare-video{
  width: 100% !important;
  height: 320px !important;
  object-fit: cover !important;
  display: block !important;
}

@media (max-width: 900px){
  #revealPanel .panel-innovation-2d .oi-compare{ grid-template-columns: 1fr !important; }
  #revealPanel .panel-innovation-2d .oi-compare-video{ height: 240px !important; }
}



/* ===== v44: Tighten WOW section so BEFORE/AFTER sits in the empty space (panel only) ===== */
#revealPanel .panel-innovation-2d #proof{
  padding: 34px 0 38px !important;   /* was ~70px on innovation page */
}

#revealPanel .panel-innovation-2d #proof .oi-head{
  margin-bottom: 18px !important;
}

#revealPanel .panel-innovation-2d #proof .oi-compare{
  margin-top: 22px !important;      /* bring videos up closer to text */
}

/* Ensure compare cards always reserve height so it never looks empty */
#revealPanel .panel-innovation-2d #proof .oi-compare-card{
  min-height: 320px !important;
}

/* Innovation CSS uses absolutely positioned videos; ensure parent is the sizing box */
#revealPanel .panel-innovation-2d #proof .oi-compare-card{
  position: relative !important;
}

/* Keep video perfectly filling the card */
#revealPanel .panel-innovation-2d #proof .oi-compare-video{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Make sure overlay/background never sits on top of the videos */
#revealPanel .panel-innovation-2d #proof::before{
  z-index: 0 !important;
}
#revealPanel .panel-innovation-2d #proof .container{
  position: relative !important;
  z-index: 1 !important;
}



/* ===== v47: Panel Innovation section styling + WOW background + reveal visibility ===== */
#revealPanel .panel-innovation-2d .panel-wow{
  background-image: url("images/photography_bk2.jpg") !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
#revealPanel .panel-innovation-2d .reveal.is-in{ opacity: 1 !important; transform: translateY(0) !important; }
#revealPanel .panel-innovation-2d .oi-compare{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 18px !important;
}
#revealPanel .panel-innovation-2d .oi-compare-card{ position: relative !important; overflow:hidden !important; border-radius: 18px !important; }
#revealPanel .panel-innovation-2d .oi-compare-video{
  width:100% !important;
  height: 320px !important;
  object-fit: cover !important;
  display:block !important;
}
@media (max-width: 900px){
  #revealPanel .panel-innovation-2d .oi-compare{ grid-template-columns: 1fr !important; }
  #revealPanel .panel-innovation-2d .oi-compare-video{ height: 240px !important; }
}



#revealPanel .panel2d-card{ min-height: 240px; }
  #revealPanel .panel2d-grid{ grid-template-columns: 1fr; }
}

/* ===== v50: 2D Panel — match Innovation-style layout (3 stacked sections) ===== */
#revealPanel .panel-content{ padding: 0 !important; }

/* base */
#revealPanel .p2d{ width: 100%; }
#revealPanel .p2d h1, 
#revealPanel .p2d h2, 
#revealPanel .p2d p{ margin:0; }

/* WOW */
#revealPanel .p2d-wow{
  background: #dfe6f2 url("images/photography_bk2.jpg") right center / cover no-repeat;
  padding: 70px 24px 34px;
}
#revealPanel .p2d-wowInner{
  width: min(1100px, calc(100% - 32px));
  margin: 0 auto;
  text-align: center;
}
#revealPanel .p2d-wowH1{
  font-family: "Cinzel", serif;
  letter-spacing: .08em;
  font-size: clamp(28px, 4vw, 44px);
  color: rgba(0,0,0,0.88);
}
#revealPanel .p2d-wowH2{
  font-family: "Cinzel", serif;
  letter-spacing: .06em;
  font-size: clamp(18px, 2.4vw, 26px);
  margin-top: 10px;
  color: rgba(0,0,0,0.35);
}
#revealPanel .p2d-wowP{
  margin: 16px auto 0;
  max-width: 92ch;
  color: rgba(0,0,0,0.62);
  line-height: 1.55;
  font-size: 14px;
}
#revealPanel .p2d-compare{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
  justify-content: center;
  margin: 26px auto 0;
  width: min(760px, 100%);
}
#revealPanel .p2d-compareCard{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: #0a0f16;
  box-shadow: 0 24px 70px rgba(0,0,0,0.35);
  aspect-ratio: 1 / 1; /* square cards */
}
#revealPanel .p2d-vid{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
#revealPanel .p2d-cap{
  position:absolute;
  bottom: 10px;
  left: 0; right: 0;
  text-align: center;
  font-size: 11px;
  letter-spacing: .18em;
  color: rgba(255,255,255,0.7);
}
#revealPanel .p2d-down{
  display:flex;
  justify-content:center;
  margin-top: 18px;
}
#revealPanel .p2d-downBtn{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, rgba(90,140,255,0.95), rgba(80,85,255,0.95));
  color: rgba(255,255,255,0.92);
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  font-size: 16px;
}

/* BENEFITS */
#revealPanel .p2d-benefits{
  background: radial-gradient(110% 80% at 20% 10%, rgba(45,120,255,0.42), rgba(8,16,34,0.96)),
              url("images/bk_hero.jpg") center / cover no-repeat;
  padding: 64px 24px 58px;
}
#revealPanel .p2d-benefitsInner{
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}
#revealPanel .p2d-benefitsTitle{
  font-family: "Cinzel", serif;
  text-align:center;
  letter-spacing: .08em;
  font-size: clamp(20px, 2.8vw, 34px);
  color: rgba(255,255,255,0.92);
  margin-bottom: 28px;
}
#revealPanel .p2d-benefitsGrid{
  display:grid;
  grid-template-columns: 1fr 340px 1fr;
  gap: 22px;
  align-items: center;
}
#revealPanel .p2d-col{
  display:grid;
  gap: 14px;
}
#revealPanel .p2d-benefitCard{
  background: rgba(10,14,20,0.46);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  padding: 16px 16px 14px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
#revealPanel .p2d-benefitTitle{
  font-family: "Cinzel", serif;
  color: rgba(255,255,255,0.9);
  letter-spacing: .10em;
  font-size: 13px;
  margin-bottom: 8px;
}
#revealPanel .p2d-benefitDesc{
  color: rgba(255,255,255,0.72);
  font-size: 12.5px;
  line-height: 1.5;
}
#revealPanel .p2d-mid{ display:flex; flex-direction:column; align-items:center; gap: 18px; }
#revealPanel .p2d-phone{
  transform: rotate(-9deg);
}
#revealPanel .p2d-phoneFrame{
  width: 260px;
  height: 360px;
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 28px 80px rgba(0,0,0,0.45);
  background: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.35));
}
#revealPanel .p2d-phoneVid{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}

/* Global fallback: ensure phone preview video is upright anywhere the component is reused */
.p2d-phoneVid{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.p2d-phoneVid[data-rotate="90"]{
  transform: rotate(90deg) scale(1.24);
  transform-origin: center;
}
.p2d-phoneVid[data-rotate="-90"]{
  transform: rotate(-90deg) scale(1.24);
  transform-origin: center;
}

#revealPanel .p2d-phoneVid[data-rotate="90"]{
  transform: rotate(90deg) scale(1.22);
  transform-origin: center;
}
#revealPanel .p2d-phoneVid[data-rotate="-90"]{
  transform: rotate(-90deg) scale(1.22);
  transform-origin: center;
}
#revealPanel .p2d-phoneVid.is-landscape{
  /* Some MP4s are encoded landscape with a rotate flag; browsers may ignore it.
     If the source is landscape but the frame is portrait, rotate it in-place. */
  transform: rotate(90deg) scale(1.18);
  transform-origin: center;
}
#revealPanel .p2d-down2{ margin-top: 0; }

/* ================================
   2D Benefits (HTML/CSS layout)
   Clean, editable, retina-sharp
================================ */
#revealPanel .p2d-benefits{
  position: relative;
  padding: 72px 26px 78px;
  background: linear-gradient(135deg, rgba(25,92,190,.88) 0%, rgba(18,36,92,.92) 52%, rgba(108,42,124,.88) 100%);
  overflow: hidden;
}

#revealPanel .p2d-benefits::before{
  content: "";
  position: absolute;
  inset: -2px;
  background:
    radial-gradient(900px 520px at 38% 58%, rgba(255,255,255,.14), rgba(255,255,255,0) 60%),
    radial-gradient(620px 380px at 70% 35%, rgba(145,198,255,.12), rgba(145,198,255,0) 60%);
  pointer-events: none;
  opacity: .9;
}

#revealPanel .p2d-benefitsInner{
  position: relative;
  width: min(1320px, 100%);
  margin: 0 auto;
}

#revealPanel .p2d-benefitsTitle{
  margin: 0 0 56px;
  text-align: center;
  font-family: "Cinzel", serif;
  font-weight: 500;
  letter-spacing: .12em;
  color: rgba(255,255,255,.98);
  font-size: clamp(28px, 3.2vw, 48px);
}

#revealPanel .p2d-benefitsGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 68px 120px;
  align-items: start;
}

#revealPanel .p2d-benefitsCol{
  display: grid;
  gap: 56px;
}

#revealPanel .p2d-benefit{ text-align: center; }

#revealPanel .p2d-benefitTop{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 14px;
}

#revealPanel .p2d-benefitKicker{
  font-family: "Cinzel", serif;
  font-size: 18px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.95);
}

#revealPanel .p2d-benefitIcon{
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  color: rgba(255,255,255,.92);
  opacity: .95;
}

#revealPanel .p2d-benefitIcon svg{ width: 34px; height: 34px; }

#revealPanel .p2d-benefitText{
  margin: 0;
  font-size: 20px;
  line-height: 1.55;
  color: rgba(255,255,255,.86);
  max-width: 420px;
  margin-inline: auto;
}

/* right arrow (panel navigation) */
#revealPanel .p2d-benefitsNext{
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 78px;
  height: 78px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(6, 16, 38, .34);
  color: rgba(176, 214, 255, .98);
  font-size: 54px;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 18px 38px rgba(0,0,0,.30);
}

#revealPanel .p2d-benefitsNext:hover{
  background: rgba(10, 28, 64, .52);
  border-color: rgba(176, 214, 255, .35);
  transform: translateY(-50%) scale(1.04);
}

@media (max-width: 980px){
  #revealPanel .p2d-benefits{ padding: 58px 16px 66px; }
  #revealPanel .p2d-benefitsGrid{ grid-template-columns: 1fr; gap: 52px; }
  #revealPanel .p2d-benefitsNext{ position: static; transform: none; margin: 28px auto 0; }
  #revealPanel .p2d-benefitText{ font-size: 18px; }
}


/* --- v44: Benefits center video layout tweaks --- */
#revealPanel .p2d-benefitsTitle{ margin-bottom: 56px; }

#revealPanel .p2d-benefitsGrid--centerVideo{
  grid-template-columns: 1fr minmax(320px, 520px) 1fr;
  gap: 44px;
}

#revealPanel .p2d-col{ gap: 16px; }

#revealPanel .p2d-benefitCard{
  padding: 14px 14px 12px;
}

#revealPanel .p2d-benefitTitle{
  font-size: 12.5px;
  letter-spacing: .11em;
}

#revealPanel .p2d-benefitDesc{
  font-size: 12.5px;
  line-height: 1.55;
}

#revealPanel .p2d-midVideo{ gap: 16px; }

#revealPanel .p2d-centerVideoFrame{
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(10,14,20,0.38);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 26px 70px rgba(0,0,0,0.45);
}

#revealPanel .p2d-centerVid{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 980px){
  #revealPanel .p2d-benefitsGrid--centerVideo{
    grid-template-columns: 1fr;
    gap: 28px;
  }
  #revealPanel .p2d-centerVideoFrame{
    width: min(520px, 100%);
    margin: 0 auto;
  }
}


/* COLLAGE */
#revealPanel .p2d-collage{
  position: relative;
  background: #000;
  padding: 0;
  min-height: 520px;
}
#revealPanel .p2d-collageGrid{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0;
  opacity: 0.94;
}
#revealPanel .p2d-tile{
  background-size: cover;
  background-position: center;
  filter: brightness(.72) contrast(1.05);
  min-height: 160px;
}
#revealPanel .p2d-cta{
  position: relative;
  z-index: 2;
  width: min(420px, calc(100% - 48px));
  margin: 0 auto;
  top: 50%;
  transform: translateY(50%);
  background: rgba(0,0,0,0.88);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  padding: 28px 22px;
  text-align:center;
  box-shadow: 0 24px 80px rgba(0,0,0,0.55);
}
#revealPanel .p2d-ctaTitle{
  font-family: "Cinzel", serif;
  letter-spacing: .10em;
  font-size: 16px;
  color: rgba(255,255,255,0.92);
  margin-bottom: 16px;
  line-height: 1.3;
}
#revealPanel .p2d-ctaBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height: 44px;
  padding: 0 26px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(70,140,255,1), rgba(90,80,255,1));
  color: white;
  text-decoration:none;
  letter-spacing: .08em;
  font-size: 14px;
  box-shadow: 0 16px 44px rgba(0,0,0,0.35);
}

/* responsive */
@media (max-width: 980px){
  #revealPanel .p2d-benefitsGrid{ grid-template-columns: 1fr; }
  #revealPanel .p2d-phone{ transform: rotate(-6deg); }
  #revealPanel .p2d-collageGrid{ grid-template-columns: repeat(3, 1fr); }
  #revealPanel .p2d-cta{ transform: translateY(0); top: 0; margin-top: 120px; }
}
@media (max-width: 720px){
  #revealPanel .p2d-compare{ grid-template-columns: 1fr; width: min(420px, 100%); }
}

/* ===== v51: 2D Panel enhancements (premium polish) ===== */
#revealPanel .panel-content{ scroll-behavior: smooth; }

/* Smooth entrance */
#revealPanel .panel-content.panel-mounted .p2d-wowInner,
#revealPanel .panel-content.panel-mounted .p2d-benefitsInner,
#revealPanel .panel-content.panel-mounted .p2d-cta{
  animation: p2dFadeUp .7s ease both;
}
@keyframes p2dFadeUp{
  from{ opacity:0; transform: translateY(12px); }
  to{ opacity:1; transform: translateY(0); }
}

/* WOW section: gentle bottom fade into next section */
#revealPanel .p2d-wow{
  position: relative;
}
#revealPanel .p2d-wow::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 40px;
  background: linear-gradient(to bottom, rgba(223,230,242,0), rgba(8,16,34,0.20));
  pointer-events:none;
}

#revealPanel .p2d-wowP{
  font-size: 14.5px;
  letter-spacing: 0.01em;
}

/* Compare cards: premium border + hover */
#revealPanel .p2d-compareCard{
  border: 1px solid rgba(255,255,255,0.10);
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
#revealPanel .p2d-compareCard::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(60% 60% at 30% 20%, rgba(255,255,255,0.10), rgba(255,255,255,0));
  opacity: .45;
  pointer-events:none;
}
#revealPanel .p2d-compareCard:hover{
  transform: translateY(-6px);
  box-shadow: 0 34px 90px rgba(0,0,0,0.42);
  border-color: rgba(120,170,255,0.35);
}
#revealPanel .p2d-cap{ text-transform: uppercase; }

/* Down buttons: nicer interaction */
#revealPanel .p2d-downBtn{
  border: 0;
  cursor: pointer;
  outline: none;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
#revealPanel .p2d-downBtn:hover{
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 20px 50px rgba(0,0,0,0.30);
}
#revealPanel .p2d-downBtn:active{
  transform: translateY(0px) scale(0.98);
}

/* Benefits cards: more glass + depth */
#revealPanel .p2d-benefitCard{
  box-shadow: 0 18px 54px rgba(0,0,0,0.18);
  transition: transform .28s ease, border-color .28s ease, background .28s ease;
}
#revealPanel .p2d-benefitCard:hover{
  transform: translateY(-4px);
  border-color: rgba(120,170,255,0.28);
  background: rgba(10,14,20,0.52);
}

/* Phone: subtle floating motion */
#revealPanel .p2d-phone{
  animation: p2dFloat 6.5s ease-in-out infinite;
  transform-origin: 50% 60%;
}
@keyframes p2dFloat{
  0%,100%{ transform: rotate(-9deg) translateY(0); }
  50%{ transform: rotate(-9deg) translateY(-10px); }
}

/* Collage: vignette */
#revealPanel .p2d-collage::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(55% 55% at 50% 45%, rgba(0,0,0,0.20), rgba(0,0,0,0.72));
  z-index: 1;
  pointer-events:none;
}
#revealPanel .p2d-collageGrid{ z-index: 0; }
#revealPanel .p2d-cta{ z-index: 2; }

/* CTA button: premium hover */
#revealPanel .p2d-ctaBtn{
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
#revealPanel .p2d-ctaBtn:hover{
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 22px 58px rgba(0,0,0,0.42);
}
#revealPanel .p2d-ctaBtn:active{
  transform: translateY(0px) scale(0.99);
}

/* Mobile tweaks */
@media (max-width: 980px){
  #revealPanel .p2d-benefits{ padding: 56px 18px 52px; }
  #revealPanel .p2d-phoneFrame{ width: 240px; height: 340px; }
}
@media (max-width: 720px){
  #revealPanel .p2d-wow{ padding: 56px 18px 26px; }
  #revealPanel .p2d-wowP{ font-size: 14px; }
}



/* --- 2D Smile Design: Benefit Icons --- */
.p2d-benefitIcon{
  width:42px;
  height:42px;
  margin:0 auto 18px;
  color:rgba(255,255,255,0.86);
  opacity:.95;
  transition:transform .28s ease, opacity .28s ease, color .28s ease;
}
.p2d-benefitIcon svg{ width:100%; height:100%; display:block; }
.p2d-benefitCard:hover .p2d-benefitIcon{
  transform:translateY(-4px);
  color:#fff;
  opacity:1;
}



/* --- Center video vertically in Benefits section --- */
.p2d-benefitsGrid--centerVideo {
  align-items: center !important;
}

.p2d-midVideo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p2d-centerVideoFrame {
  margin-top: 0 !important;
}


/* --- 2D Smile Design: Advert section (after benefits) --- */
.p2d-advert{
  padding: 90px 60px 120px;
  background: #0b0f18;
}
.p2d-advertInner{
  max-width: 1500px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
.p2d-advertImg{
  width: min(1400px, 100%);
  height: auto;
  display: block;
  border-radius: 26px;
  box-shadow: 0 30px 90px rgba(0,0,0,0.55);
}
@media (max-width: 900px){
  .p2d-advert{ padding: 70px 22px 90px; }
  .p2d-advertImg{ border-radius: 18px; }
}




/* --- 2D Smile Design: Advert overlay (premium card) --- */
.p2d-advertWrap{ position: relative; width: min(1400px, 100%); }
.p2d-advertImg{
  display:block;
  width:100%;
  height:auto;
  border-radius:26px;
}

/* subtle dim over image for legibility */
.p2d-advertOverlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:26px;
  background: rgba(0,0,0,0.20);
}

/* centered black card */
.p2d-advertCard{
  width: min(920px, 78%);
  padding: 58px 56px;
  border-radius: 22px;
  background: rgba(0,0,0,0.72);
  box-shadow: 0 28px 90px rgba(0,0,0,0.60);
  text-align:center;
  backdrop-filter: blur(2px);
}

.p2d-advertTitle{
  margin: 0 0 26px;
  font-family: 'Cinzel', serif;
  font-weight: 500;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1.16;
  letter-spacing: 1px;
  color:#ffffff;
}

/* button – keep the pill style */
.p2d-advertBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 16px 44px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3f7bff, #6a5cff);
  color:#fff;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-decoration:none;
  box-shadow: 0 18px 45px rgba(63,123,255,0.35);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.p2d-advertBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 55px rgba(63,123,255,0.48);
  filter: brightness(1.05);
}

@media (max-width: 900px){
  .p2d-advertCard{ width: min(720px, 88%); padding: 42px 26px; border-radius: 18px; }
  .p2d-advertImg, .p2d-advertOverlay{ border-radius: 18px; }
  .p2d-advertBtn{ padding: 14px 34px; }
}


/* --- 3D Smile Design Panel (HTML/CSS) --- */
.p3d{ background:#0000; }
.p3d-hero{
  padding: 70px 60px 40px;
  background: #f1f1f1;
}
.p3d-heroInner{ max-width: 1400px; margin:0 auto; }
.p3d-heroTitle{
  text-align:center;
  font-family:'Cinzel', serif;
  font-weight:500;
  letter-spacing:2px;
  font-size: clamp(28px, 3.2vw, 40px);
  color:#111;
  margin: 0 0 22px;
}

/* monitor */
.p3d-monitor{
  width: min(1180px, 100%);
  margin: 0 auto;
  position: relative;
}
.p3d-screen{
  background: #0d0f14;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 25px 90px rgba(0,0,0,0.25);
  border: 1px solid rgba(0,0,0,0.08);
  display: grid;
  grid-template-columns: 240px 1fr 280px;
  gap: 14px;
  min-height: 360px;
}
.p3d-uiLeft, .p3d-uiRight{ display:flex; flex-direction:column; gap: 12px; }
.p3d-uiBlock{
  height: 52px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.08);
}
.p3d-uiMid{
  position: relative;
  border-radius: 12px;
  background: radial-gradient(circle at 50% 35%, rgba(255,255,255,0.10), rgba(255,255,255,0.03) 55%, rgba(255,255,255,0.02));
  border: 1px solid rgba(255,255,255,0.08);
  overflow:hidden;
}
.p3d-arch3d{
  position:absolute;
  left: 14%;
  right: 14%;
  top: 18%;
  height: 46%;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255,255,255,0.25), rgba(255,255,255,0.06));
  transform: perspective(900px) rotateX(60deg);
  box-shadow: 0 35px 80px rgba(0,0,0,0.35);
}
.p3d-archTeeth{
  position:absolute;
  left: 22%;
  right: 22%;
  top: 28%;
  height: 30%;
  border-radius: 999px;
  background:
    repeating-linear-gradient(90deg, rgba(255,255,255,0.85) 0 10px, rgba(255,255,255,0.0) 10px 18px);
  opacity: .55;
  transform: perspective(900px) rotateX(65deg);
}
.p3d-timeline{
  position:absolute;
  left: 10%;
  right: 10%;
  bottom: 18px;
  height: 10px;
  display:flex;
  gap: 10px;
  justify-content:center;
}
.p3d-timeline span{
  width: 18%;
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.10);
}
.p3d-faceFrame{
  flex: 1;
  min-height: 210px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  border: 1px solid rgba(255,255,255,0.08);
  position: relative;
  overflow:hidden;
}
.p3d-face{
  position:absolute;
  inset: 10% 14%;
  border-radius: 18px;
  background: radial-gradient(circle at 50% 35%, rgba(255,226,210,0.95), rgba(231,188,172,0.50) 55%, rgba(255,255,255,0.10));
  filter: saturate(1.1);
}
.p3d-faceGlow{
  position:absolute;
  inset: -40%;
  background: radial-gradient(circle at 50% 55%, rgba(80,140,255,0.25), transparent 60%);
}
.p3d-uiLines div{
  height: 34px;
  border-radius: 10px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
}
.p3d-stand{
  width: 220px;
  height: 18px;
  background: rgba(0,0,0,0.10);
  border-radius: 999px;
  margin: 16px auto 0;
}

/* strap */
.p3d-strap{
  padding: 34px 60px 0;
  background:#fff;
}
.p3d-strapInner{ max-width: 980px; margin:0 auto; text-align:center; }
.p3d-strapInner h2{
  margin: 0 0 10px;
  font-family:'Cinzel', serif;
  letter-spacing:1px;
  font-weight:500;
  color:#111;
  font-size: clamp(20px, 2.2vw, 30px);
}
.p3d-strapInner p{
  margin: 0 auto;
  max-width: 820px;
  color: rgba(0,0,0,0.68);
  font-size: 14px;
  line-height: 1.8;
}

/* analysis */
.p3d-analysis{
  padding: 44px 60px 120px;
  background: #8a8a8a;
}
.p3d-analysisInner{ max-width: 1200px; margin: 0 auto; }
.p3d-miniTitle{
  text-align:center;
  font-size: 11px;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.85);
  margin-bottom: 14px;
}
.p3d-scan{
  width: min(420px, 92%);
  height: 130px;
  margin: 0 auto 34px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,0.22), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,0.20), rgba(0,0,0,0.05));
  border: 1px solid rgba(255,255,255,0.18);
}

.p3d-trio{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: start;
  margin-bottom: 44px;
}
.p3d-colCard{
  text-align:center;
}
.p3d-colHdr{
  font-size: 10px;
  letter-spacing: 1.6px;
  color: rgba(255,255,255,0.90);
  margin-bottom: 10px;
}
.p3d-legend{
  font-size: 10px;
  color: rgba(255,255,255,0.75);
  margin-bottom: 10px;
  display:flex;
  gap: 10px;
  justify-content:center;
  align-items:center;
}
.p3d-dot{ width: 8px; height: 8px; border-radius: 2px; display:inline-block; }
.p3d-dot.red{ background:#ff4a4a; }
.p3d-dot.white{ background: rgba(255,255,255,0.85); }

.p3d-model{
  width: 100%;
  height: 190px;
  border-radius: 16px;
  background: linear-gradient(to bottom, rgba(0,0,0,0.2), rgba(0,0,0,0.35));
  border: 1px solid rgba(255,255,255,0.16);
  position: relative;
  overflow:hidden;
}
.p3d-model::before{
  content:"";
  position:absolute;
  inset: 22% 10%;
  border-radius: 999px;
  background: rgba(255,255,255,0.18);
  transform: perspective(900px) rotateX(60deg);
}
.p3d-model.red{ background: linear-gradient(180deg, rgba(255,80,80,0.22), rgba(0,0,0,0.22)); }
.p3d-model.blue{ background: linear-gradient(180deg, rgba(70,120,255,0.28), rgba(0,0,0,0.22)); }
.p3d-model.red2{ background: linear-gradient(180deg, rgba(255,80,80,0.20), rgba(0,0,0,0.22)); }

/* heatmaps */
.p3d-heatmaps{ text-align:center; }
.p3d-heatTitle{
  font-size: 11px;
  letter-spacing: 0.4px;
  color: rgba(255,255,255,0.85);
  max-width: 720px;
  margin: 0 auto 18px;
}
.p3d-heatGrid{
  display:flex;
  flex-direction:column;
  gap: 18px;
  align-items:center;
  margin-bottom: 54px;
}
.p3d-heat{
  width: min(520px, 92%);
  height: 140px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 20% 40%, rgba(0,255,180,0.85) 0 10px, transparent 12px),
    radial-gradient(circle at 30% 60%, rgba(255,230,0,0.85) 0 10px, transparent 12px),
    radial-gradient(circle at 40% 45%, rgba(255,120,0,0.85) 0 10px, transparent 12px),
    radial-gradient(circle at 55% 55%, rgba(0,200,255,0.85) 0 10px, transparent 12px),
    radial-gradient(circle at 70% 45%, rgba(0,255,180,0.85) 0 10px, transparent 12px),
    radial-gradient(circle at 82% 60%, rgba(255,230,0,0.85) 0 10px, transparent 12px),
    linear-gradient(180deg, rgba(0,0,0,0.28), rgba(0,0,0,0.14));
  border: 1px solid rgba(255,255,255,0.18);
  box-shadow: 0 22px 70px rgba(0,0,0,0.35);
}
.p3d-heat.lower{ transform: rotate(180deg); }

/* CTA (match 2D) */
.p3d-cta{ display:flex; justify-content:center; }
.p3d-ctaCard{
  width: min(920px, 78%);
  padding: 52px 50px;
  border-radius: 22px;
  background: rgba(0,0,0,0.72);
  box-shadow: 0 28px 90px rgba(0,0,0,0.60);
  text-align:center;
}
.p3d-ctaTitle{
  margin: 0 0 24px;
  font-family:'Cinzel', serif;
  font-weight:500;
  font-size: clamp(28px, 3.1vw, 42px);
  line-height: 1.16;
  letter-spacing: 1px;
  color:#fff;
}
.p3d-ctaBtn{
  display:inline-flex; align-items:center; justify-content:center;
  padding: 16px 44px;
  border-radius: 999px;
  background: linear-gradient(90deg, #3f7bff, #6a5cff);
  color:#fff;
  font-weight:700;
  letter-spacing:1.5px;
  text-decoration:none;
  box-shadow: 0 18px 45px rgba(63,123,255,0.35);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.p3d-ctaBtn:hover{
  transform: translateY(-2px);
  box-shadow: 0 22px 55px rgba(63,123,255,0.48);
  filter: brightness(1.05);
}

@media (max-width: 1200px){
  .p3d-screen{ grid-template-columns: 200px 1fr 240px; }
  .p3d-trio{ grid-template-columns: 1fr; }
}
@media (max-width: 900px){
  .p3d-hero, .p3d-strap, .p3d-analysis{ padding-left: 22px; padding-right: 22px; }
  .p3d-screen{ grid-template-columns: 1fr; min-height: 520px; }
  .p3d-uiLeft{ flex-direction:row; flex-wrap:wrap; }
  .p3d-uiBlock{ flex: 1 1 46%; }
}


/* --- 3D Smile Design Panel (Image-driven) --- */
.p3d-img .p3d-heroImg{ background:#f1f1f1; padding: 70px 60px 40px; }
.p3d-img .p3d-heroInner{ max-width: 1400px; margin:0 auto; text-align:center; }
.p3d-img .p3d-heroTitle{
  font-family:'Cinzel', serif;
  font-weight:500;
  letter-spacing:2px;
  font-size: clamp(28px, 3.2vw, 40px);
  color:#111;
  margin: 0 0 22px;
}
.p3d-img .p3d-heroMedia img{
  width: min(1180px, 100%);
  height:auto;
  display:block;
  margin: 0 auto;
  border-radius: 22px;
  box-shadow: 0 25px 90px rgba(0,0,0,0.25);
}

.p3d-analysisImg{ padding: 44px 60px 120px; background: #8a8a8a; }
.p3d-analysisImg .p3d-analysisInner{ max-width: 1200px; margin: 0 auto; }

.p3d-imgCard{
  width: 100%;
  border-radius: 18px;
  overflow:hidden;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.16);
  box-shadow: 0 22px 70px rgba(0,0,0,0.35);
}
.p3d-imgCard img{ width:100%; height:auto; display:block; }

.p3d-imgCard--scan{ width: min(520px, 96%); margin: 0 auto 34px; border-radius: 999px; }
.p3d-imgCard--scan img{ border-radius: 999px; }

.p3d-trioImg{ grid-template-columns: repeat(3, 1fr); gap: 22px; margin-bottom: 44px; }
.p3d-imgCard--heat{ width: min(560px, 96%); border-radius: 22px; }
.p3d-heatGridImg{ display:grid; grid-template-columns: 1fr 1fr; gap: 22px; justify-items:center; }

@media (max-width: 1200px){
  .p3d-trioImg{ grid-template-columns: 1fr; }
  .p3d-heatGridImg{ grid-template-columns: 1fr; }
}
@media (max-width: 900px){
  .p3d-img .p3d-heroImg, .p3d-analysisImg, .p3d-strap{ padding-left: 22px; padding-right: 22px; }
}


/* --- 3D Smile Design Panel (Reference layout) --- */
.p3d-ref3d *{ box-sizing:border-box; }
.p3d-topHero{ background:#ffffff; padding: 0; }
.p3d-titleBand{
  background:#f7f7f5;
  padding: 34px 60px 22px;
  text-align:center;
}
.p3d-title{
  margin: 0;
  font-family:'Cinzel', serif;
  font-weight:500;
  letter-spacing:2px;
  font-size: clamp(26px, 3.0vw, 38px);
  color:#111;
}

.p3d-topHeroInner{ max-width: 1400px; margin:0 auto; text-align:center; padding: 26px 60px 0; }
.p3d-topTitle{
  margin: 0 0 18px;
  font-family:'Cinzel', serif;
  font-weight:500;
  letter-spacing:2px;
  font-size: clamp(26px, 3.0vw, 38px);
  color:#111;
}
.p3d-topMedia img{
  width: 100%;
  max-width: 1180px;
  height:auto;
  display:block;
  margin: 0 auto;
  border-radius: 0;
  box-shadow: none;
}

/* Grey area */
.p3d-grey{
  background: #9a968f;
  padding: 34px 60px 90px;
}
.p3d-greyInner{
  max-width: 1200px;
  margin: 0 auto;
  text-align:center;
}
.p3d-greyTitle{
  margin: 0 0 14px;
  font-family:'Cinzel', serif;
  font-weight:500;
  letter-spacing: 1px;
  color:#111;
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.15;
}
.p3d-greyLead{
  margin: 0 auto 26px;
  max-width: 820px;
  color: rgba(0,0,0,0.72);
  font-size: 12px;
  line-height: 1.65;
}

/* Scan block */
.p3d-scanBlock{ margin-top: 14px; }
.p3d-miniTitle{
  font-size: 10px;
  letter-spacing: 2px;
  color: rgba(255,255,255,0.92);
  margin-bottom: 12px;
}
.p3d-imgCard--scanRef{
  width: min(460px, 92%);
  margin: 0 auto 28px;
  border-radius: 999px;
  overflow:hidden;
  background: rgba(0,0,0,0.10);
  border: 0;
  box-shadow: none;
}
.p3d-imgCard--scanRef img{ border-radius: 999px; }

/* Trio row */
.p3d-trioRef{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items:start;
  margin: 8px 0 30px;
  text-align:center;
}
.p3d-colHdr{
  font-size: 10px;
  letter-spacing: 1.6px;
  color: rgba(255,255,255,0.92);
  margin: 0 0 8px;
}
.p3d-legendRef{
  font-size: 10px;
  color: rgba(255,255,255,0.78);
  display:flex;
  gap: 8px;
  justify-content:center;
  align-items:center;
  margin-bottom: 10px;
}
.p3d-dot{
  width: 7px; height: 7px;
  border-radius: 1px;
  display:inline-block;
}
.p3d-dot.red{ background:#ff4a4a; }
.p3d-dot.white{ background: rgba(255,255,255,0.88); }

.p3d-imgCard--model{
  border-radius: 12px;
  overflow:hidden;
  background: rgba(0,0,0,0.12);
  border: 0;
  box-shadow: none;
}
.p3d-imgCard--model img{ display:block; width:100%; height:auto; }

.p3d-small{
  margin: 10px auto 0;
  max-width: 320px;
  font-size: 9px;
  line-height: 1.55;
  color: rgba(255,255,255,0.78);
}

/* Heat maps stack */
.p3d-heatBlock{
  margin: 10px auto 40px;
  max-width: 720px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 14px;
}
.p3d-heatImg{
  width: min(620px, 92%);
  overflow:hidden;
  border-radius: 18px;
  background: rgba(0,0,0,0.10);
}
.p3d-heatImg img{ width:100%; height:auto; display:block; }
.p3d-heatCaption{
  font-size: 9px;
  line-height: 1.55;
  color: rgba(255,255,255,0.78);
  max-width: 520px;
}

/* CTA align */
.p3d-ctaRef{ margin-top: 10px; }

@media (max-width: 1100px){
  .p3d-trioRef{ grid-template-columns: 1fr; gap: 18px; }
  .p3d-small{ max-width: 520px; }
}
@media (max-width: 900px){
  .p3d-topHeroInner{ padding-left: 22px; padding-right: 22px; }
  .p3d-grey{ padding-left: 22px; padding-right: 22px; }
}


/* --- 3D Smile Design Panel refinements (v55) --- */
.p3d-ref3d .p3d-topHeroInner{
  max-width: none;
  padding: 22px 0 0;
}
.p3d-ref3d .p3d-topTitle{
  padding: 0 60px;
  margin: 0 0 16px;
}
.p3d-ref3d .p3d-topCover{
  width: 100%;
  max-width: none;
  aspect-ratio: 16 / 9;
  min-height: 520px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 0;
}
/* Make the hero truly feel “full cover” inside the panel */
.p3d-ref3d .p3d-topHero{ background:#fff; }
.p3d-ref3d .p3d-topMedia{ box-shadow: none; }

/* Harmony typography with Omega premium styling */
.p3d-ref3d .p3d-grey{
  background: linear-gradient(180deg, #8f8a82 0%, #868179 100%);
}
.p3d-ref3d .p3d-greyTitle{
  color: rgba(255,255,255,0.94);
  text-shadow: 0 8px 28px rgba(0,0,0,0.22);
  letter-spacing: 1.2px;
}
.p3d-ref3d .p3d-greyLead{
  color: rgba(255,255,255,0.78);
  font-size: 13.5px;
  line-height: 1.75;
}
.p3d-ref3d .p3d-miniTitle{
  color: rgba(255,255,255,0.88);
}
.p3d-ref3d .p3d-colHdr{
  color: rgba(255,255,255,0.92);
}
.p3d-ref3d .p3d-legendRef,
.p3d-ref3d .p3d-small,
.p3d-ref3d .p3d-heatCaption{
  color: rgba(255,255,255,0.76);
}
.p3d-ref3d .p3d-imgCard--model,
.p3d-ref3d .p3d-heatImg{
  box-shadow: 0 28px 80px rgba(0,0,0,0.22);
  background: rgba(0,0,0,0.12);
}
@media (max-width: 1100px){
  .p3d-ref3d .p3d-topTitle{ padding: 0 22px; }
  .p3d-ref3d .p3d-topCover{ min-height: 420px; }
}
@media (max-width: 700px){
  .p3d-ref3d .p3d-topCover{ min-height: 300px; aspect-ratio: 4 / 3; }
}



/* --- 3D Smile Design Panel readability + flat images (v56) --- */
.p3d-ref3d .p3d-topHeroInner{ max-width: 1400px; padding: 26px 0 0; }
.p3d-ref3d .p3d-topTitle{ padding: 0 60px; margin: 0 0 18px; }
.p3d-ref3d .p3d-topMedia img{
  width: 100%;
  max-width: 1180px;
  height: auto;
  display:block;
  margin: 0 auto;
}

/* keep the grey exactly like the reference (no gradients) */
.p3d-ref3d .p3d-grey{ background:#9a968f; }

/* Larger, clearer typography (match site headings) */
.p3d-ref3d .p3d-greyTitle{
  font-size: clamp(22px, 2.4vw, 32px);
  letter-spacing: 1.2px;
  margin-bottom: 12px;
  text-shadow: none;
}
.p3d-ref3d .p3d-greyLead{
  font-size: 14px;
  line-height: 1.75;
  max-width: 860px;
  margin-bottom: 34px;
}
.p3d-ref3d .p3d-miniTitle{
  font-size: 11px;
  letter-spacing: 2.2px;
  margin-bottom: 14px;
}
.p3d-ref3d .p3d-colHdr{
  font-size: 11px;
  letter-spacing: 1.8px;
  margin-bottom: 10px;
}
.p3d-ref3d .p3d-legendRef{
  font-size: 11px;
  margin-bottom: 12px;
}
.p3d-ref3d .p3d-small{
  font-size: 11px;
  line-height: 1.6;
  max-width: 360px;
}
.p3d-ref3d .p3d-heatCaption{
  font-size: 11px;
  line-height: 1.6;
  max-width: 620px;
}

/* Remove “masking” / card styling: no rounded corners, no borders, no shadows */
.p3d-ref3d .p3d-imgCard,
.p3d-ref3d .p3d-imgCard--scanRef,
.p3d-ref3d .p3d-imgCard--model,
.p3d-ref3d .p3d-heatImg{
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.p3d-ref3d .p3d-imgCard img,
.p3d-ref3d .p3d-heatImg img{
  border-radius: 0 !important;
}

/* tighten layout to look like the reference */
.p3d-ref3d .p3d-trioRef{ margin-top: 14px; margin-bottom: 26px; }
.p3d-ref3d .p3d-heatBlock{ gap: 12px; margin-bottom: 34px; }

@media (max-width: 1100px){
  .p3d-ref3d .p3d-small{ max-width: 560px; }
}
@media (max-width: 900px){
  .p3d-ref3d .p3d-topTitle{ padding: 0 22px; }
}



/* === 3D Smile Design panel background (v34->v35) === */
.p3d-ref3d .p3d-grey{
  background: url('images/3d_bk.jpg') center / cover no-repeat;
  position: relative;
}
.p3d-ref3d .p3d-grey::before{
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.28));
  pointer-events:none;
}
.p3d-ref3d .p3d-greyInner{
  position: relative;
  z-index: 1;
}

/* Keep images flat + crisp */
.p3d-ref3d img{
  border-radius: 0 !important;
  box-shadow: none !important;
}



/* 3D Smile Design hero background (refined overlay, clean + premium) */
#revealPanel .p3d-wow{
  position: relative;
  background: #dfe6f2 url("images/3D_smile_design_header.jpg") center center / cover no-repeat;
  padding: 120px 24px 96px;
  text-align: center;
  overflow: hidden;
}
#revealPanel .p3d-wow::before{
  content:"";
  position:absolute;
  inset:0;
  /* subtle readability veil — keeps the image visible */
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0.28),
    rgba(255,255,255,0.10),
    rgba(0,0,0,0.16)
  );
}
#revealPanel .p3d-wowInner{
  position: relative;
  width: min(980px, calc(100% - 32px));
  margin: 0 auto;
  padding: 34px 40px 28px;
  border-radius: 22px;
  background: rgba(255,255,255,0.62);
  border: 1px solid rgba(255,255,255,0.55);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
#revealPanel .p3d-wowH1{
  font-family: "Cinzel", serif;
  letter-spacing: .08em;
  font-size: clamp(28px, 3.6vw, 44px);
  color: rgba(15,23,42,0.92);
  margin: 0;
  text-decoration: none;
}
#revealPanel .p3d-wowH2{
  font-family: "Cinzel", serif;
  letter-spacing: .06em;
  font-size: clamp(16px, 2.1vw, 22px);
  margin: 12px 0 0;
  color: rgba(15,23,42,0.78);
  line-height: 1.2;
  text-decoration: none;
  border: 0;
}
#revealPanel .p3d-wowP{
  margin: 14px auto 0;
  max-width: 92ch;
  color: rgba(15,23,42,0.68);
  line-height: 1.6;
  font-size: 13.5px;
}




/* === 3D Panel CTA (v64) === */
.p3d-cta2{
  margin-top: 48px;
  background: #000;
  border-radius: 22px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  min-height: 460px;
  box-shadow: 0 18px 60px rgba(0,0,0,.45);
}

.p3d-cta2__content{
  padding: 64px 64px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}

.p3d-cta2__title{
  margin: 0;
  font-family: "Cinzel", serif;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.92);
  font-size: clamp(30px, 3.2vw, 46px);
  line-height: 1.08;
}

.p3d-cta2__desc{
  margin: 0;
  max-width: 54ch;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.8;
}

.p3d-cta2__btn{
  margin-top: 18px;
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  padding: 0 44px;
  border-radius: 999px;
  text-decoration: none;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  background: linear-gradient(90deg, rgba(66,130,255,1), rgba(130,95,255,1));
  color: #fff;
  box-shadow: 0 14px 40px rgba(85,120,255,.35);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.p3d-cta2__btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 18px 50px rgba(85,120,255,.45);
}

.p3d-cta2__art{
  position: relative;
  background: #000;
}
.p3d-cta2__art img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  transform: translateX(6%);
  filter: saturate(1.05) contrast(1.02);
}

@media (max-width: 980px){
  .p3d-cta2{
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .p3d-cta2__art{
    height: 360px;
  }
  .p3d-cta2__content{
    padding: 44px 36px 36px;
  }
}


/* ===== Override: 3D WOW Header (v66) ===== */
.p3d-wow{
  position: relative;
  background: #ffffff;
  padding: 64px 24px 46px;
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(15,23,42,0.08);
}

.p3d-wow::before{
  content:"";
  position:absolute;
  top:-70px;
  right:-120px;
  width: 760px;
  height: 520px;
  background: url("/images/3d_header.jpg") right top / cover no-repeat;
  opacity: 0.22;
  filter: grayscale(100%);
  pointer-events:none;
}

.p3d-wowInner{
  position: relative;
  z-index: 1;
  width: min(980px, calc(100% - 32px));
  margin: 0 auto;
}

.p3d-wowH1{
  font-family: "Cinzel", serif;
  letter-spacing: .06em;
  font-size: clamp(30px, 3.8vw, 48px);
  color: rgba(0,0,0,0.92);
  margin: 0;
  text-decoration: none;
}

.p3d-wowH2{
  font-family: "Cinzel", serif;
  letter-spacing: .04em;
  font-size: clamp(16px, 2.0vw, 22px);
  margin: 14px 0 0;
  color: rgba(0,0,0,0.82);
  line-height: 1.25;
  text-decoration: none;
  border: 0;
}

.p3d-wowP{
  margin: 14px auto 0;
  max-width: 78ch;
  color: rgba(0,0,0,0.72);
  line-height: 1.65;
  font-size: 13.5px;
}


/* === 3D Smile Design: Reference Header (v68) === */
.sd3d-header{
  position:relative;
  background:#ffffff;
  color:#111;
  text-align:center;
  padding:72px 72px 56px;
  overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.sd3d-watermark{
  position:absolute;
  top:-48px;
  right:-32px;
  width:min(560px, 55vw);
  height:260px;
  background-image:url('images/3d_header_v68.jpg');
  background-repeat:no-repeat;
  background-position:top right;
  background-size:contain;
  opacity:.35;
  pointer-events:none;
  filter:grayscale(100%);
}
.sd3d-title{
  margin:0;
  font-family: "Cinzel", "Times New Roman", serif;
  font-weight:500;
  letter-spacing:.08em;
  font-size:clamp(34px, 4vw, 60px);
  line-height:1.05;
}
.sd3d-subtitle{
  margin:18px 0 14px;
  font-family: "Cinzel", "Times New Roman", serif;
  font-weight:500;
  letter-spacing:.06em;
  font-size:clamp(16px, 1.6vw, 22px);
  line-height:1.3;
}
.sd3d-lead{
  max-width:880px;
  margin:0 auto;
  font-size:14px;
  line-height:1.7;
  color:rgba(0,0,0,.72);
}
@media (max-width: 720px){
  .sd3d-header{ padding:56px 20px 44px; }
  .sd3d-watermark{ top:-28px; right:-18px; height:210px; opacity:.28; }
}



/* ===== 3D SMILE DESIGN PANEL (REFERENCE LAYOUT v1) ===== */
.sd3d-top{
  background:#f5f5f5;
  padding: 88px 0 0;
  text-align:center;
}
.sd3d-topInner{
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px 34px;
}
.sd3d-title{
  margin: 0;
  font-family: 'Cinzel', serif;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: clamp(34px, 4.2vw, 58px);
  color:#111;
}
.sd3d-subtitle{
  margin: 14px 0 0;
  font-family: 'Cinzel', serif;
  font-weight: 400;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  font-size: clamp(14px, 1.45vw, 20px);
  color: rgba(0,0,0,0.72);
  line-height: 1.35;
}
.sd3d-heroImg{
  width: 100%;
  height: auto;
  display:block;
}

/* Intro line under hero */
.sd3d-intro{
  background:#ffffff;
  padding: 34px 24px 46px;
}
.sd3d-intro p{
  margin: 0 auto;
  max-width: 980px;
  text-align:center;
  color: rgba(0,0,0,0.78);
  font-size: 12.5px;
  line-height: 1.8;
}

/* Blue technical section */
.sd3d-blue{
  background: linear-gradient(135deg, #0b46a5 0%, #2b3f9a 40%, #3a2f97 100%);
  padding: 70px 24px 88px;
  color: #fff;
}
.sd3d-blueInner{
  max-width: 1200px;
  margin: 0 auto;
  text-align:center;
}
.sd3d-miniTitle{
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: 0.92;
  margin-bottom: 18px;
}
.sd3d-scanWrap{
  width: min(520px, 92%);
  margin: 0 auto 42px;
}
.sd3d-scanWrap img{
  width:100%;
  height:auto;
  display:block;
}

/* Trio */
.sd3d-trio{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 42px;
  align-items:start;
  margin: 0 auto 54px;
  text-align:left;
}
.sd3d-cardHdr{
  font-size: 10px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  opacity: 0.92;
  margin-bottom: 8px;
}
.sd3d-legend{
  display:flex;
  align-items:center;
  gap: 10px;
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.82;
  margin-bottom: 14px;
}
.sd3d-swatch{
  width: 9px;
  height: 9px;
  border-radius: 2px;
  display:inline-block;
  flex: 0 0 auto;
  background: rgba(255,255,255,0.85);
}
.sd3d-swatch.red{ background:#ff4a4a; }
.sd3d-swatch.blue{ background:#62b4ff; }
.sd3d-swatch.white{ background: rgba(255,255,255,0.85); }

.sd3d-card img{
  width:100%;
  height:auto;
  display:block;
  /* no masking / no heavy shadow */
  border: 0;
  border-radius: 0;
  box-shadow: none;
  margin-bottom: 16px;
}
.sd3d-cardTxt{
  margin: 0;
  font-size: 10.5px;
  line-height: 1.7;
  opacity: 0.82;
}

/* Occlusal force mapping */
.sd3d-occlusion{
  margin-top: 42px;
}
.sd3d-occlusionTxt{
  margin: 0 auto 22px;
  max-width: 900px;
  font-size: 11px;
  line-height: 1.75;
  opacity: 0.88;
  text-align:center;
}
.sd3d-heatmaps{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items:center;
}
.sd3d-heatmaps img{
  width:100%;
  height:auto;
  display:block;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

/* CTA section */
.sd3d-cta{
  background:#000;
  color:#fff;
  padding: 90px 24px;
}
.sd3d-ctaInner{
  max-width: 1280px;
  margin: 0 auto;
  display:grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items:center;
}
.sd3d-ctaTitle{
  margin: 0 0 16px;
  font-family:'Cinzel', serif;
  font-weight: 500;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  font-size: clamp(26px, 3vw, 44px);
  line-height: 1.15;
  opacity: 0.92;
}
.sd3d-ctaTxt{
  margin: 0 0 24px;
  max-width: 520px;
  color: rgba(255,255,255,0.72);
  font-size: 11px;
  line-height: 1.75;
}
.sd3d-ctaBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 22px;
  border-radius: 999px;
  text-decoration:none;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.6px;
  color:#fff;
  background: linear-gradient(135deg, rgba(90,160,255,0.9), rgba(130,90,255,0.9));
  box-shadow: 0 10px 26px rgba(0,0,0,0.38);
}
.sd3d-ctaRight img{
  width:100%;
  height:auto;
  display:block;
  border:0;
  border-radius:0;
  box-shadow:none;
  object-fit: contain;
}

/* Responsive */
@media (max-width: 980px){
  .sd3d-trio{ grid-template-columns: 1fr; gap: 34px; text-align:center; }
  .sd3d-card{ text-align:center; }
  .sd3d-legend{ justify-content:center; }
  .sd3d-heatmaps{ grid-template-columns: 1fr; gap: 26px; }
  .sd3d-ctaInner{ grid-template-columns: 1fr; gap: 34px; }
  .sd3d-ctaRight{ order: -1; }
  .sd3d-ctaTxt{ margin-left:auto; margin-right:auto; }
  .sd3d-ctaLeft{ text-align:center; }
}


/* ===== 3D CTA FULL BACKGROUND UPDATE v38 ===== */

.panel-3d-cta {
  position: relative;
  padding: 160px 80px;
  background: url('images/3d_cta_bk.jpg') center center / cover no-repeat;
  color: #fff;
  overflow: hidden;
}

.panel-3d-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.85) 0%,
    rgba(0,0,0,0.75) 40%,
    rgba(0,0,0,0.4) 70%,
    rgba(0,0,0,0.2) 100%
  );
  z-index: 1;
}

.cta-inner {
  position: relative;
  z-index: 2;
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.cta-left {
  max-width: 620px;
}

.cta-left h2 {
  font-size: 54px;
  line-height: 1.1;
  letter-spacing: 1px;
  margin-bottom: 30px;
}

.cta-left p {
  font-size: 18px;
  opacity: 0.85;
  margin-bottom: 40px;
  line-height: 1.7;
}

/* Hide old stacked image if still present */
.cta-right {
  display: none !important;
}


/* ===== 3D CTA FULL BACKGROUND FIX v39 ===== */
/* This overrides earlier .sd3d-cta styles so the background image covers the whole CTA section */
.sd3d-cta{
  position: relative;
  padding: 160px 80px;
  background: url('images/3d_cta_bk.jpg') center center / cover no-repeat !important;
  color:#fff;
  overflow:hidden;
}
.sd3d-cta::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.88) 0%,
    rgba(0,0,0,0.78) 42%,
    rgba(0,0,0,0.45) 72%,
    rgba(0,0,0,0.20) 100%
  );
  z-index:1;
}
.sd3d-ctaInner{
  position: relative;
  z-index:2;
  max-width: 1280px;
  margin: 0 auto;
  display:flex !important;
  align-items:center;
}
/* Remove the right column entirely (we're using the background now) */
.sd3d-ctaRight{ display:none !important; }

@media (max-width: 980px){
  .sd3d-cta{ padding: 110px 22px; }
  .sd3d-ctaInner{ display:block !important; }
}



/* ===== PROVISIONALS PANEL (MOCK-UP & PROVISIONAL F.T.P) v40 ===== */
.prov-top{
  padding: 70px 24px 26px;
  text-align: center;
  background: #ffffff;
}
.prov-title{
  margin: 0;
  font-size: 44px;
  line-height: 1.1;
  letter-spacing: .06em;
  text-transform: uppercase;
  font-family: "Cinzel", "Playfair Display", "Times New Roman", serif;
}
@media (max-width: 720px){
  .prov-title{ font-size: 30px; }
  .prov-top{ padding-top: 52px; }
}

.prov-split{
  background:#ffffff;
}
.prov-splitGrid{
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 0;
}
.prov-fig{
  margin:0;
  overflow:hidden;
  background:#000;
}
.prov-fig img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.prov-figRight img{
  object-fit: cover;
}
@media (max-width: 980px){
  .prov-splitGrid{ grid-template-columns: 1fr; }
}

.prov-intro{
  background:#ffffff;
  padding: 26px 22px 54px;
  text-align:center;
}
.prov-intro p{
  max-width: 860px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 1.6;
  opacity: .85;
}

.prov-video{
  background:#43b02a; /* vibrant green like reference */
  padding: 120px 22px;
  text-align:center;
}
.prov-videoInner{
  max-width: 1100px;
  margin:0 auto;
}
.prov-videoLabel{
  font-family: "Playfair Display", "Times New Roman", serif;
  font-size: 34px;
  font-weight: 600;
  color:#0b0b0b;
}

.prov-smile{
  background:#000;
  padding: 0;
}
.prov-smileInner{
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}
.prov-smileImg{
  width:100%;
  display:block;
}
.prov-quoteImg{
  position:absolute;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: min(900px, 92%);
  height:auto;
  display:block;
  opacity: .98;
}
@media (max-width: 720px){
  .prov-quoteImg{ bottom: 10px; }
  .prov-video{ padding: 90px 18px; }
}



/* ===== PREMIUM START CASE HEADER BUTTON ===== */
.nav-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 38px;
    border-radius: 999px;
    background: linear-gradient(135deg, #3E7BCE, #2E66B8);
    color: #ffffff !important;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 6px 20px rgba(46, 102, 184, 0.35);
}

.nav-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(46, 102, 184, 0.45);
    background: linear-gradient(135deg, #4A8CE0, #2E66B8);
}


/* ===== ULTRA PREMIUM START YOUR CASE HEADER BUTTON ===== */
.nav-cta {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 18px 60px;
    border-radius: 999px;
    background: linear-gradient(135deg, #4C6EDB, #2F6FBF);
    color: #ffffff !important;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 3px;
    text-transform: uppercase;
    text-decoration: none;
    transition: all 0.35s ease;
    box-shadow: 
        0 10px 40px rgba(47, 111, 191, 0.35),
        inset 0 1px 0 rgba(255,255,255,0.2);
}

/* Inner subtle glass outline */
.nav-cta::before {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.35);
    pointer-events: none;
}

/* Hover effect */
.nav-cta:hover {
    transform: translateY(-3px);
    box-shadow: 
        0 18px 50px rgba(47, 111, 191, 0.45),
        inset 0 1px 0 rgba(255,255,255,0.3);
}


/* ===== HEADER CTA: START YOUR CASE (Hero-matched, single pill) ===== */
.nav-cta-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding: 13px 40px;
    border-radius: 999px;
    background: linear-gradient(135deg, #3A6FD8 0%, #5B3FA6 100%);
    color:#fff !important;
    font-weight:500;
    font-size:14px;
    letter-spacing:2.5px;
    text-transform:uppercase;
    text-decoration:none;
    border:1px solid rgba(255,255,255,0.18);
    box-shadow: 0 8px 28px rgba(58,111,216,0.35);
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.nav-cta-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 14px 36px rgba(91,63,166,0.45);
    background: linear-gradient(135deg, #4A7EE5 0%, #6B4CC2 100%);
}

/* Keep the CTA list item clean (prevents double-pill look) */
li.nav-cta{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}


/* ===== HEADER CTA FIX: FORCE FILLED HERO-GRADIENT PILL (NO OUTLINE-ONLY) ===== */
header .nav-cta .nav-cta-btn,
.site-header .nav-cta .nav-cta-btn,
#siteHeader .nav-cta .nav-cta-btn,
.nav-cta .nav-cta-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding: 14px 44px !important;
    border-radius: 999px !important;

    /* Hero-style gradient */
    background: linear-gradient(135deg, #3A6FD8 0%, #5B3FA6 100%) !important;

    color:#ffffff !important;
    font-weight:600 !important;
    font-size:14px !important;
    letter-spacing:2.6px !important;
    text-transform:uppercase !important;
    text-decoration:none !important;

    /* Single-pill premium depth (no duplicate pill) */
    border: 1px solid rgba(255,255,255,0.22) !important;
    box-shadow:
        0 10px 28px rgba(20, 60, 140, 0.30),
        inset 0 1px 0 rgba(255,255,255,0.20) !important;

    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}

/* Subtle inner highlight using inset shadow (no ::before layer = no "double pill") */
header .nav-cta .nav-cta-btn:hover,
.site-header .nav-cta .nav-cta-btn:hover,
#siteHeader .nav-cta .nav-cta-btn:hover,
.nav-cta .nav-cta-btn:hover{
    transform: translateY(-2px) !important;
    box-shadow:
        0 16px 40px rgba(60, 50, 150, 0.38),
        inset 0 1px 0 rgba(255,255,255,0.28) !important;
    filter: brightness(1.06) saturate(1.05) !important;
}

/* Ensure list item wrapper never paints a second pill behind */
li.nav-cta{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}


/* ===== HEADER CTA REFINED SIZE (More Balanced) ===== */
.nav-cta .nav-cta-btn{
    padding: 10px 28px !important;
    font-size: 12.5px !important;
    letter-spacing: 2px !important;
    border-radius: 999px !important;
}


/* ===== HEADER CTA SIZE OVERRIDE (FORCE) v46 ===== */
header .nav-cta .nav-cta-btn,
.site-header .nav-cta .nav-cta-btn,
#siteHeader .nav-cta .nav-cta-btn,
.nav-cta .nav-cta-btn{
    padding: 10px 28px !important;
    font-size: 12.5px !important;
    letter-spacing: 2px !important;
    line-height: 1 !important;
}


/* ===== Pricelist form shake on validation error ===== */
@keyframes omegaShake {
  0%, 100% { transform: translateX(0); }
  15% { transform: translateX(-10px); }
  30% { transform: translateX(8px); }
  45% { transform: translateX(-6px); }
  60% { transform: translateX(4px); }
  75% { transform: translateX(-2px); }
}

.omega-pl-card.is-shake,
.omega-pl-shell.is-shake,
#pricelistModal .is-shake {
  animation: omegaShake 0.52s ease;
}

/* Stronger status message styling when shown */
#pricelistStatus {
  margin-top: 12px;
  font-weight: 500;
}


/* ===== Blur website background when video plays ===== */
.video-blur-active main,
.video-blur-active header,
.video-blur-active footer,
.video-blur-active section {
  filter: blur(8px);
  transition: filter 0.4s ease;
}

.video-blur-active #videoModal {
  filter: none !important;
}


/* ===== VIDEO MODAL Z-INDEX FIX (Bring in front of header) ===== */
#videoModal,
#videoModal .omega-video-shell,
#videoModal .omega-video-card {
  position: relative;
  z-index: 9999 !important;
}

.modal-overlay-video,
#videoModal {
  z-index: 9998 !important;
}

/* Ensure header stays below video when active */
header,
.site-header {
  z-index: 100 !important;
}

/* Optional cinematic depth */
.video-blur-active #videoModal video {
  transform: scale(1.02);
  transition: transform 0.4s ease;
}


/* ===== VIDEO MODAL: FORCE ABOVE HEADER (v51) ===== */
/* Video overlay itself must be positioned + z-indexed */
#videoModal.modal-overlay,
#videoModal.modal-overlay.open,
#videoModal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 20000 !important;
}

/* The dialog */
#videoModal .modal.modal-video{
  position: relative !important;
  z-index: 20001 !important;
}

/* Keep header below when video is active (belt + braces) */
.video-blur-active header,
.video-blur-active .site-header{
  z-index: 50 !important;
}

/* ===== Mock-Up & Provisional F.T.P Panel (mftp) ===== */
.mftp{
  background:#000;
  color:#fff;
  padding:48px 6vw 70px;
}

.mftp-head{
  text-align:center;
  margin-bottom:30px;
}

.mftp-title{
  font-family: "Cinzel", serif;
  font-weight: 500;
  letter-spacing: 1px;
  font-size: 34px;
  margin: 0;
}

.mftp-top{
  display:grid;
  grid-template-columns: 1.25fr .85fr;
  gap: 28px;
  align-items: start;
  margin-top: 18px;
}

.mftp-leftMedia img,
.mftp-right img,
.mftp-smile img{
  width:100%;
  height:auto;
  display:block;
  border-radius: 12px;
}

.mftp-leftText{
  margin-top: 14px;
}

.mftp-mini{
  font-size: 14px;
  line-height: 1.25;
  opacity: .92;
  text-align:center;
}

.mftp-mini span{ opacity:.8; }

.mftp-body{
  margin: 14px auto 0;
  max-width: 520px;
  font-size: 14.5px;
  line-height: 1.6;
  opacity: .9;
  text-align:center;
}

.mftp-video{
  margin: 54px 0 10px;
}

.mftp-videoFrame{
  height: 280px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: radial-gradient(120% 120% at 20% 10%, rgba(90,140,255,.18), rgba(0,0,0,.92));
  display:flex;
  align-items:center;
  justify-content:center;
}

.mftp-videoLabel{
  font-family: "Cinzel", serif;
  letter-spacing: 1px;
  font-size: 26px;
  opacity: .7;
}

.mftp-mid{ margin-top: 46px; }

.mftp-faces{
  display:grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 18px;
  align-items: center;
}

.mftp-face{
  width:100%;
  border-radius: 16px;
  display:block;
}

.mftp-midText{
  text-align:center;
  padding: 10px 10px;
}

.mftp-midText h2{
  margin:0 0 10px;
  font-family:"Cinzel", serif;
  font-weight: 500;
  letter-spacing: 1px;
  font-size: 26px;
}

.mftp-midText p{
  margin:0;
  font-size: 14px;
  line-height: 1.6;
  opacity:.88;
}

.mftp-smile{ margin-top: 18px; }

.mftp-quote{ margin-top: 18px; }

.mftp-quoteInner{
  display:flex;
  gap: 16px;
  align-items: flex-start;
  padding: 18px 18px;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.10);
}

.mftp-quoteAvatar{
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 10px;
  flex: 0 0 auto;
  opacity:.95;
}

.mftp-quoteInner p{
  margin:0;
  font-size: 13.5px;
  line-height: 1.65;
  opacity:.92;
}

@media (max-width: 980px){
  .mftp-top{ grid-template-columns: 1fr; }
  .mftp-faces{ grid-template-columns: 1fr; }
  .mftp-quoteInner{ flex-direction: column; }
  .mftp-quoteAvatar{ width: 64px; height: 64px; }
  .mftp-title{ font-size: 28px; }
}


/* =========================================================
   Mock-up & Provisional F.T.P panel (mftp) — reference rebuild
   ========================================================= */

body.panel-provisionals-open .panel-content{
  padding: 0 !important; /* edge-to-edge inside reveal panel */
}

.mftp{
  background:#000;
  color:#fff;
  border-radius: 20px;
  overflow:hidden;
}

/* HERO */
.mftp-hero{
  position:relative;
  width:100%;
  height:65vh;              /* cinematic */
  min-height:520px;
  background: url("images/mftp_hero.jpg") center center / cover no-repeat;
  background-color:#000;
}
.mftp-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0.55) 55%, rgba(0,0,0,0.92) 100%);
}
.mftp-heroInner{
  position:relative;
  z-index:2;
  padding: 70px 34px 44px;
  text-align:center;
  max-width: 980px;
  margin: 0 auto;
}

.mftp-heroTitle{
  margin: 0 0 16px;
  font-family: "Cinzel", "Playfair Display", "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 46px;
  line-height: 1.06;
  text-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.mftp-heroBadge{
  display:block;
  margin: 0 auto 18px;
  width: min(340px, 78%);
  height:auto;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,0.55));
}

.mftp-heroModelWrap{
  display:grid;
  justify-items:center;
  gap: 12px;
  margin-top: 10px;
}

.mftp-heroModel{
  width: min(520px, 88%);
  height:auto;
  display:block;
  filter: drop-shadow(0 18px 40px rgba(0,0,0,0.55));
}

.mftp-mini{
  font-family: "Playfair Display", "Times New Roman", serif;
  font-style: italic;
  font-size: 15px;
  line-height: 1.25;
  opacity: .92;
}
.mftp-mini span{
  display:inline-block;
  margin-top: 4px;
  font-size: 13px;
  opacity: .85;
}

.mftp-heroBody{
  margin: 16px auto 0;
  max-width: 760px;
  font-size: 14px;
  line-height: 1.65;
  opacity: .92;
}

/* VIDEO */
.mftp-video{
  padding: 46px 34px 56px;
  background:#000;
}
.mftp-videoFrame{
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(255,255,255,0.04);
  min-height: 280px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.mftp-videoLabel{
  font-family: "Playfair Display", "Times New Roman", serif;
  font-size: 34px;
  font-weight: 600;
  opacity: .95;
}

/* MID */
.mftp-mid{
  background:#000;
  padding: 0 0 22px;
}
.mftp-faces{
  display:grid;
  grid-template-columns: 1fr 1.1fr 1fr;
  gap: 18px;
  align-items:center;
  padding: 20px 34px 18px;
}
.mftp-face{
  width:100%;
  height: auto;
  display:block;
  object-fit: cover;
  filter: drop-shadow(0 14px 34px rgba(0,0,0,0.55));
}
.mftp-midText{
  text-align:left;
}
.mftp-midText h2{
  margin:0 0 10px;
  font-family:"Cinzel", "Playfair Display", "Times New Roman", serif;
  font-weight:500;
  letter-spacing: .04em;
  text-transform: uppercase;
  line-height:1.1;
  font-size: 30px;
}
.mftp-midText p{
  margin:0;
  font-size: 14px;
  line-height: 1.65;
  opacity: .9;
}

.mftp-smile img{
  width:100%;
  display:block;
  height:auto;
}

/* QUOTE */
.mftp-quote{
  background:#0b0b0b;
  padding: 16px 34px 26px;
}
.mftp-quoteInner{
  display:grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  align-items:center;
  max-width: 980px;
  margin: 0 auto;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 16px;
  padding: 14px 16px;
}
.mftp-quoteAvatar{
  width: 96px;
  height: auto;
  border-radius: 10px;
  display:block;
  opacity: .95;
}
.mftp-quoteInner p{
  margin:0;
  font-size: 13px;
  line-height: 1.55;
  opacity: .92;
}
.mftp-quoteInner em{ opacity: .95; }

@media (max-width: 980px){
  .mftp-hero{ min-height: 460px; }
  .mftp-heroInner{ padding: 56px 18px 36px; }
  .mftp-heroTitle{ font-size: 34px; }
  .mftp-video{ padding: 34px 18px 44px; }
  .mftp-videoLabel{ font-size: 28px; }
  .mftp-faces{
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px 18px 14px;
    text-align:center;
  }
  .mftp-midText{ text-align:center; }
  .mftp-midText h2{ font-size: 26px; }
  .mftp-quote{ padding: 14px 18px 22px; }
  .mftp-quoteInner{
    grid-template-columns: 1fr;
    text-align:center;
    justify-items:center;
  }
}


/* ===== MFTP (Mock-up & Provisional F.T.P) — Full-bleed hero image ===== */
.mftp-heroFull{
  position: relative;
  width: calc(100% + 80px);     /* cancel panel padding */
  margin: -40px -40px 0;        /* pull to edges + top */
  height: 82vh;                 /* immersive */
  min-height: 520px;
  overflow: hidden;
  border-radius: 0;             /* keep clean full-bleed */
}
.mftp-heroFull img{
  width: 100%;
  height: 100%;
  object-fit: cover;            /* fill panel */
  object-position: center;
  display: block;
}

@media (max-width: 820px){
  .mftp-heroFull{
    height: 62vh;
    min-height: 360px;
    margin: -24px -24px 0;
    width: calc(100% + 48px);
  }
}



/* ===== MFTP Hero Background (Image as background with overlay text) ===== */
.mftp-heroBG{
  position: relative;
  width: calc(100% + 80px);
  margin: -40px -40px 0;
  min-height: 82vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #ffffff;
  background: url('images/mockup_1.jpg') center top / cover no-repeat;
}

.mftp-heroBG::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.55), rgba(0,0,0,0.65));
}

.mftp-heroContent{
  position: relative;
  z-index: 2;
  max-width: 900px;
  padding: 40px 20px;
}

.mftp-heroTitleOverlay{
  font-family: 'Cinzel', serif;
  font-size: 42px;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.mftp-heroSubtitle{
  font-family: 'Lato', sans-serif;
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.95;
}

@media (max-width: 820px){
  .mftp-heroBG{
    margin: -24px -24px 0;
    width: calc(100% + 48px);
    min-height: 60vh;
  }
  .mftp-heroTitleOverlay{
    font-size: 28px;
  }
}



/* =====================================================================
   MFTP Panel — Match reference vertical layout (hero bg + video + faces)
   ===================================================================== */
.mftp{
  background:#000;
  color:#fff;
  font-family: 'Lato', sans-serif;
}
.mftp h1, .mftp h2{
  font-family: 'Cinzel', serif;
  font-weight: 400;
  letter-spacing: 1.2px;
}
.mftp p{ color: rgba(255,255,255,.9); }

/* HERO: background image with overlay text below (like reference) */
.mftp-heroV{
  position: relative;
  width: calc(100% + 80px);
  margin: -40px -40px 0;
  background:#000;
}
.mftp-heroImg{
  background-color:#000;
  position: relative;
  height: clamp(360px, 58vh, 620px);
  background: url('images/mockup_1.jpg') center center / cover no-repeat;
}
.mftp-heroTitle{
  position:absolute;
  left: clamp(22px, 4vw, 48px);
  top: clamp(18px, 3vw, 44px);
  font-size: clamp(20px, 2.6vw, 34px);
  text-transform: uppercase;
  margin:0;
  text-shadow: 0 2px 18px rgba(0,0,0,.55);
}
.mftp-heroText{
  padding: 18px 22px 10px;
  text-align:center;
}
.mftp-heroMini{
  font-family:'Lato', sans-serif;
  font-style: italic;
  font-size: 13px;
  line-height: 1.25;
  opacity:.85;
  margin: 0 0 10px;
}
.mftp-heroBody{
  max-width: 640px;
  margin: 0 auto 6px;
  font-size: 14px;
  line-height: 1.45;
  opacity: .92;
}

/* VIDEO placeholder */
.mftp-videoV{
  display:flex;
  align-items:center;
  justify-content:center;
  height: clamp(240px, 34vh, 420px);
  text-align:center;
}
.mftp-videoV .mftp-videoLabel{
  font-family:'Cinzel', serif;
  font-size: clamp(22px, 3vw, 42px);
  opacity:.92;
}

/* MID: faces left/right with centered copy */
.mftp-midV{
  position: relative;
  padding: 26px 18px 24px;
}
.mftp-facesRow{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 16px;
  max-width: 980px;
  margin: 0 auto;
}
.mftp-faceCircle{
  width: clamp(92px, 18vw, 180px);
  aspect-ratio: 1/1;
  border-radius: 999px;
  overflow:hidden;
  flex: 0 0 auto;
  background: rgba(255,255,255,.06);
}
.mftp-faceCircle img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.mftp-midCopy{
  text-align:center;
  flex: 1 1 auto;
  padding: 0 8px 10px;
  min-width: 180px;
}
.mftp-midCopy h2{
  margin: 0 0 10px;
  font-size: clamp(18px, 2.4vw, 30px);
  text-transform: uppercase;
  line-height: 1.1;
}
.mftp-midCopy p{
  margin:0;
  font-size: 13px;
  line-height: 1.45;
  opacity:.9;
  max-width: 520px;
  margin-left:auto;
  margin-right:auto;
}

/* Smile image full width */
.mftp-smileV{
  width: calc(100% + 80px);
  margin: 14px -40px 0;
}
.mftp-smileV img{
  width:100%;
  height:auto;
  display:block;
}

/* Quote bar */
.mftp-quoteV{
  width: calc(100% + 80px);
  margin: 0 -40px -40px;
  background: #3b3b3b;
  padding: 14px 18px;
}
.mftp-quoteInnerV{
  max-width: 980px;
  margin: 0 auto;
  display:flex;
  align-items:center;
  gap: 14px;
}
.mftp-quoteAvatarV{
  width: 64px;
  height: 64px;
  border-radius: 6px;
  overflow:hidden;
  flex:0 0 auto;
  background: rgba(255,255,255,.08);
}
.mftp-quoteAvatarV img{
  width:100%;
  height:100%;
  object-fit: cover;
  display:block;
}
.mftp-quoteInnerV p{
  margin:0;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(255,255,255,.95);
}
.mftp-quoteInnerV em{ font-style: italic; }

/* Mobile padding alignment: panel uses 24px padding */
@media (max-width: 820px){
  .mftp-heroV{ width: calc(100% + 48px); margin: -24px -24px 0; }
  .mftp-smileV{ width: calc(100% + 48px); margin: 14px -24px 0; }
  .mftp-quoteV{ width: calc(100% + 48px); margin: 0 -24px -24px; }
  .mftp-midCopy{ padding-bottom: 0; }
}



/* ===== MFTP first section image ===== */
.mftp-firstShot{
  background:#000;
  padding: 0;
}
.mftp-firstShot img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#000;
}


body.panel-open{
  overflow:hidden;
}

#revealPanel{
  max-height:calc(100vh - 32px);
}

#revealPanel .panel-close:hover{
  background:rgba(0,0,0,0.78);
}

.mftp-videoV{
  display:block;
  height:auto;
  background:#000;
}

.mftp-videoPlayer{
  display:block;
  width:100%;
  height:auto;
  min-height:320px;
  max-height:82vh;
  object-fit:cover;
  background:#000;
}

.mftp-beforeAfterSection{
  position:relative;
  min-height:620px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background-image:url("/images/mockup-before-after.png");
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  background-color:#000;
  isolation:isolate;
}

.mftp-beforeAfterSection::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.18) 40%, rgba(0,0,0,0.58) 100%);
  z-index:0;
}

.mftp-beforeAfterOverlay{
  position:relative;
  z-index:1;
  width:100%;
  padding:44px 26px 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:620px;
}

.mftp-beforeAfterSection .mftp-midCopy{
  max-width:760px;
  margin:0 auto;
  padding:0;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.mftp-beforeAfterSection .mftp-midCopy h2{
  font-size:clamp(24px,3.1vw,38px);
  letter-spacing:.08em;
  text-shadow:0 3px 18px rgba(0,0,0,0.35);
}

.mftp-beforeAfterSection .mftp-midCopy p{
  font-size:15px;
  line-height:1.6;
  max-width:620px;
  text-shadow:0 3px 14px rgba(0,0,0,0.34);
}

@media (max-width: 820px){
  .mftp-videoPlayer{
    min-height:220px;
  }
  .mftp-beforeAfterSection{
    min-height:420px;
    background-position:center center;
    background-size:contain;
  }
  .mftp-beforeAfterOverlay{
    padding:30px 18px 28px;
    min-height:420px;
  }
}

.mftp-finalV{
  width:100%;
  min-height:620px;
  background-image:url("/images/mockup-final.png");
  background-position:center center;
  background-repeat:no-repeat;
  background-size:contain;
  background-color:#000;
}

@media (max-width: 820px){
  .mftp-finalV{
    min-height:420px;
    background-position:center center;
    background-size:contain;
  }
}


/* ===== All-On-X panel image section ===== */
.aox-panel{
  width:100%;
  background:#000;
}

.aox-section{
  width:100%;
  padding:0;
  margin:0;
  background:#000;
}

.aox-image{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  margin:0 auto;
  background:#000;
}

#revealPanel .panel-content .aox-panel,
#revealPanel .panel-content .aox-section{
  padding:0 !important;
  margin:0 !important;
}


/* ===== Nylon Splints Panel ===== */
.nyl-panel{
  width:100%;
  background:#000;
}

.nyl-hero{
  width:100%;
  margin:0;
  padding:0;
  background:#000;
}

.nyl-heroMedia{
  position:relative;
  width:100%;
  aspect-ratio:1499 / 999;
  min-height:680px;
  background:#000;
  overflow:hidden;
}

.nyl-heroImg{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  background:#000;
}

#revealPanel .panel-content .nyl-panel,
#revealPanel .panel-content .nyl-hero{
  padding:0 !important;
  margin:0 !important;
}

@media (max-width: 1200px){
  .nyl-heroMedia{ min-height:620px; }
}

@media (max-width: 900px){
  .nyl-heroMedia{ min-height:500px; }
}

@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }

  .nyl-heroMedia{
    min-height:360px;
    aspect-ratio:4 / 5;
  }
  .nyl-heroImg{
    object-position:center top;
  }
}



/* ===== Veneers Panel ===== */
.ven-panel{
  width:100%;
  background:#000;
}
.ven-section{
  width:100%;
  margin:0;
  padding:0;
}
.ven-section--hero{
  display:block;
  background:#000;
}
.ven-heroImg{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#000;
}
.ven-section--video{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:clamp(28px, 3.4vw, 56px) clamp(20px, 3vw, 42px);
  background:linear-gradient(180deg, #050505 0%, #0c0c0c 100%);
}
.ven-videoSplit{
  width:min(1240px, 100%);
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr);
  gap:clamp(24px, 4.8vw, 72px);
  align-items:center;
}
.ven-videoMediaWrap{
  position:relative;
}
.ven-video{
  display:block;
  width:100%;
  height:auto;
  max-height:min(70vh, 780px);
  object-fit:contain;
  object-position:center center;
  background:#000;
}
.ven-videoCopy{
  position:relative;
  padding-left:clamp(18px, 2vw, 28px);
}
.ven-videoCopy::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:1px;
  height:100%;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(105,214,255,.55), rgba(255,255,255,.06));
}
.ven-eyebrow{
  display:block;
  margin-bottom:14px;
  color:#72dbff;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.ven-videoTitle{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.08;
}
.ven-videoText{
  margin:0 0 14px;
  color:rgba(255,255,255,.82);
  font-size:clamp(15px, 1.28vw, 18px);
  line-height:1.8;
}
#revealPanel .panel-content .ven-panel,
#revealPanel .panel-content .ven-section{
  padding:0 !important;
  margin:0 !important;
}
#revealPanel .panel-content .ven-section--video{
  padding:clamp(28px, 3.4vw, 56px) clamp(20px, 3vw, 42px) !important;
}

/* ===== Implants Panel ===== */
.imp-panel{
  width:100%;
  background:#000;
}
.imp-section{
  width:100%;
  margin:0;
  padding:0;
  background:#000;
}
.imp-image{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  margin:0 auto;
  background:#000;
}
.imp-section--video{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:clamp(28px, 3.6vw, 58px) clamp(20px, 3vw, 42px);
  background:linear-gradient(180deg, #050505 0%, #0d0d0d 100%);
}
.imp-split{
  width:min(1240px, 100%);
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
  gap:clamp(24px, 5vw, 72px);
  align-items:center;
}
.imp-mediaWrap{
  position:relative;
}
.imp-mediaWrap::after{
  content:"";
  position:absolute;
  right:calc(clamp(24px, 5vw, 72px) * -0.5);
  top:10%;
  width:1px;
  height:80%;
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(105,214,255,.55), rgba(255,255,255,.05));
}
.imp-video{
  display:block;
  width:100%;
  height:auto;
  max-height:min(72vh, 860px);
  object-fit:contain;
  object-position:center center;
  background:#000;
}
.imp-copy{
  padding-left:clamp(8px, 1vw, 12px);
}
.imp-eyebrow{
  display:block;
  margin-bottom:14px;
  color:#72dbff;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.imp-title{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(30px, 3.2vw, 44px);
  line-height:1.06;
  letter-spacing:-.02em;
}
.imp-text{
  margin:0 0 16px;
  color:rgba(255,255,255,.84);
  font-size:clamp(15px, 1.3vw, 18px);
  line-height:1.82;
}
.imp-text--subtle{
  color:rgba(255,255,255,.62);
}
#revealPanel .panel-content .imp-panel,
#revealPanel .panel-content .imp-section{
  padding:0 !important;
  margin:0 !important;
}

/* ===== Shade Guide Panel ===== */
.shade-panel{
  width:100%;
  background:#050505;
  color:#fff;
}
.shade-section{
  width:100%;
  margin:0;
  padding:0;
  background:#050505;
}
.shade-section + .shade-section{
  border-top:1px solid rgba(255,255,255,.06);
}
.shade-section--hero{
  position:relative;
  min-height:min(92vh, 1080px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#000;
}
.shade-heroImg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.98) brightness(.76);
}
.shade-section--hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.2) 0%, rgba(0,0,0,.28) 22%, rgba(0,0,0,.58) 100%);
}
.shade-heroOverlay{
  position:relative;
  z-index:2;
  width:min(980px, calc(100% - 48px));
  text-align:center;
  padding:clamp(48px, 8vw, 100px) 0;
}
.shade-kicker,
.shade-eyebrow{
  display:block;
  margin-bottom:14px;
  color:#72dbff;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.shade-heroTitle{
  margin:0 0 18px;
  font-size:clamp(44px, 8vw, 104px);
  line-height:.96;
  letter-spacing:.04em;
}
.shade-heroSub{
  margin:0 auto 18px;
  max-width:860px;
  font-size:clamp(18px, 2vw, 28px);
  line-height:1.55;
  color:rgba(255,255,255,.94);
}
.shade-heroDesc,
.shade-text{
  margin:0;
  color:rgba(255,255,255,.8);
  font-size:clamp(15px, 1.25vw, 18px);
  line-height:1.82;
}
.shade-section--intro,
.shade-section--workflow,
.shade-section--principles,
.shade-section--cta{
  padding:clamp(56px, 8vw, 120px) clamp(20px, 3.5vw, 56px);
}
.shade-copyWrap{
  width:min(520px, 100%);
}
.shade-copyWrap--center{
  width:min(980px, 100%);
  margin:0 auto;
  text-align:center;
}
.shade-copyWrap--narrow{
  width:min(800px, 100%);
}
.shade-title{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(30px, 3.3vw, 48px);
  line-height:1.06;
  letter-spacing:-.02em;
}
.shade-text--muted{
  color:rgba(255,255,255,.58);
}
.shade-section--split,
.shade-section--tryin{
  padding:clamp(36px, 5vw, 72px) clamp(20px, 3.5vw, 56px);
}
.shade-split{
  width:min(1260px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .92fr);
  gap:clamp(24px, 4.8vw, 72px);
  align-items:center;
}
.shade-split--reverse{
  grid-template-columns:minmax(320px, .92fr) minmax(0, 1.08fr);
}
.shade-mediaWrap{
  position:relative;
  overflow:hidden;
  background:#000;
}
.shade-image{
  display:block;
  width:100%;
  height:auto;
  background:#000;
}
.shade-image--full{
  width:min(1260px, 100%);
  margin:clamp(28px, 4vw, 44px) auto 0;
}
.shade-points{
  margin:20px 0 0;
  padding:0;
  list-style:none;
}
.shade-points li{
  position:relative;
  margin:0 0 12px;
  padding-left:18px;
  color:rgba(255,255,255,.82);
  font-size:clamp(15px, 1.24vw, 18px);
  line-height:1.72;
}
.shade-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#72dbff;
  box-shadow:0 0 0 6px rgba(114,219,255,.08);
}
.shade-principlesGrid{
  width:min(1260px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(16px, 2vw, 24px);
}
.shade-principleCard{
  padding:28px 24px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
.shade-cardNo{
  display:block;
  margin-bottom:18px;
  color:#72dbff;
  font-size:13px;
  letter-spacing:.24em;
}
.shade-principleCard h3{
  margin:0 0 12px;
  color:#fff;
  font-size:22px;
  line-height:1.18;
}
.shade-principleCard p{
  margin:0;
  color:rgba(255,255,255,.76);
  font-size:15px;
  line-height:1.75;
}
.shade-ctaBox{
  width:min(980px, 100%);
  margin:0 auto;
  text-align:center;
  padding:clamp(28px, 4vw, 42px);
  border:1px solid rgba(114,219,255,.18);
  background:radial-gradient(circle at top, rgba(114,219,255,.08), rgba(114,219,255,.01) 48%, rgba(255,255,255,.01) 100%);
}
.shade-ctaBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:28px;
  min-width:190px;
  padding:14px 24px;
  border-radius:999px;
  border:1px solid rgba(114,219,255,.42);
  color:#fff;
  text-decoration:none;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-size:12px;
  background:linear-gradient(135deg, rgba(114,219,255,.22), rgba(255,255,255,.05));
}
#revealPanel .panel-content .shade-panel,
#revealPanel .panel-content .shade-section{
  padding:0 !important;
  margin:0 !important;
}
#revealPanel .panel-content .shade-section--intro,
#revealPanel .panel-content .shade-section--workflow,
#revealPanel .panel-content .shade-section--principles,
#revealPanel .panel-content .shade-section--cta{
  padding:clamp(56px, 8vw, 120px) clamp(20px, 3.5vw, 56px) !important;
}
#revealPanel .panel-content .shade-section--split,
#revealPanel .panel-content .shade-section--tryin{
  padding:clamp(36px, 5vw, 72px) clamp(20px, 3.5vw, 56px) !important;
}

@media (max-width: 980px){
  .ven-videoSplit,
  .imp-split,
  .shade-split,
  .shade-split--reverse{
    grid-template-columns:1fr;
    gap:28px;
  }
  .ven-videoCopy,
  .imp-copy{
    padding-left:0;
  }
  .ven-videoCopy::before,
  .imp-mediaWrap::after{
    display:none;
  }
  .shade-principlesGrid{
    grid-template-columns:1fr;
  }
}
@media (max-width: 768px){
  .ven-section--video,
  #revealPanel .panel-content .ven-section--video,
  .imp-section--video,
  .shade-section--split,
  .shade-section--tryin,
  #revealPanel .panel-content .shade-section--split,
  #revealPanel .panel-content .shade-section--tryin{
    padding:24px 16px !important;
  }
  .ven-video,
  .imp-video{
    max-height:min(54vh, 460px);
  }
  .shade-section--hero{
    min-height:72vh;
  }
  .shade-heroOverlay{
    width:min(100%, calc(100% - 28px));
  }
  .shade-section--intro,
  .shade-section--workflow,
  .shade-section--principles,
  .shade-section--cta,
  #revealPanel .panel-content .shade-section--intro,
  #revealPanel .panel-content .shade-section--workflow,
  #revealPanel .panel-content .shade-section--principles,
  #revealPanel .panel-content .shade-section--cta{
    padding:44px 16px !important;
  }
}

/* ===== Shade Taking image-only panel override ===== */
.shade-panel--imagesOnly{
  width:100%;
  background:#000;
}
.shade-panel--imagesOnly .shade-section--imageOnly{
  width:100%;
  margin:0;
  padding:0;
  background:#000;
  border-top:0;
}
.shade-panel--imagesOnly .shade-image--fullBleed{
  display:block;
  width:100%;
  height:auto;
  margin:0;
  background:#000;
}
#revealPanel .panel-content .shade-panel--imagesOnly,
#revealPanel .panel-content .shade-panel--imagesOnly .shade-section--imageOnly{
  padding:0 !important;
  margin:0 !important;
}


/* ===== Mock-up lab steps section ===== */
.mftp-labSteps{
  width:100%;
  padding:0;
  margin:0;
  background:#000;
}

.mftp-labSteps img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  background:#000;
}

/* Veneers statement section */
.ven-section--statement {
  position: relative;
  width: 100%;
  display: block;
  background: #000;
  overflow: hidden;
}

.ven-statementBg {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center center;
  background: #000;
}

.ven-statementOverlay {
  position: absolute;
  inset: 0;
  width: min(1200px, calc(100% - 48px));
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}

.ven-statementText {
  margin: 0;
  max-width: 1180px;
  color: #fff;
  font-weight: 400;
  font-size: clamp(18px, 2.15vw, 30px);
  line-height: 1.52;
  letter-spacing: .01em;
  text-wrap: balance;
  text-shadow: 0 2px 16px rgba(0,0,0,.40);
}

@media (max-width: 767px) {
  .ven-statementOverlay {
    width: calc(100% - 26px);
  }

  .ven-statementText {
    font-size: 16px;
    line-height: 1.55;
  }

  .ven-statementText br {
    display: none;
  }
}@media (max-width: 767px) {
  .ven-section--statement {
    min-height: 320px;
    padding: 28px 18px;
    background-position: center center;
  }

  .ven-statementText {
    font-size: 17px;
    line-height: 1.55;
  }

  .ven-statementText br {
    display: none;
  }
}

.veneers-diagram-section {
  width: 100%;
  margin: 60px 0;
}

.veneers-diagram-section img {
  width: 100%;
  height: auto;
  display: block;
}


/* ===== Dentures Panel ===== */
.dent-panel{
  width:100%;
  background:#000;
}
.dent-section{
  width:100%;
  margin:0;
  padding:0;
  background:#000;
  position:relative;
}
.dent-image,
.dent-statementBg{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  margin:0 auto;
  background:#000;
}
.dent-section--statement{
  overflow:hidden;
}
.dent-statementOverlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(24px, 4vw, 56px);
  text-align:center;
}
.dent-statementText{
  margin:0;
  width:min(900px, 100%);
  font-family:'Lato', sans-serif;
  font-size:clamp(18px, 1.65vw, 30px);
  line-height:1.7;
  font-weight:400;
  color:#000;
  text-shadow:0 1px 0 rgba(255,255,255,.06);
}
#revealPanel .panel-content .dent-panel,
#revealPanel .panel-content .dent-section{
  padding:0 !important;
  margin:0 !important;
}

@media (max-width: 900px){
  .dent-statementText{
    width:min(760px, 100%);
    font-size:clamp(16px, 2.6vw, 22px);
    line-height:1.58;
  }
}

@media (max-width: 640px){
  .oi-allonx-card{
    padding: 14px;
    border-radius: 18px;
  }
  .oi-allonx-img{
    max-height: none;
  }

  .dent-statementOverlay{
    padding:20px 18px;
  }
  .dent-statementText{
    width:min(100%, 520px);
    font-size:clamp(14px, 4vw, 18px);
    line-height:1.52;
  }
}

.mftp-importantImage{
  width:100%;
  margin:0;
  padding:0;
}
.mftp-importantImage img{
  width:100%;
  display:block;
}

/* Mock-up workflow section */
.mftp-videoV--workflow{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:clamp(28px, 3.4vw, 56px) clamp(20px, 3vw, 42px);
  background:linear-gradient(180deg, #050505 0%, #0c0c0c 100%);
}
.mftp-videoSplit{
  width:min(1240px, 100%);
  display:grid;
  grid-template-columns:minmax(0, 1.1fr) minmax(320px, .9fr);
  gap:clamp(24px, 4.8vw, 72px);
  align-items:center;
}
.mftp-videoMediaWrap{
  position:relative;
}
.mftp-videoPlayer--workflow{
  display:block;
  width:100%;
  height:auto;
  max-height:min(70vh, 780px);
  object-fit:contain;
  object-position:center center;
  background:#000;
}
.mftp-videoCopy{
  position:relative;
  padding-left:clamp(18px, 2vw, 28px);
}
.mftp-videoCopy::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:1px;
  height:100%;
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(105,214,255,.55), rgba(255,255,255,.06));
}
.mftp-videoEyebrow{
  display:block;
  margin-bottom:14px;
  color:#72dbff;
  font-size:12px;
  letter-spacing:.28em;
  text-transform:uppercase;
}
.mftp-videoTitle{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(28px, 3vw, 42px);
  line-height:1.08;
}
.mftp-videoText{
  margin:0 0 14px;
  color:rgba(255,255,255,.82);
  font-size:clamp(15px, 1.28vw, 18px);
  line-height:1.8;
}
.mftp-videoText:last-child{
  margin-bottom:0;
}

@media (max-width: 980px){
  .mftp-videoSplit{
    grid-template-columns:1fr;
    gap:24px;
  }
  .mftp-videoCopy{
    padding-left:0;
    padding-top:18px;
  }
  .mftp-videoCopy::before{
    width:100%;
    height:1px;
    top:0;
    left:0;
  }
}

@media (max-width: 768px){
  .mftp-videoV--workflow{
    padding:22px 16px 28px;
  }
  .mftp-videoTitle{
    font-size:clamp(24px, 7vw, 34px);
  }
  .mftp-videoText{
    font-size:15px;
    line-height:1.62;
  }
}


/* ===== Product Panel End CTA ===== */
.panel-end-cta{
  position:relative;
  overflow:hidden;
  padding:72px 24px;
  background:
    radial-gradient(circle at top left, rgba(79,140,255,.22), transparent 42%),
    radial-gradient(circle at bottom right, rgba(143,194,255,.16), transparent 36%),
    linear-gradient(180deg, #07111f 0%, #0d1f36 48%, #0a1728 100%);
  border-top:1px solid rgba(255,255,255,.08);
}
.panel-end-cta::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  pointer-events:none;
}
.panel-end-cta__inner{
  position:relative;
  z-index:1;
  max-width:980px;
  margin:0 auto;
  text-align:center;
  padding:36px 28px;
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.03) 100%);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 24px 80px rgba(0,0,0,.28);
}
.panel-end-cta__eyebrow{
  display:inline-block;
  margin-bottom:14px;
  font:600 12px/1.2 "Lato", sans-serif;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(214,230,255,.78);
}
.panel-end-cta__title{
  margin:0;
  font-family:"Cinzel", serif;
  font-size:clamp(28px, 4vw, 46px);
  line-height:1.15;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:#fff;
}
.panel-end-cta__text{
  max-width:760px;
  margin:18px auto 0;
  font:400 17px/1.8 "Lato", sans-serif;
  color:rgba(228,236,248,.88);
}
.panel-end-cta__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:210px;
  margin-top:28px;
  padding:14px 28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(135deg, #6fb2ff 0%, #3f7cff 50%, #2455d8 100%);
  box-shadow:0 16px 40px rgba(41,95,224,.3);
  font:700 12px/1 "Lato", sans-serif;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:#fff;
  text-decoration:none;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.panel-end-cta__button:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(41,95,224,.36);
  filter:brightness(1.03);
}
@media (max-width: 767px){
  .panel-end-cta{
    padding:54px 16px;
  }
  .panel-end-cta::before{
    inset:12px;
    border-radius:22px;
  }
  .panel-end-cta__inner{
    padding:28px 18px;
    border-radius:22px;
  }
  .panel-end-cta__title{
    font-size:clamp(24px, 8vw, 34px);
  }
  .panel-end-cta__text{
    font-size:15px;
    line-height:1.75;
  }
  .panel-end-cta__button{
    width:100%;
    min-width:0;
  }
}



/* ===== Testimonials review gallery enhancement ===== */
.omega-reviewGallerySection{
  background:
    radial-gradient(1200px 380px at 50% -10%, rgba(107,182,234,.22), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  padding: 96px 0 110px;
  min-height: auto;
}

.omega-reviewHead{
  text-align:center;
  max-width: 980px;
  margin: 0 auto 30px;
}

.omega-reviewGallerySection .t-stars{
  text-align:center;
  color:#2e7ac2;
  letter-spacing:.22em;
  font-size: 26px;
  margin: 0 0 16px;
}

.omega-reviewIntro{
  max-width: 820px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.8;
  color: rgba(14,14,16,.76);
}

.omega-reviewMarqueeWrap{
  position: relative;
  margin-top: 40px;
  overflow: hidden;
  border-radius: 28px;
  padding: 14px 0;
}

.omega-reviewTrack{
  display:flex;
  gap: 22px;
  width: max-content;
  align-items: stretch;
  animation: omegaReviewScroll 70s linear infinite;
  will-change: transform;
}

.omega-reviewMarqueeWrap:hover .omega-reviewTrack{
  animation-play-state: paused;
}

.omega-reviewShot{
  flex: 0 0 auto;
  width: clamp(280px, 28vw, 420px);
  margin: 0;
  background: rgba(255,255,255,.95);
  border: 1px solid rgba(26,81,141,.08);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(6,32,74,.10);
}

.omega-reviewShot img{
  display:block;
  width:100%;
  height:auto;
}

.omega-reviewFade{
  position:absolute;
  top:0;
  bottom:0;
  width: 90px;
  z-index: 2;
  pointer-events:none;
}

.omega-reviewFade--left{
  left:0;
  background: linear-gradient(90deg, #f9fbfe 0%, rgba(249,251,254,0) 100%);
}

.omega-reviewFade--right{
  right:0;
  background: linear-gradient(270deg, #f9fbfe 0%, rgba(249,251,254,0) 100%);
}

.omega-reviewFooter{
  margin-top: 36px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 18px;
  flex-wrap: wrap;
  text-align:center;
}

.omega-reviewFooterText{
  margin:0;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(14,14,16,.64);
}

.omega-reviewLinkBtn{
  min-width: 250px;
}

@keyframes omegaReviewScroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(calc(-50% - 11px)); }
}

@media (max-width: 900px){
  .omega-reviewGallerySection{
    padding: 82px 0 96px;
  }
  .omega-reviewIntro{
    font-size: 15px;
    line-height: 1.7;
  }
  .omega-reviewShot{
    width: clamp(260px, 78vw, 360px);
    border-radius: 20px;
  }
  .omega-reviewFade{
    width: 42px;
  }
  .omega-reviewTrack{
    gap: 16px;
    animation-duration: 56s;
  }
}

@media (prefers-reduced-motion: reduce){
  .omega-reviewTrack{
    animation: none;
  }
}



/* ===== Testimonials professional enhancement ===== */
.omega-reviewGallerySection--pro{
  position: relative;
  padding: 110px 0 120px;
  background:
    radial-gradient(1000px 500px at 50% -10%, rgba(70,150,220,.18), transparent 60%),
    linear-gradient(180deg, #fbfdff 0%, #f2f7fc 52%, #ffffff 100%);
}

.omega-reviewGallerySection--pro::before{
  content:"";
  position:absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(14,53,104,.03), transparent 18%, transparent 82%, rgba(14,53,104,.03));
  pointer-events:none;
}

.omega-reviewTopbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 20px;
  margin-bottom: 28px;
  position: relative;
  z-index: 1;
}

.omega-reviewKicker{
  font-family: 'Lato', sans-serif;
  font-size: 12px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #2b74b9;
  font-weight: 800;
}

.omega-reviewToplink{
  color: #184f8d;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 800;
  border-bottom: 1px solid rgba(24,79,141,.25);
  padding-bottom: 4px;
}

.omega-reviewToplink:hover{
  color:#0f3f76;
  border-bottom-color: rgba(15,63,118,.5);
}

.omega-reviewHero{
  display:grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, .95fr);
  gap: 32px;
  align-items: stretch;
  margin-bottom: 34px;
  position: relative;
  z-index: 1;
}

.omega-reviewHeroCopy,
.omega-reviewSpotlight{
  border: 1px solid rgba(20,76,133,.08);
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(8,36,79,.08);
}

.omega-reviewHeroCopy{
  padding: 36px 38px;
}

.omega-reviewHeroTitle{
  margin-bottom: 14px;
}

.omega-reviewIntro--pro{
  max-width: 720px;
  margin: 0 0 24px;
  font-size: 17px;
  line-height: 1.85;
}

.omega-reviewStatRow{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 14px;
}

.omega-reviewStatCard{
  padding: 18px 18px 16px;
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(241,247,253,.9));
  border: 1px solid rgba(24,79,141,.08);
}

.omega-reviewStatValue{
  font-family: 'Cinzel', serif;
  font-size: 22px;
  line-height: 1.15;
  color: #14538f;
  margin-bottom: 10px;
}

.omega-reviewStatLabel{
  font-size: 13px;
  line-height: 1.65;
  color: rgba(10,17,30,.72);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.omega-reviewSpotlight{
  padding: 30px 30px 28px;
  background:
    radial-gradient(500px 200px at 100% 0%, rgba(66,154,230,.12), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,249,253,.92));
}

.omega-reviewSpotlightEyebrow{
  font-size: 12px;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: #2a74b8;
  font-weight: 800;
  margin-bottom: 18px;
}

.omega-reviewSpotlightList{
  list-style: none;
  margin: 0;
  padding: 0;
  display:grid;
  gap: 14px;
}

.omega-reviewSpotlightList li{
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(13,18,27,.82);
}

.omega-reviewSpotlightList li::before{
  content:"";
  position:absolute;
  left:0;
  top:.8em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: linear-gradient(180deg, #3c9cff, #14538f);
  box-shadow: 0 0 0 5px rgba(60,156,255,.09);
  transform: translateY(-50%);
}

.omega-reviewMarqueeShell{
  position: relative;
  z-index: 1;
}

.omega-reviewMarqueeWrap--row1{
  margin-top: 0;
}

.omega-reviewMarqueeWrap--row2{
  margin-top: 16px;
  padding-top: 0;
}

.omega-reviewTrack--reverse{
  animation-direction: reverse;
  animation-duration: 62s;
}

.omega-reviewShot{
  width: clamp(300px, 28vw, 430px);
  border-radius: 26px;
  box-shadow: 0 20px 50px rgba(6,32,74,.12);
  background: rgba(255,255,255,.98);
}

.omega-reviewShot--compact{
  width: clamp(250px, 24vw, 360px);
}

.omega-reviewShot img{
  border-radius: inherit;
}

.omega-reviewFooter--pro{
  margin-top: 34px;
  padding-top: 4px;
}

.omega-reviewFooter--pro .omega-reviewFooterText{
  font-size: 14px;
  letter-spacing: .1em;
}

@media (max-width: 980px){
  .omega-reviewTopbar{
    flex-direction: column;
    align-items: flex-start;
  }

  .omega-reviewHero{
    grid-template-columns: 1fr;
  }

  .omega-reviewHeroCopy{
    padding: 30px 24px;
  }

  .omega-reviewSpotlight{
    padding: 24px 24px 22px;
  }

  .omega-reviewStatRow{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px){
  .omega-reviewGallerySection--pro{
    padding: 86px 0 94px;
  }

  .omega-reviewHeroCopy,
  .omega-reviewSpotlight{
    border-radius: 22px;
  }

  .omega-reviewShot{
    width: clamp(250px, 82vw, 330px);
    border-radius: 20px;
  }

  .omega-reviewShot--compact{
    width: clamp(220px, 72vw, 300px);
  }

  .omega-reviewToplink{
    font-size: 12px;
  }

  .omega-reviewIntro--pro{
    font-size: 15px;
  }
}

/* ===== Testimonials minimal refinement ===== */
.omega-reviewMinimalSection{padding:96px 0 110px;background:radial-gradient(900px 260px at 50% -10%, rgba(84,156,228,.14), transparent 60%),linear-gradient(180deg, #fbfdff 0%, #f5f9fd 58%, #ffffff 100%);} .omega-reviewMinimalHead{max-width:880px;margin:0 auto 34px;text-align:center;} .omega-reviewMinimalKicker{display:inline-block;margin-bottom:12px;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:#2a74b8;font-weight:800;} .omega-reviewMinimalTitle{margin-bottom:12px;} .omega-reviewMinimalIntro{max-width:700px;margin:0 auto;font-size:17px;line-height:1.8;color:rgba(14,14,16,.74);} .omega-reviewQuoteGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px;} .omega-reviewQuoteCard{background:rgba(255,255,255,.88);border:1px solid rgba(20,76,133,.08);border-radius:24px;padding:28px 26px 24px;box-shadow:0 16px 38px rgba(8,36,79,.08);text-align:left;} .omega-reviewQuoteStars{color:#2e7ac2;letter-spacing:.18em;font-size:18px;margin-bottom:18px;} .omega-reviewQuoteText{margin:0 0 18px;font-size:17px;line-height:1.8;color:rgba(10,14,22,.86);} .omega-reviewQuoteAuthor{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:rgba(14,14,16,.56);font-weight:700;} .omega-reviewImageStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;} .omega-reviewImageCard{margin:0;background:#fff;border:1px solid rgba(20,76,133,.08);border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(8,36,79,.08);} .omega-reviewImageCard img{display:block;width:100%;height:auto;} .omega-reviewMinimalFooter{display:flex;justify-content:center;margin-top:30px;} .omega-reviewMinimalBtn{min-width:260px;} @media (max-width:980px){.omega-reviewQuoteGrid,.omega-reviewImageStrip{grid-template-columns:1fr;}} @media (max-width:700px){.omega-reviewMinimalSection{padding:82px 0 94px;} .omega-reviewMinimalIntro,.omega-reviewQuoteText{font-size:15px;line-height:1.7;} .omega-reviewQuoteCard{padding:24px 20px 20px;border-radius:20px;} .omega-reviewImageCard{border-radius:18px;}}



/* ===== Testimonials gallery overlay refinement ===== */
.omega-reviewImageGalleryLink{
  display:block;
  margin-top: 28px;
  text-decoration: none;
  color: inherit;
}

.omega-reviewImageGallery{
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(20,76,133,.08);
  box-shadow: 0 14px 34px rgba(8,36,79,.08);
  background: #fff;
}

.omega-reviewGalleryTrack{
  display: flex;
  gap: 18px;
  width: max-content;
  padding: 0;
  animation: omegaReviewMiniScroll 28s linear infinite;
  will-change: transform;
}

.omega-reviewImageGallery:hover .omega-reviewGalleryTrack{
  animation-play-state: paused;
}

.omega-reviewImageGallery .omega-reviewImageCard{
  margin: 0;
  flex: 0 0 auto;
  width: min(32vw, 380px);
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.omega-reviewImageGallery .omega-reviewImageCard img{
  display:block;
  width:100%;
  height:auto;
}

.omega-reviewGalleryOverlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap: 10px;
  text-align:center;
  background: linear-gradient(180deg, rgba(7,17,32,.26) 0%, rgba(7,17,32,.50) 100%);
  color:#fff;
  opacity: 1;
  transition: background .25s ease, opacity .25s ease;
  pointer-events:none;
}

.omega-reviewImageGallery:hover .omega-reviewGalleryOverlay{
  background: linear-gradient(180deg, rgba(7,17,32,.18) 0%, rgba(7,17,32,.40) 100%);
}

.omega-reviewGalleryOverlayKicker{
  font-size: 12px;
  letter-spacing: .28em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(255,255,255,.88);
}

.omega-reviewGalleryOverlayText{
  font-family: 'Cinzel', serif;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.2;
  max-width: 780px;
  padding: 0 24px;
}

@keyframes omegaReviewMiniScroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(calc(-50% - 9px)); }
}

@media (max-width: 980px){
  .omega-reviewImageGallery .omega-reviewImageCard{
    width: min(68vw, 360px);
  }
}

@media (max-width: 700px){
  .omega-reviewImageGallery{
    border-radius: 18px;
  }

  .omega-reviewGalleryTrack{
    gap: 12px;
    animation-duration: 22s;
  }

  .omega-reviewImageGallery .omega-reviewImageCard{
    width: 78vw;
  }

  .omega-reviewGalleryOverlayText{
    font-size: clamp(20px, 6vw, 28px);
  }

  .omega-reviewGalleryOverlayKicker{
    font-size: 11px;
    letter-spacing: .2em;
  }
}


/* Innovation full image section */
.omega-full-image-section{
  width:100%;
  padding: 0;
  margin: 0;
  background:#fff;
}
.omega-full-image{
  width:100%;
  height:auto;
  display:block;
}


/* Hide duplicate bouncing scroll arrows */
.scroll-down,
.scroll-indicator,
.scroll-arrow,
.bounce-arrow,
.hero-scroll,
.section-scroll,
.scroll-cue,
.scroll-chevron,
[data-scroll-indicator],
[data-scroll-arrow]{
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}


/* ================================
   START YOUR CASE PAGE
   ================================ */
.start-case-page {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(3, 10, 23, 0.28), rgba(4, 10, 24, 0.42)),
    url("./images/images/workbench_bk.png") center center / cover no-repeat;
  background-color: #050b18;
}

.start-case-page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 12% 10%, rgba(10,141,234,0.22), transparent 28%),
    radial-gradient(circle at 88% 14%, rgba(122,52,150,0.22), transparent 26%),
    linear-gradient(135deg, rgba(3, 12, 28, 0.08), rgba(3, 12, 28, 0.18));
}

.start-case-shell {
  position: relative;
  z-index: 1;
  padding: 88px 0 100px;
}

.start-case-grid {
  display: grid;
  grid-template-columns: minmax(320px, 920px);
  gap: 34px;
  align-items: start;
  justify-content: center;
}

.start-case-intro,
.start-case-formWrap {
  position: relative;
  border: 1px solid rgba(140, 205, 255, 0.16);
  background: linear-gradient(180deg, rgba(7, 19, 43, 0.62), rgba(15, 23, 52, 0.46));
  box-shadow: 0 30px 80px rgba(0,0,0,0.34);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-radius: 28px;
}

.start-case-intro {
  padding: 42px 38px;
}

.start-case-formWrap {
  padding: 34px 30px 30px;
}
.start-case-formWrap::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 28px;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(10,141,234,0.08), transparent 28%, transparent 72%, rgba(122,52,150,0.08));
}


.start-case-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  font-size: 0.76rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.76);
}

.start-case-kicker::before {
  content: "";
  width: 42px;
  height: 1px;
  background: linear-gradient(90deg, #76d0ff, rgba(255,255,255,0.2));
}

.start-case-title {
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3.6vw, 3.6rem);
  line-height: 1.08;
  letter-spacing: 0.03em;
  margin-bottom: 18px;
  text-transform: uppercase;
}

.start-case-lead {
  max-width: 56ch;
  color: rgba(255,255,255,0.82);
  font-size: 1.03rem;
  line-height: 1.8;
}

.start-case-pillRow,
.start-case-steps,
.start-case-benefits {
  display: grid;
  gap: 14px;
}

.start-case-pillRow {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 28px 0 26px;
}

.start-case-pill {
  border: 1px solid rgba(118,208,255,0.22);
  border-radius: 18px;
  padding: 16px 14px;
  background: linear-gradient(180deg, rgba(8, 21, 46, 0.72), rgba(9, 18, 39, 0.58));
  text-align: center;
}

.start-case-pill strong,
.start-case-step strong,
.start-case-benefit strong {
  display: block;
  font-family: "Cinzel", serif;
  letter-spacing: 0.08em;
  font-size: 0.88rem;
  margin-bottom: 8px;
}

.start-case-pill span,
.start-case-step span,
.start-case-benefit span,
.start-case-formIntro,
.start-case-note,
.start-case-helper,
.start-case-privacy {
  color: rgba(255,255,255,0.74);
  line-height: 1.7;
}

.start-case-sectionTitle {
  font-family: "Cinzel", serif;
  font-size: 1.04rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  margin: 26px 0 16px;
}

.start-case-steps {
  margin-bottom: 24px;
}

.start-case-step,
.start-case-benefit {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 16px;
  align-items: start;
  padding: 18px 18px;
  border-radius: 18px;
  border: 1px solid rgba(118,208,255,0.12);
  background: linear-gradient(180deg, rgba(7, 20, 44, 0.68), rgba(7, 18, 38, 0.54));
}

.start-case-stepNo,
.start-case-benefitIcon {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Cinzel", serif;
  font-size: 1rem;
  color: #fff;
  background: linear-gradient(135deg, rgba(10,141,234,0.95), rgba(114,62,168,0.92));
  box-shadow: 0 14px 26px rgba(0,0,0,0.25);
}

.start-case-formTitle {
  font-family: "Cinzel", serif;
  font-size: clamp(1.6rem, 2vw, 2.2rem);
  margin-bottom: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.start-case-formIntro {
  margin-bottom: 24px;
}

.start-case-form {
  display: grid;
  gap: 18px;
}

.start-case-block {
  border-top: 1px solid rgba(255,255,255,0.08);
  padding-top: 22px;
}

.start-case-block:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.start-case-blockTitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.start-case-blockTitle h3 {
  font-family: "Cinzel", serif;
  font-size: 1rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.start-case-blockTitle span {
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(118,208,255,0.92);
}

.start-case-form .omega-form-row.two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.start-case-form .omega-form-row.one { display: block; }

.start-case-form .omega-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 0.76rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.72);
}

.start-case-form .omega-field input,
.start-case-form .omega-field select,
.start-case-form .omega-field textarea {
  width: 100%;
  border: 1px solid rgba(133, 201, 255, 0.18);
  border-radius: 16px;
  background: rgba(4, 13, 30, 0.78);
  color: #fff;
  padding: 15px 16px;
  font: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.start-case-form .omega-field textarea {
  min-height: 140px;
  resize: vertical;
}

.start-case-form .omega-field input:focus,
.start-case-form .omega-field select:focus,
.start-case-form .omega-field textarea:focus {
  outline: none;
  border-color: rgba(118,208,255,0.55);
  box-shadow: 0 0 0 4px rgba(118,208,255,0.12);
  background: rgba(8,16,30,0.94);
}

.start-case-serviceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.start-case-check {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(6,16,33,0.45);
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.start-case-check:hover {
  border-color: rgba(118,208,255,0.34);
  background: rgba(10,20,38,0.72);
  transform: translateY(-1px);
}

.start-case-check input {
  width: 18px;
  height: 18px;
  accent-color: #0a8dea;
  flex: 0 0 auto;
}

.start-case-check span {
  font-size: 0.95rem;
  color: rgba(255,255,255,0.88);
}

.start-case-consent {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 16px 0 4px;
}

.start-case-consent input {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: #0a8dea;
}

.start-case-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  border: 0;
  border-radius: 999px;
  padding: 0 30px;
  font-size: 0.92rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #fff;
  background: linear-gradient(90deg, #0a8dea, #2858af 52%, #6c398c);
  box-shadow: 0 18px 40px rgba(8,22,50,0.34);
}

.start-case-submit:hover { filter: brightness(1.05); }

.start-case-helper {
  font-size: 0.9rem;
  margin-top: 10px;
}

.start-case-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  padding-top: 6px;
}

.start-case-secondaryLink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255,255,255,0.84);
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.start-case-bottomCards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.start-case-bottomCards .start-case-benefit {
  grid-template-columns: 48px 1fr;
}

.start-case-bottomCards .start-case-benefitIcon {
  width: 48px;
  height: 48px;
  font-size: 0.86rem;
}

@media (max-width: 1100px) {
  .start-case-grid,
  .start-case-bottomCards,
  .start-case-pillRow { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .start-case-shell { padding: 52px 0 68px; }
  .start-case-intro,
  .start-case-formWrap { padding: 24px 20px; border-radius: 22px; }
  .start-case-form .omega-form-row.two,
  .start-case-serviceGrid { grid-template-columns: 1fr; }
  .start-case-title { font-size: 2.1rem; }
}


.section-heading {
  width: 100%;
  text-align: center;
  padding: 42px 0 22px;
  background: none;
}

.section-heading.section-heading--tight {
  padding-top: 34px;
}

.section-heading h2 {
  margin: 0;
  font-family: 'Cinzel', serif;
  font-size: 22px;
  letter-spacing: 4px;
  line-height: 1.2;
  color: rgba(255,255,255,0.92);
  font-weight: 500;
  position: relative;
  display: inline-block;
}

.section-heading h2::after {
  content: "";
  display: block;
  width: 62%;
  height: 1px;
  margin: 14px auto 0;
  background: none;
  opacity: 0.75;
}

@media (max-width: 768px) {
  .section-heading {
    padding: 34px 0 18px;
  }

  .section-heading h2 {
    font-size: 16px;
    letter-spacing: 2.6px;
  }
}
