@import url('https://fonts.googleapis.com/css2?family=Oxanium:wght@200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

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

:root {
    --light: #d7dbd2;
    --dark: #000;
    --sidebar-w: 220px;
    --sidebar-collapsed: 60px;
    --byoc-c-attract: #6c5ce7;
    --byoc-c-engage: #e67e22;
    --byoc-c-reward: #00b894;

    --db-orange: #FB9082;
    --db-blue: #388fe8;
    --db-bg: #050505;
    --db-dash-bg: #ffffff;
    --db-text-main: #333;

    --qs-bg-color: #000;
    --qs-card-bg: #0f111a;
    --qs-card-border: #1f2133;
    --qs-accent-primary: #EE4435; /* Electric Violet/Blue */
    --qs-accent-glow: rgba(229, 94, 70, 0.4);
    --qs-text-main: #e0e0e0;
    --qs-text-muted: #94a3b8;
    --qs-font-family: "Oxanium", sans-serif;
    --qs-transition: all 0.3s ease;
}

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html {
    overflow-x: hidden;
}

body {
    font-family: "Oxanium", sans-serif;
    background-color: var(--dark);
    opacity: 0;
    overflow-x: hidden;
}

body::-webkit-scrollbar {
    display: none;
}

body.active {
    opacity: 1;
}

@media (prefers-color-scheme: dark) {
    body { background-color: var(--dark); }
}

.hero-section {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background-color: #000000;
    z-index: 2;
}

/* Crossfade transition gradient overlay */
.hero-section::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30vh;
    background: linear-gradient(to bottom, transparent 0%, #000000 100%);
    pointer-events: none;
    z-index: 1;
}

#starCanvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.hero-section .hero-content {
    text-align: center;
    width: 100%;
    color: white;
    position: relative;
}

.hero-section .bg {
    --bg:url("../images/spaceship2.png");
    background-image: var(--bg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    filter: brightness(0.7);
    
    /* Fluid scaling based on viewport width */
    transform: scale(calc(1.7 + (100vw - 1920px) * 0.001));
    background-position: center calc(75px + (100vh - 1080px) * 0.1);
}

/* Center container for pretitle and title */
.hero-section .center-content {
    position: relative;
}

.hero-section .pretitle h3 {
    font-size: clamp(1rem, 3vw, 1.5rem);
    font-weight: 600;
    letter-spacing: 1px;
    margin-bottom: clamp(15px, 4vw, 20px);
    background-color: #EE4435;
    color: white;
    padding: clamp(10px, 3vw, 15px) clamp(12px, 3vw, 15px);
    padding-bottom: clamp(10px, 3vw, 13px); 
    display: inline-block;
    border-radius: 20px;
}

.hero-section .subtitle1, 
.hero-section .subtitle2,
.hero-section .subtitle3,
.hero-section .subtitle4 {
    position: absolute;
    left: 0;
    right: 0;
    top: 80%;
    transform: translateY(300px);
    opacity: 0;
    z-index: 2;
}

.hero-section .subtitle1 h3, 
.hero-section .subtitle2 h3,
.hero-section .subtitle3 h3 {
    font-size: clamp(2rem, 5vw, 3.2rem);
    font-weight: 700;
    margin: clamp(8px, 2vw, 10px) 0;
    max-width: min(90%, 800px);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 0 20px;
}

.hero-section .subtitle4 p {
    font-size: clamp(1.2rem, 3vw, 1.8rem);
    font-weight: 300;
    margin: clamp(8px, 2vw, 10px) 0;
    max-width: min(90%, 800px);
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    line-height: 1.4;
    color: #e0e0e0;
    padding: 0 20px;
}

.hero-content .title h1 {
    font-size: clamp(3rem, 10vw, 8rem);
    font-weight: 600;
    letter-spacing: clamp(2px, 2vw, 10px);
    margin: clamp(20px, 6vw, 40px) 0;
    transition: all 0.1s ease;
    color: #EE4435;
    z-index: 1;
    padding: 0 20px;
}

.rn-gradient-text {
    background: linear-gradient(170deg, #EE4435 44%, #72ADBB 98%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Hero section: Real Nation in solid red */
#hero-section .rn-gradient-text {
    background: none;
    -webkit-text-fill-color: #EE4435;
    color: #EE4435;
}

.rn-red-text {
    color: #EE4435;
}

/* Responsive line breaks for hero title */
.br-desktop {
    display: none;
}

.br-tablet {
    display: none;
}

.br-mobile {
    display: none;
}

/* Desktop: 1025px and above */
@media (min-width: 1025px) {
    .br-desktop {
        display: block;
    }
}

/* Tablet: 769px to 1024px */
@media (min-width: 769px) and (max-width: 1024px) {
    .br-tablet {
        display: block;
    }
}

/* Mobile: 768px and below */
@media (max-width: 768px) {
    .br-mobile {
        display: block;
    }
}


@media (max-width: 768px) {
    .hero-section .subtitle1, 
    .hero-section .subtitle2,
    .hero-section .subtitle3,
    .hero-section .subtitle4 {
        transform: translateY(200px);
    }
    
    .hero-content .title h1 {
        letter-spacing: clamp(1px, 1.5vw, 5px);
    }
}

@media (max-width: 480px) {
    .hero-section .subtitle1 h3, 
    .hero-section .subtitle2 h3,
    .hero-section .subtitle3 h3 {
        font-size: 1.8rem;
    }
    
    .hero-section .subtitle4 p {
        font-size: 1.1rem;
    }
    
    .hero-content .title h1 {
        font-size: 2.5rem;
        margin: 25px 0;
    }
}

.flip-word {
    display: inline-block;
    position: relative;
    color: #EE4435;
    font-weight: 600;
}

.flip-word span {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transform: rotateX(90deg);
    transform-origin: bottom;
    transition: all 1s ease;
}

.flip-word .interactive {
    opacity: 1;
    position: relative;
    transform: rotateX(0);
}

.flip-word .innovative {
    transform: rotateX(90deg);
    opacity: 0;
}

.flip-word .impactful {
    transform: rotateX(90deg);
    opacity: 0;
}

.white-dot {
    color: white;
    display: inline-block; 
    transition: transform 0.3s ease;
}

:root {
    --dot-move-interactive: 0px;
    --dot-move-innovative: -5px;
    --dot-move-impactful: -15px;
}

@media (max-width: 768px) {
    :root {
        --dot-move-innovative: -8px;
        --dot-move-impactful: -15px;
    }
}

@media (max-width: 480px) {
    :root {
        --dot-move-innovative: -2px;
        --dot-move-impactful: -10px;
    }
}

.parent {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: repeat(5, 1fr);
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    min-height: 80vh; 
    padding: 30px; 
    max-width: 1200px;
    margin: 0 auto;
    margin-top: 80px;
}

.div1 { 
    grid-area: 1 / 1 / 3 / 4; 
    background: rgba(255, 255, 255, 0);
    border-radius: 16px;
    margin: 8px; 
    display: flex;
    align-items: center;
    justify-content: left;
    position: relative;
    overflow: hidden;
}

.div2 { 
    grid-area: 1 / 4 / 4 / 6; 
    margin: 8px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.div3 { 
    grid-area: 3 / 1 / 6 / 3; 
    margin: 8px;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
}

.div4 { 
    grid-area: 4 / 3 / 6 / 6; 
    background: rgba(255, 255, 255, 0);
    border-radius: 16px; 
    margin: 8px;
    display: flex;
    align-items: center;
    justify-content: left;
    position: relative;
    overflow: hidden;
}

/* Content Styling */
.mission-section, .vision-section {
    padding: 30px;
}

.content-wrapper {
    max-width: 550px; 
    padding-left: 20px;
}

.content-wrapper h1 {
    font-size: 2rem; 
    font-weight: 700;
    margin-bottom: 20px; 
    color: #fff;
    letter-spacing: 1.5px;
}

.content-wrapper p {
    font-size: 1rem; 
    line-height: 1.5; 
    color: #e0e0e0;
    font-weight: 300;
}

/* Image Styling */
.image-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(238, 68, 53, 0.1), rgba(26, 26, 46, 0.3));
    transition: background 0.3s ease;
}

.core-values-section {
    --bg:url('../images/footer-right2.png');
    padding: 100px 40px;
    position: relative;
    overflow: hidden;
}

.core-values-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: var(--bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    mask-image: linear-gradient(to bottom, 
        rgba(0,0,0,1) 0%, 
        rgba(0,0,0,1) 50%, 
        rgba(0,0,0,0) 100%);
    -webkit-mask-image: linear-gradient(to bottom, 
        rgba(0,0,0,1) 0%, 
        rgba(0,0,0,1) 50%, 
        rgba(0,0,0,0) 100%);
    z-index: -1;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.section-title {
    text-align: center;
    margin-bottom: 80px;
}

.section-title h2 {
    font-size: 2.5rem;
    font-weight: 700;
    color: white;
    position: relative;
    display: inline-block;
}

.section-title h2::after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background: #EE4435;
    border-radius: 2px;
}

.values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.value-card {
    background: rgba(15, 15, 15, 0.99);
    border-radius: 20px;
    padding: 50px 30px;
    text-align: center;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.value-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(238, 68, 53, 0.1) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
}

.value-card:hover {
    transform: translateY(-10px);
    background: rgba(15, 15, 15, 0.79);
    box-shadow: 0 20px 40px rgba(238, 68, 53, 0.2);
    border-color: rgba(238, 68, 53, 0.3);
}

.value-card:hover::before {
    opacity: 1;
}

.card-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 30px;
    background: rgba(238, 68, 53, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.4s ease;
}

.value-card:hover .card-icon {
    background: rgba(238, 68, 53, 0.2);
    transform: scale(1.1);
}

.card-icon i {
    font-size: 2.5rem;
    color: #EE4435;
    transition: all 0.4s ease;
}

.value-card:hover .card-icon i {
    transform: scale(1.1);
}

.value-card h3 {
    font-size: 1.6rem;
    font-weight: 600;
    color: white;
    margin-bottom: 20px;
    position: relative;
}

.value-card p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: #e0e0e0;
    font-weight: 300;
    margin: 0 auto;
}

/* Decorative corner elements */
.value-card::after {
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    transition: all 0.4s ease;
}

.value-card:nth-child(1)::after {
    top: 15px;
    left: 15px;
    border-top: 2px solid rgba(238, 68, 53, 0.5);
    border-left: 2px solid rgba(238, 68, 53, 0.5);
    border-radius: 8px 0 0 0;
}

/* .value-card:nth-child(2)::after {
    top: 15px;
    right: 15px;
    border-top: 2px solid rgba(238, 68, 53, 0.5);
    border-right: 2px solid rgba(238, 68, 53, 0.5);
    border-radius: 0 8px 0 0;
} */

.value-card:nth-child(3)::after {
    bottom: 15px;
    right: 15px;
    border-bottom: 2px solid rgba(238, 68, 53, 0.5);
    border-right: 2px solid rgba(238, 68, 53, 0.5);
    border-radius: 0 0 8px 0;
}

.value-card:hover::after {
    border-color: #EE4435;
    width: 40px;
    height: 40px;
}

/* Fallback for browsers that don't support calc in transform */
@media (max-width: 1920px) {
    .hero-section .bg {
        transform: scale(1.7);
    }
}

@media (max-width: 1440px) {
    .hero-section .bg {
        transform: scale(1.9);
        background-position: center 50px;
    }

    .hero-content {
        bottom: 3%;
    }
}

@media (max-width: 1200px) and (max-height: 740px) {
    .hero-section .bg {
        transform: scale(1.9);
        background-position: center 100px;
    }
    .hero-content {
        top: 5%;
    }
}


@media (max-width: 1200px) {
    .hero-section .bg {
        transform: scale(1.9);
        background-position: center 100px;
    }
    .hero-content {
        top: 5%;
    }
}

@media (max-width: 900px) and (max-height: 740px) {
    .hero-section .bg {
        transform: scale(1.9);
        background-position: center 100px;
    }
    .hero-content {
        top: -2%;
    }
}

@media (max-width: 900px) {
    .hero-section .bg {
        transform: scale(1.9);
        background-position: center 100px;
    }
    .hero-content {
        top: 0%;
    }
}

@media (max-width: 768px) {
    .hero-section .bg {
        transform: scale(1.9);
        background-position: center 100px;
    }
    .hero-section .subtitle3 {
        margin-top: 50px; 
    }
    .hero-section .subtitle4 {
        margin-top: 20px; 
    }
}

@media (max-width: 480px) {
    .hero-section .bg {
        transform: scale(1.9);
        background-position: center 100px;
    }
    .hero-content {
        top: 0%;
    }
}

@media (max-height: 650px) {

    .hero-content {
        top: 10%;
    }
}


/* Responsive Design */
@media (max-width: 992px) {
    .values-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .core-values-section {
        padding: 60px 20px;
    }
    
    .section-title h2 {
        font-size: 2rem;
    }
    
    .values-grid {
        grid-template-columns: 1fr;
        gap: 25px;
        max-width: 500px;
        margin: 0 auto;
    }
    
    .value-card {
        padding: 40px 25px;
    }
    
    .card-icon {
        width: 70px;
        height: 70px;
    }
    
    .card-icon i {
        font-size: 2rem;
    }
    
    .value-card h3 {
        font-size: 1.6rem;
    }
    
    .value-card p {
        font-size: 0.95rem;
    }
}

@media (max-width: 468px) {
    .value-card p {
        max-width: 95%;
    }
}

/* Hover Effects */
.div1:hover, .div4:hover {
    background: rgba(255, 255, 255, 0.03);
    transform: translateY(-5px);
    transition: all 0.3s ease;
}

.div2:hover .image-container img,
.div3:hover .image-container img {
    transform: scale(1.05);
}

.div2:hover .image-overlay,
.div3:hover .image-overlay {
    background: linear-gradient(45deg, rgba(238, 68, 53, 0.2), rgba(26, 26, 46, 0.4));
}

/* Decorative Elements */
.mission-section::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    width: 45px;
    height: 45px;
    border-top: 2px solid #EE4435;
    border-left: 2px solid #EE4435;
    border-radius: 10px 0 0 0;
}

.mission-section::after {
    content: "";
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 45px;
    height: 45px;
    border-bottom: 2px solid #EE4435;
    border-right: 2px solid #EE4435;
    border-radius: 0 0 10px 0;
}

.vision-section::before {
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 45px;
    height: 45px;
    border-top: 2px solid #EE4435;
    border-right: 2px solid #EE4435;
    border-radius: 0 10px 0 0;
}

.vision-section::after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 10px;
    width: 45px;
    height: 45px;
    border-bottom: 2px solid #EE4435;
    border-left: 2px solid #EE4435;
    border-radius: 0 0 0 10px;
}

@media (max-width: 768px) {
    .parent {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        padding: 15px;
        min-height: auto;
    }
    
    .div1, .div2, .div3, .div4 {
        grid-area: auto;
        min-height: 250px; 
        margin: 6px; 
    }
    
    .mission-section, .vision-section {
        padding: 20px; 
    }

    .div1 { 
        grid-area: auto;
        order: 1; 
    }
    .div2 { 
        grid-area: auto;
        order: 2;
    }
    .div3 { 
        grid-area: auto;
        order: 4; 
    }
    .div4 { 
        grid-area: auto;
        order: 3;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    .parent {
        padding: 10px;
    }
    
    .mission-section, .vision-section {
        padding: 15px;
    }

    .content-wrapper {
        width: 350px; 
    }
    
    .content-wrapper h1 {
        font-size: 1.6rem;
    }
    
    .content-wrapper p {
        font-size: 0.95rem;
        line-height: 1.4;
    }
    
    .div1, .div2, .div3, .div4 {
        min-height: 200px;
        margin: 4px;
        border-radius: 12px;
    }
}

/* Preloader */
.preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--dark);
  z-index: 10000;
  display: none;
  justify-content: center;
  align-items: center;
}

/* Only show preloader when it has the 'active' class */
.preloader.active {
    display: flex;
}

/* nav bar */
.nav {
    width: 100%;
    position: fixed;
    text-align: center;
    z-index: 9999;
    font-family: "Oxanium", sans-serif;
    font-optical-sizing: auto;
    font-weight: 200 !important;
    font-style: normal;;
    margin: 0 auto;
    left: 0;
    right: 0;    
    transition: all 0.4s ease;
    padding-top: 5px;
    padding-bottom: 5px;
    opacity: 0; /* Start hidden */
    transform: translateY(-100px); /* Start above viewport */
}

.nav a {
  font-weight: 200 !important;
}

.no-scroll {
  overflow: hidden;
  height: 100vh;
}
.nav .container {
  max-width: 1200px;
  margin: auto;
}


.nav div.logo {
  float: left;
  width: auto;
  height: auto;
  padding-left: 3rem;
    height: 100%;
    display: flex;
    align-items: center;
}
.nav div.logo a {
  text-decoration: none;
  color: #fff;
  font-size: 1.5rem;
  height: 65px;
  display: flex;
  align-items: center;
}
.nav div.logo img {
  width: 30px;
}
.nav div.logo a:hover {
  color: #EE4435;
}
.nav div.main_list {
  float: right;
}
.nav div.main_list ul {
  width: 100%;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav div.main_list ul li {
  width: auto;
  height: 65px;
  padding: 0;
  padding-right: 3rem;
}
.nav div.main_list ul li a {
  text-decoration: none;
  color: #fff;
  line-height: 65px;
  font-size: 1rem;
}
.nav div.main_list ul li a:hover,
.nav div.main_list ul li a:focus-visible,
.nav div.main_list ul li a:active {
  color: #159BA5;
}
/* Hamburger Menu Button */
.navTrigger {
  display: none;
  cursor: pointer;
  width: 30px;
  height: 25px;
  margin: auto;
  position: absolute;
  right: 30px;
}
.navTrigger i {
  background-color: var(--mobile-ui-icon-color, #fff);
  border-radius: 2px;
  content: '';
  display: block;
  width: 100%;
  height: 4px;
}
.navTrigger i:nth-child(1) {
  -webkit-animation: outT 0.8s backwards;
  animation: outT 0.8s backwards;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
.navTrigger i:nth-child(2) {
  margin: 5px 0;
  -webkit-animation: outM 0.8s backwards;
  animation: outM 0.8s backwards;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
.navTrigger i:nth-child(3) {
  -webkit-animation: outBtm 0.8s backwards;
  animation: outBtm 0.8s backwards;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
.navTrigger.active i:nth-child(1) {
  -webkit-animation: inT 0.8s forwards;
  animation: inT 0.8s forwards;
}
.navTrigger.active i:nth-child(2) {
  -webkit-animation: inM 0.8s forwards;
  animation: inM 0.8s forwards;
}
.navTrigger.active i:nth-child(3) {
  -webkit-animation: inBtm 0.8s forwards;
  animation: inBtm 0.8s forwards;
}
/* Hamburger Animation Keyframes */
@-webkit-keyframes inM {
  50% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(45deg);
  }
}
@keyframes inM {
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(45deg);
  }
}
@-webkit-keyframes outM {
  50% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(45deg);
  }
}
@keyframes outM {
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(45deg);
  }
}
@-webkit-keyframes inT {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(9px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(9px) rotate(135deg);
  }
}
@keyframes inT {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(9px) rotate(0deg);
  }
  100% {
    transform: translateY(9px) rotate(135deg);
  }
}
@-webkit-keyframes outT {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(9px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(9px) rotate(135deg);
  }
}
@keyframes outT {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(9px) rotate(0deg);
  }
  100% {
    transform: translateY(9px) rotate(135deg);
  }
}
@-webkit-keyframes inBtm {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(-9px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-9px) rotate(135deg);
  }
}
@keyframes inBtm {
  0% {


transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-9px) rotate(0deg);
  }
  100% {
    transform: translateY(-9px) rotate(135deg);
  }
}
@-webkit-keyframes outBtm {
  0% {
    -webkit-transform: translateY(0px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(-9px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-9px) rotate(135deg);
  }
}
@keyframes outBtm {
  0% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-9px) rotate(0deg);
  }
  100% {
    transform: translateY(-9px) rotate(135deg);
  }
}
/* Optional: Nav background on scroll */
.affix {
  padding: 0;
  background-color: #111;
}

.preloader-counter {
  font-size: 3rem;
  background: linear-gradient(90deg, #159ba5 0%, #159ba5 72%, #fb9082 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #159ba5;
}
/* Our Services Section */
#our-services .card-content {
    color: white 
}

/* Our Works Section */
.portfolio-section {
    position: relative;
    width: 100%;
    min-height: 100vh;
    background-color: transparent;
    overflow: hidden;
}

.portfolio-section-heading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    text-align: center;
    width: 100%;
    padding: 0 2rem;
    pointer-events: none;
}

.portfolio-section-heading h2 {
    font-family: "Oxanium", sans-serif;
    font-size: clamp(24px, 3vw, 54px);
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
    margin: 0;
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
    opacity: 0;
    transform: translateY(100px);
}

.gallery-container {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
}

.gallery-track {
    position: absolute;
    display: flex;
    height: 100vh;
    will-change: transform;
    padding-left: 100vw; 
    align-items: center;
}

.gallery-item {
    position: relative;
    width: 35vw;
    height: 45vh;
    overflow: hidden;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
    opacity: 0;
    transform: translateX(100px) translateY(80px);
    transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    flex-shrink: 0;
    margin-right: 4vw;
    cursor: pointer;
}

/* Alternate item heights and vertical positions */
.gallery-item:nth-child(odd) {
    margin-top: -20vh;
    height: 40vh;
}

.gallery-item:nth-child(even) {
    margin-top: 20vh;
    height: 42vh;
}

.gallery-item:hover {
    transform: translateX(0) translateY(-15px) scale(1.03);
}

.item-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

.gallery-item:hover .item-video {
    opacity: 1;
}

.item-thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 1;
    transition: opacity 0.3s ease;
    z-index: 2;
}

.gallery-item:hover .item-thumbnail {
    opacity: 0;
}

.thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

.video-element {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

.gallery-item:hover .video-element {
    transform: scale(1.1);
}

.gallery-item:hover .thumbnail-image {
    transform: scale(1.1);
}

.item-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: white;
    letter-spacing: -0.02em;
    margin-top: 0.5rem;
}

.brand-info {
    position: absolute;
    bottom: 1.2rem;
    left: 1.5rem;
    right: 1.5rem;
    z-index: 2;
    color: white;
    opacity: 1;
    transform: translateY(0);
}

.brand-logo {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.item-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    z-index: 1;
    opacity: 1;
    transition: opacity 0.3s ease;
}

.gallery-item:hover .item-overlay {
    opacity: 0.2;
}

/* Scroll indicator */
.scroll-indicator {
    position: fixed;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.9rem;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.scroll-indicator.visible {
    opacity: 1;
}

.scroll-indicator::after {
    content: "";
    display: block;
    width: 1px;
    height: 40px;
    background: rgba(255, 255, 255, 0.7);
    margin-left: 0.5rem;
    animation: scrollPulse 2s infinite;
}

@keyframes scrollPulse {
    0% { transform: translateY(0); opacity: 1; }
    100% { transform: translateY(20px); opacity: 0; }
}

/* Responsive Design */
@media (max-width: 1200px) {
    .gallery-item {
        width: 45vw;
        height: 42vh;
    }

    .gallery-item:nth-child(odd),
    .gallery-item:nth-child(even) {
        height: 40vh;
    }

    .item-title {
        font-size: 1.8rem;
    }
}

@media (max-width: 768px) {
    .gallery-track {
        padding-left: 100vw;
    }

    .gallery-item {
        width: 70vw;
        height: 40vh;
        margin-right: 3vw;
    }

    .gallery-item:nth-child(odd),
    .gallery-item:nth-child(even) {
        height: 38vh;
        margin-top: 0;
    }

    .item-title {
        font-size: 1.6rem;
    }

    /* Mobile uses autoplay videos instead of hover-only reveal */
    .item-video {
        opacity: 1;
    }

    .item-thumbnail {
        opacity: 0;
    }
}

@media (max-width: 480px) {
    .gallery-item {
        width: 80vw;
        height: 38vh;
    }

    .item-title {
        font-size: 1.4rem;
    }
}

/* Contact Us Section */
.contact-footer-background {
    --bg: url("../images/footer-right.png");
    position: relative;
    margin-bottom: 75px;
    isolation: isolate;
}

.contact-footer-background::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #000;
    background-image: 
        linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), 
        var(--bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    mask-image: linear-gradient(to bottom, 
        rgba(0,0,0,1) 0%, 
        rgba(0,0,0,1) 50%, 
        rgba(0,0,0,0) 100%);
    -webkit-mask-image: linear-gradient(to bottom, 
        rgba(0,0,0,1) 0%, 
        rgba(0,0,0,1) 50%, 
        rgba(0,0,0,0) 100%);
    z-index: 0;
    pointer-events: none;
}

.contact-footer-background > *:not(.ios-contact-fixed-bg) {
    position: relative;
    z-index: 1;
}

/* iOS Safari: emulate stable fixed background in this section */
@supports (-webkit-touch-callout: none) {
    .contact-footer-background.ios-fixed-bg::before {
        opacity: 0;
    }

    .contact-footer-background .ios-contact-fixed-bg {
        position: fixed;
        inset: 0;
        z-index: 0;
        pointer-events: none;
        opacity: 0;
        background-color: #000;
        background-image:
            linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)),
            var(--bg, url("../images/footer-right.png"));
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        mask-image: linear-gradient(to bottom,
            rgba(0,0,0,1) 0%,
            rgba(0,0,0,1) 50%,
            rgba(0,0,0,0) 100%);
        -webkit-mask-image: linear-gradient(to bottom,
            rgba(0,0,0,1) 0%,
            rgba(0,0,0,1) 50%,
            rgba(0,0,0,0) 100%);
        transition: opacity 0.25s ease;
    }

    .contact-footer-background.ios-fixed-active .ios-contact-fixed-bg {
        opacity: 1;
    }
}

.contact-section {
    position: relative;
    z-index: 10;
    min-height: 70vh;
    height: auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 15vh 1rem 15vh;
}

.contact-container {
    width: min(95%, 800px);
    background: rgba(16, 16, 18, 0.85);
    backdrop-filter: blur(10px);
    border-radius: 16px;
    padding: 1.5rem;
    border: 1px solid rgba(238, 68, 53, 0.4);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

.contact-header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.contact-header h1,
.contact-header h2 {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.5rem;
    letter-spacing: -0.02em;
}

.contact-header p {
    font-size: 0.9rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.4;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.form-row {
    display: flex;
    gap: 0.75rem;
}

.form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.form-group label {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--light);
    margin-bottom: 0.375rem;
    letter-spacing: 0.02em;
}

.form-group input,
.form-group select,
.form-group textarea {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    color: var(--light);
    font-size: 0.8rem;
    font-family: "Oxanium", sans-serif;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
    resize: none;
}


.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.15);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
}

.form-group input::placeholder,
.form-group textarea::placeholder {
    color: rgba(255, 255, 255, 0.5);
        }

.form-group select {
    cursor: pointer;
}

.custom-select-wrapper {
    position: relative;
    width: 100%;
}

.custom-select-trigger {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    color: var(--light);
    font-size: 0.9rem;
    font-family: "Oxanium", sans-serif;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}

.custom-select-trigger:hover {
    border-color: rgba(255, 255, 255, 0.4);
    background: rgba(255, 255, 255, 0.15);
}

.custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #1a1a1a;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    margin-top: 4px;
    z-index: 1000;
    display: none;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.custom-options.active {
    display: block;
}

.custom-option {
    padding: 10px 12px;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.8rem;
    background: #1a1a1a;
}

.custom-option:hover:not(.selected) {
    background: #EE4435 !important;
    color: #ffffff !important;
}

.custom-option.selected {
    background: #EE4435 !important;
    color: #ffffff !important;
    font-weight: 600;
}

.custom-option:last-child {
    border-bottom: none;
}

#howDidYouKnow {
    padding: 12px 45px 12px 15px;
    
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px 16px;
    
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    
    width: 100%;
    font-size: 16px;
    cursor: pointer;
}

#howDidYouKnow:focus {
    outline: none;
    border-color: #EE4435;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23EE4435' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

#howDidYouKnow::-ms-expand {
    display: none;
}

#howDidYouKnow option {
    background: #1a1a1a;
    color: #ffffff;
    padding: 10px;
    font-size: 16px;
}

#howDidYouKnow option:hover,
#howDidYouKnow option:focus,
#howDidYouKnow option:checked {
    background: #EE4435;
    color: #ffffff;
}

.submit-btn {
    margin-top: auto;
    background: linear-gradient(170deg, #EE4435 44%, #72ADBB 98%);
    padding: 0.6rem 1.25rem;
    border: none;
    border-radius: 18px;
    color: white;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: "Oxanium", sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.02em;
    width: 100%;
}

.submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(238, 68, 53, 0.3);
}

.submit-btn:active {
    transform: translateY(0);
}

/* Form Error Styling */
.form-group input.error,
.form-group select.error,
.form-group textarea.error {
    border-color: #EE4435;
    background: rgba(238, 68, 53, 0.1);
    box-shadow: 0 0 0 3px rgba(238, 68, 53, 0.1);
}
/* Custom dropdown for 1200px+ */
    .custom-select-trigger {
        padding: 0.8rem;
        font-size: 0.9rem;
        min-height: 46px;
    }
    
    .custom-option {
        padding: 0.8rem;
        font-size: 0.9rem;
        min-height: 46px;
    }
/* Responsive Design */
@media (min-width: 1920px) {
    .portfolio-section {
        background-position: 50% 30%;
    }

    .contact-section {
        min-height: 85vh;
        padding: 10vh 1rem 10vh;
    }
    
    .contact-container {
        width: min(75%, 1200px); 
        padding: 2.5rem;
    }
    
    .contact-header h1,
    .contact-header h2 {
        font-size: 2.25rem;
    }
    
    .contact-header p {
        font-size: 1.1rem;
    }
    
    .contact-form {
        gap: 1.5rem;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 0.875rem;
        font-size: 1rem;
    }
    
    .form-group textarea {
        min-height: 120px;
    }
    
    .submit-btn {
        padding: 0.875rem 1.75rem;
        font-size: 1.1rem;
    }
    
    /* Custom dropdown for 1920px+ */
    .custom-select-trigger {
        padding: 0.875rem;
        font-size: 1rem;
        min-height: 48px;
    }
    
    .custom-option {
        padding: 0.875rem;
        font-size: 1rem;
        min-height: 48px;
    }
    
    .custom-select-trigger .arrow {
        font-size: 1rem;
    }
}

@media (min-width: 1400px) {
    .contact-section {
        min-height: 80vh;
        padding: 12vh 1rem 12vh;
    }
    
    .contact-container {
        width: min(85%, 1000px);
        padding: 2rem;
        transform: scale(1);
    }
    
    .contact-header {
        margin-bottom: 2rem;
    }
    
    .contact-header h1,
    .contact-header h2 {
        font-size: 2rem;
        margin-bottom: 0.75rem;
    }
    
    .contact-header p {
        font-size: 1rem;
        line-height: 1.5;
    }
    
    .contact-form {
        gap: 1.25rem;
    }
    
    .form-row {
        gap: 1rem;
    }
    
    .form-group label {
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 0.75rem;
        font-size: 0.9rem;
        border-radius: 8px;
    }
    
    .form-group textarea {
        min-height: 100px;
    }
    
    .submit-btn {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
        border-radius: 20px;
    }
    
    /* Custom dropdown for 1400px+ */
    .custom-select-trigger {
        padding: 0.75rem;
        font-size: 0.9rem;
        min-height: 44px;
        border-radius: 8px;
    }
    
    .custom-option {
        padding: 0.75rem;
        font-size: 0.9rem;
        min-height: 44px;
    }
    
    .custom-select-trigger .arrow {
        font-size: 0.9rem;
    }

    
}

@media (min-width: 768px) and (max-width: 1399px) {
    .contact-container {
        transform: scale(0.95);
        transform-origin: top center;
    }
    
    /* Custom dropdown for tablet */
    .custom-select-trigger {
        padding: 0.6rem 0.7rem;
        font-size: 0.85rem;
        min-height: 40px;
    }
    
    .custom-option {
        padding: 0.6rem 0.7rem;
        font-size: 0.85rem;
        min-height: 40px;
    }
    
    .custom-select-trigger .arrow {
        font-size: 0.8rem;
    }

    .portfolio-section-heading h2 {
        margin-bottom: 10px;
    }
}

@media (max-width: 480px) {

    .contact-section {
        padding: 2rem 1rem;
        min-height: auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .contact-container {
        width: 100%;
        max-width: 100%;
        padding: 1.5rem 1.25rem;
        max-height: none;
        margin: 0;
        transform: none;
        border-radius: 12px;
    }

    .contact-header {
        margin: 0 0 1.25rem 0;
        padding: 0;
        border-radius: 0;
    }

    .contact-header h1,
    .contact-header h2 {
        font-size: 1.5rem;
        margin-bottom: 0.5rem;
    }

    .contact-header p {
        font-size: 0.9rem;
        line-height: 1.4;
    }

    .contact-form {
        gap: 1rem;
    }

    /* Stack form rows on mobile */
    .form-row {
        flex-direction: column;
        gap: 1rem;
    }

    .form-group label {
        font-size: 0.85rem;
        margin-bottom: 0.5rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 0.875rem 1rem;
        font-size: 1rem;
        border-radius: 8px;
    }

    .form-group textarea {
        min-height: 100px;
        max-height: none;
    }

    #howDidYouKnow {
        padding: 0.875rem 2.5rem 0.875rem 1rem;
        background-size: 14px 14px;
        background-position: right 12px center;
        font-size: 1rem;
    }

    .submit-btn {
        padding: 1rem 1.5rem;
        font-size: 1rem;
        margin-top: 0.5rem;
        width: 100%;
        border-radius: 8px;
    }

    /* Custom dropdown for mobile */
    .custom-select-trigger {
        padding: 0.875rem 1rem;
        font-size: 1rem;
        min-height: 48px;
        border-radius: 8px;
    }

    .custom-option {
        padding: 0.875rem 1rem;
        font-size: 1rem;
        min-height: 48px;
    }

    .custom-select-trigger .arrow {
        font-size: 0.75rem;
    }

    .custom-options {
        max-height: 200px;
        border-radius: 8px;
    }
}

@media (max-width: 480px) and (min-height: 600px) {

    /* .footerMain {
        margin-bottom: calc(120px + (100vh - 600px) * 0.25);
    } */

    .portfolio-section {
        background-position: 50% 35%;
    }
    
    .portfolio-section-heading h2 {
        margin-top: 20px;
    }
}

@media (max-width: 390px) {

    .portfolio-section {
        background-position: 50% 50%;
    }

    .portfolio-section-heading h2 {
        margin-bottom: 70px;
    }
    
}

/* Landscape mobile */
@media (max-width: 767px) and (orientation: landscape) {
    .contact-section {
        min-height: auto;
        padding: 2rem 1rem;
    }

    .contact-container {
        max-height: none;
        padding: 1.25rem;
    }

    .contact-header h1,
    .contact-header h2 {
        font-size: 1.25rem;
    }

    .contact-header p {
        font-size: 0.85rem;
    }

    .contact-form {
        gap: 0.75rem;
    }

    /* Keep rows side-by-side in landscape */
    .form-row {
        flex-direction: row;
        gap: 0.75rem;
    }

    .form-group label {
        font-size: 0.75rem;
    }

    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 0.6rem 0.75rem;
        font-size: 0.85rem;
    }

    .form-group textarea {
        min-height: 60px;
        max-height: none;
    }

    .submit-btn {
        padding: 0.75rem 1.25rem;
        font-size: 0.9rem;
    }

    /* Custom dropdown for landscape mobile */
    .custom-select-trigger {
        padding: 0.6rem 0.75rem;
        font-size: 0.85rem;
        min-height: 40px;
    }

    .custom-options {
        max-height: 150px;
    }

    .custom-option {
        padding: 0.5rem 0.75rem;
        min-height: 36px;
        font-size: 0.85rem;
    }
}

@media (min-width: 1200px) {

    .contact-container {
        max-width: 900px;
    }

}

/* Footer Section */
.footer {
    background-color: #000;
    background-image: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url("../images/footer-right.png");
    background-size: cover;
    background-position: center;
    padding: 2.5rem 1rem 1.5rem;
    position: relative;
}

.footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255, 100, 50, 0.1) 0%, rgba(255, 150, 0, 0.05) 50%, rgba(0, 100, 200, 0.05) 100%);
}

.footer-container {
    position: relative;
    z-index: 2;
    max-width: min(1200px, 90vw);
    margin: 0 auto;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(10px);
    border-radius: 15px;
    padding: 2.5rem 2.5rem;
    margin-top: 20px;
    margin-bottom: 20px;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 2rem;
    margin-bottom: 2rem;
}

.footer-left {
    flex: 1;
}

.footer-logo {
    margin-bottom: 1rem;
}

.footer-logo img {
    height: 35px;
    width: auto;
}

.footer-description p {
    color: #fff;
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0 0 1.5rem 0;
    max-width: 500px;
}

.social-links {
    display: flex;
    gap: 0.75rem;
}

.social-link {
    display: flex;
    align-items: center;    
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.social-link:hover {
    background: rgba(238, 68, 53, 1);
    transform: translateY(-1px);
}

.social-link img {
    width: 32px;
    height: 32px;
}

.footer-links {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
}

.footer-links a {
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    font-size: 0.9rem;
    transition: color 0.3s ease;
    position: relative;
}

.footer-links a:not(:last-child)::after {
    content: '';
    position: absolute;
    right: -0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, 0.3);
}

.footer-links a:hover {
    color: #E54437;
}

.footer-right {
    flex: 1;
    max-width: 500px;
    display: flex;
}

.newsletter-box {
    background: rgba(16, 16, 18, 0.7);
    border: 1px solid rgba(238,68,53, 0.5);
    border-radius: 15px;
    padding: 1.5rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
}

.newsletter-box h3 {
    color: #fff;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 0.5rem 0;
}

.newsletter-box p {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.85rem;
    line-height: 1.4;
    margin: 0 0 1rem 0;
}

.newsletter-form {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.newsletter-form input {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 6px;
    padding: 0.6rem 0.8rem;
    color: #fff;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
}

.newsletter-form input:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.15);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
}

.newsletter-form button {
    background: linear-gradient(170deg, #EE4435 44%, #72ADBB 98%);
    border: none;
    border-radius: 15px;
    padding: min(10px, 1.8vh);
    color: #fff;
    font-size: clamp(0.8rem, 1.6vw, 0.9rem);
    font-weight: 600;
    cursor: pointer;
    width: 100%;
    font-family: "Oxanium", sans-serif;
}

.footer-divider {
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.2);
    margin: 1.5rem 0;
}

.footer-copyright p {
    color: #fff;
    font-size: 0.8rem;
    margin: 0;
    opacity: 0.8;
    text-align: center;
}

/* Footer Responsive Design */
@media (max-width: 768px) {
    .footer {
        padding: 2rem 1rem 1rem;
    }
    
    .footer-container {
        padding: 2rem 1.5rem;
    }
    
    .footer-content {
        flex-direction: column;
        gap: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .footer-right {
        max-width: 100%; 
        width: 100%; 
    }

    .newsletter-box {
        padding: 1.25rem;
    }

    .footer-description p {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .footer {
        padding: 1.5rem 0.75rem 1rem;
    }
    
    .footer-container {
        padding: 1.5rem 1rem;
        border-radius: 12px;
    }
    
    .footer-logo {
        text-align: center;
    }

    .footer-logo img {
        height: 30px;
    }
    
    .footer-description p {
        font-size: 0.85rem;
        text-align: center;
    }

    .social-links {
        justify-content: center;
    }

    .footer-links {
        justify-content: center;
    }

    .footer-links a:not(:last-child)::after {
        display: none;
    }

    .newsletter-box {
        text-align: center;
    }

    .newsletter-box p {
        max-width: 260px;
        margin-left: auto;
        margin-right: auto;
    }

    .newsletter-box h3 {
        font-size: 1.1rem;
    }
}

/* Cards Anim */
.cards img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
}

.cards h1,
.cards h2 {
    font-size: clamp(26px, 3vw,48px);
    font-weight: 500;
    letter-spacing: -0.1rem;
    line-height: 1.25;
}

.cards p {
    font-size: clamp(16px, 2.25vw, 20px);
    font-weight: 400;
    line-height: 1.25;
}

.cards {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 25svh;
    background-color: var(--dark);
    overflow: hidden;
}

.cards .card-marquee {
    width: 100%;
    position: absolute;
    top: 25%;
    left: 0;
    transform: translateY(-50%);
    overflow: hidden;
}

.cards .marquee {
    display: flex;
    width: max-content;
    animation: marquee-margin 25s linear infinite;
}

.diamond-fix {
    color: inherit !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    -webkit-text-fill-color: currentColor;
}

@keyframes marquee-margin {
    0% {
        margin-left: 0;
    }
    100% {
        margin-left: -50%;
    }
}


.cards .marquee h1 {
    white-space: nowrap;
    font-size: clamp(14px, 2vw, 28px);
    font-weight: 300;
    padding-right: clamp(4px, 1vw, 10px);
    color: rgba(255, 255, 255, 0.7);
    flex-shrink: 0;
}

.cards .card-marquee h2 {
    font-size: clamp(24px, 3vw, 54px);
    font-weight: 600;
    line-height: 1;
    text-align: center;
    color: #fff;
    margin-bottom: 20px;
}

.cards .card-marquee-description {
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: clamp(14px, 1.5vw, 20px);
    font-weight: 300;
    line-height: 1.6;
    max-width: 55%;
    margin: 0 auto;
}

.cards .card {
    position: relative;
    width: 100vw;
    height: 100svh;
}

.cards .card-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    will-change: transform;
    top: 50%;
}

.cards .card-img {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 150px;
    overflow: hidden;
    opacity: 0.7;
}

.cards .card-img img {
    transform: scale(2);
    filter: brightness(0.6);
}

.cards .card-content {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    z-index: 1;
}

.cards .card-content .card-title {
    position: absolute;
    width: 100%;
    top: 45%;
    left: 50%;
    text-align: center;
    transform: translate(-50%, -50%);
}

.cards .card-content .card-title h1,
.cards .card-content .card-title h2 {
    color: #EE4435;
    margin: 0;
}

.cards .card-content .card-description {
    position: relative;
    width: 55%;
    top: 50%;
    margin-bottom: 3rem;
    text-align: center;
    transform: translateX(40px);
    opacity: 0;
}

.cards .card:nth-child(2) {
    margin-top: 50vh;
}

.cards .char {
    position: relative;
    overflow: hidden;
    display: inline-block;
}

.cards .char span {
    transform: translateX(100%);
    display: inline-block;
    will-change: transform; 
}

/* Main animated wrapper */
.hero-section {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: white;
    transition: background-color 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* .hero-section::after {
        content: ''; 
        position: absolute;
        top: 0;
        bottom: 0; 
        left: 50%; 
        transform: translateX(-50%); 
        width: 2px; 
        background-color: rgb(255, 255, 255);
} */

/* .hero-section::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 200px;
    background: 
        linear-gradient(135deg, transparent 65%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 85%, black 95%),
        linear-gradient(to bottom, transparent 70%, black 100%);
    pointer-events: none;
    z-index: 2;
} */


.parallax-bg {
    position: absolute;
    top: -10%;
    left: 0;
    width: 100%;
    height: 120%;
    z-index: 0;
    will-change: transform;
    opacity: 0; /* Start hidden */
    transform: translateY(30px) scale(1.1); /* Initial transform */
    object-fit: cover;
    object-position: center center;
}

/* For video backgrounds */
.parallax-bg.lazy-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    will-change: transform;
    opacity: 0; /* Start hidden */
    transform: translateY(30px) scale(1.1); /* Initial transform */
    object-fit: cover;
    object-position: center center;
}

.parallax-bg.animated-in {
    opacity: 0.4;
    transform: translateY(0) scale(1);
}

.nav.animated-in {
    opacity: 1;
    transform: translateY(0);
}

.hero-section h1 {
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: clamp(24px, 3vw, 54px);
    font-weight: 600;
}

.hero-main-heading {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    font-size: clamp(24px, 3vw, 54px);
    font-weight: 600;
    line-height: 1.2;
}

/* Generative AI section */
.GenerativeAI {
    position: relative;
    width: 100vw;
    height: 100svh;
    overflow: hidden;
}

/* Title section - visible by default */
.GenerativeAI .title {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 1;
    transition: opacity 0.3s ease;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    margin: 0;
    padding: 2rem;
    box-sizing: border-box;
}

.section-transition-container {
    position: relative;
    width: 100vw;
    height: 100vh;
}

.animation-wrapper {
    position: relative;
    height: auto; /* let content determine height */
    min-height: 100vh; /* ensure minimum viewport height */
    /* we do not need transform properties here */
}

/* Company Intro Section */
.qiksense-section {
    position: relative;
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    opacity: 1;
    visibility: visible;
    isolation: isolate;
}

.qiksense-section::before,
.qiksense-section::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 200px;
    pointer-events: none;
    z-index: 2;
}

/* Gradient overlay at top of qiksense section for seamless blend from intro-interactive */
.qiksense-section::before {
    top: 0;
    height: 20vh;
    background: linear-gradient(to bottom, #000000 0%, transparent 100%);
}

.qiksense-section::after {
    bottom: 0;
    background: linear-gradient(to top, 
        rgba(0,0,0,1) 0%, 
        rgba(0,0,0,0.8) 30%, 
        rgba(0,0,0,0.5) 50%,
        transparent 100%
    );
}

.company-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    transform: scale(1); /* Default scale */
    transform-origin: center center;
    /* Hide native video controls and play button */
    pointer-events: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
    opacity: 0.5;
}

/* Hide video controls overlay on mobile */
.company-video-bg::-webkit-media-controls {
    display: none !important;
}

.company-video-bg::-webkit-media-controls-enclosure {
    display: none !important;
}

.company-video-bg::-webkit-media-controls-panel {
    display: none !important;
}

.company-video-bg::-webkit-media-controls-play-button {
    display: none !important;
}

.company-video-bg::-webkit-media-controls-start-playback-button {
    display: none !important;
}

/* Add a wrapper to control video positioning */
.video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

/* Content section - hidden by default (for old system) */
.GenerativeAI .company-intro {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: none;
    opacity: 0;
    background-color: #000;
    z-index: 10;
    overflow: hidden;
}

#company
.GenerativeAI .company-intro.show {
    opacity: 1;
    display: block;
}

h1.company-title {
    text-align: left;
}

.company-content {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin-left: 11%;
    max-width: min(45%, 760px);
    z-index: 11;
    opacity: 1;
}

.company-title {
    font-family: "Oxanium", sans-serif;
    font-size: clamp(24px, 3vw, 54px);
    font-weight: 600;
    line-height: 1;
    margin-bottom: 1.5rem;
    color: #fff;
    text-align: left;
}

.title-line-1,
.title-line-2,
.title-line-3 {
    display: block;
}

.title-line-1 {
    margin-bottom: 0.3rem;
}

.highlight {
    background: transparent;
    color: #fff;
    padding: 0.15rem 0.4rem 0.15rem 0;
    border-radius: 3px;
    display: inline-block;
    position: relative;
    overflow: hidden;
    margin-left: 0;
}

.highlight-bg {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #0D9FA8 80%, #FF6B35 100%);
    z-index: -1;
    transition: none;
}

.highlight-text {
    position: relative;
    z-index: 1;
}

.company-description {
    font-family: "Oxanium", sans-serif;
    font-size: clamp(0.9rem, 2vw, 1.1rem);
    line-height: 1.5;
    color: #fff;
    margin-bottom: 2rem;
    max-width: 80%;
    text-wrap: balance;
}

.no-code-text {
    display: block;
}

.company-btn {
    background: linear-gradient(140deg, #0D9FA8 44%, #FF6B35 98%);
    color: #fff;
    border: none;
    padding: 10px min(30px, 2.8vh);
    border-radius: 20px;
    font-family: "Oxanium", sans-serif;
    font-size: clamp(0.8rem, 1.6vw, 0.9rem);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.02em;
}

.company-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(238, 68, 53, 0.4);
}

/* Mobile Responsive Styles */
@media (max-width: 1024px) {
    .company-content {
        max-width: 50%;
        margin-left: 8%;
    }
}

/* Aspect-ratio compatibility for desktop/tablet */
@media (min-width: 769px) and (max-aspect-ratio: 4/3) {
    .company-content {
        max-width: 54%;
        margin-left: 7%;
    }

    .company-description {
        max-width: 92%;
    }
}

@media (min-width: 1025px) and (max-height: 760px) {
    .company-content {
        max-width: 50%;
    }

    .company-title {
        margin-bottom: 1.1rem;
    }

    .company-description {
        margin-bottom: 1.4rem;
        max-width: 90%;
    }
}

@media (max-width: 768px) {
    .company-content {
        position: static;
        top: auto;
        left: auto;
        transform: none;
        max-width: 90%;
        margin-left: 0;
        margin: 2rem auto;
        text-align: center;
        padding: 0 1rem;
    }

    .company-title {
        text-align: center;
        margin-bottom: 1.2rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.3rem;
    }

    .title-line-1,
    .title-line-2,
    .title-line-3 {
        display: block;
        text-align: center;
    }

    .highlight {
        padding: 0.1rem 0.3rem;
        display: inline-block;
        text-align: center;
        margin: 0 auto;
    }

    .highlight-text {
        text-align: center;
        display: block;
    }

    .company-description {
        max-width: 100%;
        text-align: center;
        margin-bottom: 1.5rem;
        font-size: clamp(0.85rem, 3vw, 1rem);
    }

    .company-video-bg {
        transform: scale(1.5); /* Increased from your original 1.1 */
        object-position: center 40%; /* Adjust to focus on important part */
    }
}

@media (max-width: 480px) {
    .company-content {
        max-width: 95%;
        margin: 1.5rem auto;
        padding: 0 0.5rem;
    }

    .company-title {
        font-size: clamp(20px, 8vw, 32px);
        margin-bottom: 1rem;
    }

    .title-line-1 {
        margin-bottom: 0.3rem;
        text-align: center;
    }

    .company-description {
        font-size: clamp(0.8rem, 4vw, 0.9rem);
        line-height: 1.4;
        margin-bottom: 1.2rem;
    }

    .company-btn {
        padding: 0.7rem 1.2rem;
        font-size: 0.9rem;
        width: 100%;
        max-width: 200px;
    }
}

/* For very small screens */
@media (max-width: 360px) {
    .company-content {
        max-width: 100%;
    }
    
    .title-line-1 {
        font-size: 0.9em;
    }
}

/* Flash overlay */
.flashPart {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 10; 
    transform: translateX(-100%);
}

.flashPart.show {
    opacity: 1;
    visibility: visible;
}

.flashPart.white {
    background: rgba(255, 255, 255, 1);
}

.globe canvas {
  -webkit-animation: in 2s cubic-bezier(0.23, 1, 0.32, 1) 0.25s backwards;
          animation: in 2s cubic-bezier(0.23, 1, 0.32, 1) 0.25s backwards;
  background: transparent;
  position: relative;
  height: 100%;
    width: 100%;
    z-index: 5;
}


@-webkit-keyframes in {
  from {
    opacity: 0;
  }
}

@keyframes in {
  from {
    opacity: 0;
  }
}

/* Contact Page Section - Prefixed with cp- */
.cp-contact-section {
    --bg:url("../images/galaxy-bg2.jpg");
    min-height: 100vh;
    min-height: 100dvh;
    padding: 8vmin 0 2vmin;
    background: #000;
    position: relative;
    overflow: hidden;
    align-items: center;
}

.cp-contact-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--bg);
    background-position: center center;
    background-size: cover;
    animation: zoom 50s infinite alternate;
    animation-timing-function: linear;
}

@keyframes zoom {
    from {
        transform: scale(1.01);
    }
    to {
        transform: scale(1.5);
    }
}

.cp-contact-container {
    display: flex;
    max-width: min(1200px, 90vw);
    margin: 0 auto;
    padding: 4vmin min(40px, 4vw);
    gap: min(40px, 4vw);
    align-items: flex-start;
    position: relative;
    z-index: 1;
    width: 100%;
}

.cp-contact-left {
    flex: 1;
    padding-top: min(150px, 15vh); 
}

.cp-contact-right {
    flex: 1;
    max-width: 500px;
}

.cp-contact-info h1 {
    font-size: clamp(1.8rem, 4vw, 3rem);
    font-weight: 700;
    margin-bottom: min(40px, 4vh);
    color: #fff;
    line-height: 1.2;
}

.cp-contact-details {
    margin-bottom: min(40px, 4vh); 
}

.cp-contact-item {
    margin-bottom: min(15px, 2vh);
}

.cp-contact-item h3 {
    font-size: clamp(1rem, 2vw, 1.2rem); 
    color: #fff;
    margin-bottom: 4px;
    font-weight: 600;
}

.cp-contact-item p {
    font-size: clamp(0.8rem, 1.6vw, 1rem); 
    color: #ccc;
    line-height: 1.3; 
}

.address-container {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: clamp(0.8rem, 1.6vw, 1rem); 
    color: #ccc;
    line-height: 1.3;
}

.address-container div {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.address-container div {
    display: block;
    line-height: 1.3;
}

.cp-contact-social h3 {
    font-size: clamp(1rem, 2vw, 1.2rem);
    color: #fff;
    margin-bottom: 8px;
    font-weight: 600;
}

.cp-contact-social .cp-social-links {
    display: flex;
    flex-direction: row;
    gap: min(10px, 1.5vw);
    flex-wrap: wrap;
}

.cp-contact-social .cp-social-link {
    display: flex;
    align-items: center;
    gap: min(8px, 1.2vw);
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
    font-size: clamp(0.85rem, 1.6vw, 1rem);
}

.cp-contact-social .cp-social-link:hover {
    color: #fff;
}

.cp-contact-social .cp-social-link img {
    width: clamp(22px, 5vw, 26px);
    height: clamp(22px, 5vw, 26px);
    filter: brightness(0.8);
    transition: all 0.3s ease;
    border-radius: 6px;
}

.cp-contact-social .cp-social-link:hover img {
    filter: brightness(1);
    background: rgba(238, 68, 53, 1);
    transform: translateY(-2px);
}

.cp-contact-form-container {
    padding: min(1.5rem, 3vw);
    background: rgba(16, 16, 18, 0.7);
    backdrop-filter: blur(30px);
    border-radius: 12px;
    border: 1px solid rgba(238,68,53, 0.5);
    width: 100%;
    max-height: none;
    overflow: visible; 
    display: flex;
    flex-direction: column;
    min-height: min-content;
}

.cp-contact-header {
    text-align: center;
    margin-bottom: 20px;
}

.cp-contact-header h2 {
    font-size: clamp(1.8rem, 3vw, 2.5rem) !important;
    font-weight: 700 !important;
    margin-bottom: 8px;
    color: #ffffff !important;
}

.cp-contact-header p {
    color: #ccc;
    margin-bottom: min(15px, 2vh); 
    font-size: clamp(0.85rem, 1.4vw, 1rem);
}

.cp-form-row {
    display: flex;
    gap: min(10px, 1.2vw); 
    margin-bottom: 0;
}

.cp-form-group {
    flex: 1;
    margin-bottom: min(12px, 1.5vh); 
}

.cp-form-group label {
    display: block;
    margin-bottom: 4px;
    color: var(--light);
    font-weight: 600;
    font-size: clamp(0.7rem, 1.4vw, 0.8rem); 
    letter-spacing: 0.02em;
}

.cp-form-group input,
.cp-form-group select,
.cp-form-group textarea {
    width: 100%;
    padding: min(8px, 1.2vh);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: var(--light);
    font-size: clamp(0.7rem, 1.4vw, 0.8rem); 
    font-family: "Oxanium", sans-serif;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
}

.cp-form-group input:focus,
.cp-form-group select:focus,
.cp-form-group textarea:focus {
    outline: none;
    border-color: rgba(255, 255, 255, 0.5);
    background: rgba(255, 255, 255, 0.15);
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.1);
}

.cp-form-group input::placeholder,
.cp-form-group textarea::placeholder {
    color: rgba(255, 255, 255, 0.5);
    font-size: clamp(0.7rem, 1.4vw, 0.8rem); 
}

.cp-form-group textarea {
    resize: none;
    min-height: min(70px, 10vh);
}

#cp-howDidYouKnow {
    padding: min(8px, 1.2vh) min(30px, 3.5vw) min(8px, 1.2vh) min(10px, 1.2vw); 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right min(10px, 1.2vw) center; 
    background-size: min(14px, 2vw) min(14px, 2vw);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    cursor: pointer;
}

#cp-howDidYouKnow:focus {
    outline: none;
    border-color: #EE4435;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23EE4435' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

#cp-howDidYouKnow::-ms-expand {
    display: none;
}

#cp-howDidYouKnow option {
    background: #1a1a1a;
    color: #ffffff;
    padding: 8px;
}

#cp-howDidYouKnow option:hover,
#cp-howDidYouKnow option:focus,
#cp-howDidYouKnow option:checked {
    background: #EE4435;
    color: #ffffff;
}

.cp-submit-btn {
    width: 100%;
    padding: min(10px, 1.8vh);
    background: linear-gradient(170deg, #EE4435 44%, #72ADBB 98%);
    color: #fff;
    align-self: stretch;
    border: none;
    border-radius: 16px;
    font-size: clamp(0.8rem, 1.6vw, 0.9rem);
    font-weight: 600;
    font-family: "Oxanium", sans-serif;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 5px;
}

.cp-submit-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(238, 68, 53, 0.3);
}

/* Form Error Styling */
.cp-form-group input.error,
.cp-form-group select.error,
.cp-form-group textarea.error {
    border-color: #EE4435;
    background: rgba(238, 68, 53, 0.1);
    box-shadow: 0 0 0 3px rgba(238, 68, 53, 0.1);
}

/* Custom Select Styling */
.cp-custom-select-wrapper {
    position: relative;
}

.cp-custom-select-trigger {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: min(8px, 1.2vh) min(10px, 1.2vw);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    color: var(--light);
    cursor: pointer;
    transition: all 0.3s ease;
}

.cp-custom-select-trigger:hover {
    border-color: rgba(255, 255, 255, 0.5);
}

.cp-custom-options {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(16, 16, 18, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    z-index: 10;
    display: none;
    max-height: 160px; 
    overflow-y: auto;
}

.cp-custom-option {
    padding: min(8px, 1.2vh) min(10px, 1.2vw); 
    cursor: pointer;
    transition: background 0.3s ease;
    font-size: clamp(0.7rem, 1.4vw, 0.8rem); 
    color: #ffffff;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: #1a1a1a; 
}

.cp-custom-option:hover {
    background: rgba(238, 68, 53, 0.3);
}

.cp-custom-options.active {
    display: block;
}

.cp-custom-option:hover:not(.selected) {
    background: #EE4435 !important;
    color: #ffffff !important;
}

.cp-custom-option.selected {
    background: #EE4435 !important;
    color: #ffffff !important;
    font-weight: 600;
}

.cp-custom-option:last-child {
    border-bottom: none;
}

/* Disable mouse events until initial transition over (in js) */
.cp-contact-info h1,
.cp-contact-details,
.cp-contact-social,
.cp-contact-form-container {
    pointer-events: none;
}

/* Responsive Design - */
@media (max-width: 968px) {
    .cp-contact-container {
        flex-direction: column;
        gap: min(25px, 6vh);
        padding: 7.5vmin min(50px, 5vw); 
        max-width: 100%;
        margin-top: 30px;
    }
    
    .cp-contact-left {
        padding-top: 0;
        width: 100%;
    }
    
    .cp-contact-right {
        width: 100%;
        max-width: 100%;
    }
    
    .cp-contact-form-container {
        padding: min(1.25rem, 3vw);
        width: 100%;
        max-width: none;
    }
    
    .cp-form-row {
        flex-direction: column;
        gap: 0;
    }
}

@media (max-width: 768px) {
    .cp-contact-section {
        padding: min(70px, 8vh) 0 min(12px, 1.5vh); 
    }
    
    .cp-contact-form-container {
        padding: min(2.25rem, 5.5vw);
    }
    
    .cp-contact-left,
    .cp-contact-right {
        width: 100%;
    }
    
    .cp-contact-info h1 {
        margin-bottom: min(30px, 4vh);
    }
    
    .cp-contact-details {
        margin-bottom: min(30px, 4vh);
    }
}

@media (max-width: 468px) {
    .cp-contact-info h1 {
        max-width: 85%;
    }
}

/* Mobile controls - hidden by default, shown via media query */
.mobile-controls {
    position: fixed !important;
    right: 20px !important;
    bottom: 20px !important;
    z-index: 10000 !important;
    display: none !important; 
    flex-direction: column !important;
    gap: 10px !important;
    pointer-events: auto !important;
    transition: opacity 0.3s ease !important;
}

.mobile-scroll-btn {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    background: rgba(139, 0, 0, 0.8) !important;
    color: #ffcccc !important;
    border: 1px solid rgba(255, 102, 102, 0.5) !important;
    font-size: 20px !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3) !important;
    pointer-events: auto !important;
    transition: all 0.2s ease !important;
}

/* Hover/tap effects */
.mobile-scroll-btn:active {
    transform: scale(0.95) !important;
    background: rgba(139, 0, 0, 1) !important;
}

/* Show controls only on mobile/tablet sizes */
@media (max-width: 1000px) {
    .mobile-controls {
        display: flex !important;
    }
}

/* Optional: Hide on very small screens if needed */
@media (max-width: 480px) {
    .mobile-controls {
        right: 10px !important;
        bottom: 10px !important;
    }
    
    .mobile-scroll-btn {
        width: 45px !important;
        height: 45px !important;
    }
}

/* Smaller Devices */
@media (max-width: 1000px) {
    .hero-section h1 {
        width: 100%;
    }

    .hero-main-heading {
        width: 100%;
    }

    .cards .card-content .card-description {
        width: 90%;
    }

    .cards .card-marquee-description {
        max-width: 90%;
    }
    .navTrigger {
    display: block;
    z-index: 10000;
    margin-top: 20px;
  }
  .nav div.logo {
    padding-left: 2rem;
    z-index: 10000;
    position: relative;
  }
  .nav div.main_list {
    width: 100%;
    height: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(12, 15, 24, 0.985) 0%, rgba(8, 10, 18, 0.992) 100%);
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    transition: all 0.5s ease;
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .nav div.show_list {
    height: 100vh;
    display: block;
  }
  .nav div.main_list ul {
    flex-direction: column;
    width: 100%;
    height: 100vh;
    justify-content: flex-start;
    align-items: center;
    background-color: transparent;
    padding-top: 80px;
    box-sizing: border-box;
  }
  .nav div.main_list ul li {
    width: 100%;
    text-align: center;
    padding-right: 0;
  }
  .nav div.main_list ul li a {
    text-align: center;
    width: 100%;
    font-size: 1.2rem;
    padding: 15px;
  }


}

@media (min-width: 969px) and (max-height: 768px) {
    .cp-contact-container {
        margin: min(20px, 3.5vh) auto 0;
    }
}

/* Unified button styles for both forms */
.unified-btn {
    padding: 0.7rem 1rem;
    background: linear-gradient(170deg, #EE4435 44%, #72ADBB 98%);
    border: none;
    border-radius: 12px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    font-family: "Oxanium", sans-serif;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
}

.unified-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(238, 68, 53, 0.3);
}

/* Company label */
.company-label {
    display: none;
    z-index: 10;
    position: relative;
    margin-bottom: 20px;
}

.company-label img {
    height: 4rem; /* Significantly increased size */
    width: auto;
    display: block;
}

/* New sections between company and technology */
#intro-interactive,
#campaign-intro {
    padding: 100px 20px;
    background-color: #000000;
    color: white;
    opacity: 1;
    visibility: visible;
}

/* Crossfade transition - intro overlaps with hero for smooth blend */
#intro-interactive {
    position: relative;
    z-index: 1;
}

/* Gradient overlay at top of intro section for seamless blend from hero */
#intro-interactive::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 20vh;
    background: linear-gradient(to bottom, #000000 0%, transparent 100%);
    pointer-events: none;
    z-index: 2;
}

/* Gradient overlay at bottom of intro section for seamless blend to qiksense */
#intro-interactive::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 30vh;
    background: linear-gradient(to bottom, transparent 0%, #000000 100%);
    pointer-events: none;
    z-index: 2;
}

#intro-interactive,
#campaign-intro {
    background-color: #000;
    position: relative;
    overflow: hidden;
}

#intro-interactive,
#campaign-intro {
    height: 100vh;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Video background for new section 1 */
.section-video-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    opacity: 0;
}

.section-video-bg2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    opacity: 0;
}

#intro-interactive .container,
#campaign-intro .container {
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}


#intro-interactive h2,
#campaign-intro h2 {
    font-size: 3rem;
    margin-bottom: 20px;
    color: #EE4435;
}

#intro-interactive p,
#campaign-intro p {
    font-size: 1.2rem;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
    color: #ccc;
}

#campaign-intro::before,
#campaign-intro::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 200px;
    pointer-events: none;
    z-index: 2;
}

#campaign-intro::before {
    top: 0;
    background: linear-gradient(to bottom, 
        rgba(0,0,0,1) 0%, 
        rgba(0,0,0,0.8) 30%, 
        rgba(0,0,0,0.5) 50%,
        transparent 100%
    );
} 

#campaign-intro::after {
    bottom: 0;
    background: linear-gradient(to top, 
        rgba(0,0,0,1) 0%, 
        rgba(0,0,0,0.8) 30%, 
        rgba(0,0,0,0.5) 50%,
        transparent 100%
    );
}

/* Dark mask over campaign background video for better text readability */
#campaign-intro .video-wrapper::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.56);
    pointer-events: none;
}

@media (max-width: 768px) {
    #campaign-intro .video-wrapper::after {
        background: rgba(0, 0, 0, 0.64);
    }
}

/* New Section 1 specific styles */
.content-group, .byoc-group {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
    opacity: 0;
}

.content-group {
    opacity: 1; /* Initially visible */
}

.animated-header {
    font-size: 4rem;
    margin-bottom: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.header-left, .header-right {
    display: inline-block;
    white-space: nowrap;
    will-change: transform, opacity;
}

.subtitle {
    font-size: 1.3rem;
    line-height: 1.6;
    max-width: 700px;
    margin: 0 auto 50px;
    color: #ccc;
    opacity: 0;
    transform: translateY(30px);
}

.subtitle.appear {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile responsive styles for intro-interactive and campaign-intro sections */
@media (max-width: 1024px) {
    #intro-interactive,
    #campaign-intro {
        padding: 80px 20px;
    }

    .animated-header {
        font-size: 3rem;
        margin-bottom: 25px;
    }

    #intro-interactive h2,
    #campaign-intro h2 {
        font-size: 2.5rem;
    }

    .subtitle {
        font-size: 1.2rem;
        max-width: 600px;
    }
}

@media (max-width: 768px) {
    #intro-interactive,
    #campaign-intro {
        padding: 60px 15px;
        min-height: 80vh;
    }

    .animated-header {
        font-size: 2.5rem;
        margin-bottom: 20px;
        gap: 8px;
        flex-wrap: wrap;
    }

    #intro-interactive h2,
    #campaign-intro h2 {
        font-size: 2rem;
        margin-bottom: 15px;
    }

    .subtitle {
        font-size: 1.1rem;
        max-width: 500px;
        margin: 0 auto 30px;
        padding: 0 10px;
    }

    #intro-interactive p,
    #campaign-intro p {
        font-size: 1.1rem;
        max-width: 500px;
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    #intro-interactive,
    #campaign-intro {
        padding: 40px 15px;
        min-height: 100vh;
    }

    .section-video-bg,
    .section-video-bg2 {
        object-fit: cover;
        min-height: 100vh;
    }

    .content-group,
    .byoc-group {
        padding: 0 15px;
        width: calc(100% - 30px);
    }

    .animated-header {
        font-size: 1.8rem;
        margin-bottom: 15px;
        flex-direction: column;
        gap: 5px;
    }

    .header-left, .header-right {
        white-space: normal;
        text-align: center;
    }

    #intro-interactive h2,
    #campaign-intro h2 {
        font-size: 1.6rem;
        margin-bottom: 12px;
    }

    .subtitle {
        font-size: 1rem;
        line-height: 1.5;
        max-width: 100%;
        margin: 0 auto 20px;
    }

    #intro-interactive p,
    #campaign-intro p {
        font-size: 1rem;
        line-height: 1.5;
        max-width: 100%;
    }
}

.byoc-header {
    font-size: 12rem; /* Make it even bigger to match the large letters */
    margin: 50px 0 30px;
    font-weight: 700;
    letter-spacing: 1px;
    text-align: center;
    color: #fff;
    opacity: 0;
    position: relative;
    display: inline-block;
}

.byoc-letter {
    display: inline-block;
    opacity: 0;
    transform: translateY(50px);
    font-size: 3rem; /* Make the letters bigger */
    font-weight: bold;
}

.byoc-subtitle {
    font-size: 1.4rem;
    line-height: 1.7;
    max-width: 800px;
    margin: 0 auto 50px;
    color: #ccc;
    opacity: 0;
}

/* Gradient text for AI-DRIVEN INTERACTIVE */
.gradient-text {
    background: linear-gradient(140deg, #0D9FA8 30%, #A4B6B0 70%, #FB9082 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.gradient-text2 {
    background: linear-gradient(to right, #FF6B35 50%, #A4B6B0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.letter-gradient1 {
    background: linear-gradient(to right, #0D9FA8 50%, #0D9FA8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.letter-gradient2 {
    background: linear-gradient(to right, #0D9FA8 20%, #0D9FA8);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.letter-gradient3 {
    background: linear-gradient(to right, #0D9FA8 20%, #A4B6B0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.letter-gradient4 {
    background: linear-gradient(140deg, #A4B6B0 40%, #FB9082 70%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* Responsive styles for BYOC header and letters */
@media (max-width: 1024px) {
    .byoc-header {
        font-size: 8rem;
        margin: 40px 0 25px;
    }

    .byoc-letter {
        font-size: 2.5rem;
    }

    .byoc-subtitle {
        font-size: 1.3rem;
        max-width: 700px;
    }
}

@media (max-width: 768px) {
    .byoc-header {
        font-size: 5rem;
        margin: 30px 0 20px;
    }

    .byoc-letter {
        font-size: 2rem;
    }

    .byoc-subtitle {
        font-size: 1.2rem;
        max-width: 600px;
        margin: 0 auto 30px;
        padding: 0 15px;
    }
}

@media (max-width: 480px) {
    .byoc-header {
        font-size: 3rem;
        margin: 20px 0 15px;
    }

    .byoc-letter {
        font-size: 1.5rem;
    }

    .byoc-subtitle {
        font-size: 1rem;
        line-height: 1.6;
        max-width: 100%;
        margin: 0 auto 20px;
    }
}

/* BYOC ANIMATION */
#builder-demo-section {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    overflow: hidden;
    padding: 0;
    box-sizing: border-box;
    background-color: #0a0a0a;
    z-index: 10;
}

/* Dashboard header layer (inside builder-demo-section) */
#dashboard-header-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #0a0a0a;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
}

.dashboard-header-video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    opacity: 0.4;
    transform: translate(-50%, -50%) scale(1.15);
}

#dashboard-header-layer .db-header-container {
    position: relative;
    z-index: 2;
}

.builder-demo-header {
    text-align: center;
    padding: 8vh 20px 2vh;
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.builder-demo-title {
    font-family: "Oxanium", sans-serif;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 600;
    color: #0D9FA8;
    margin-bottom: 1vh;
}

.builder-demo-subtitle {
    font-family: "Oxanium", sans-serif;
    font-size: clamp(0.8rem, 1.5vw, 1rem);
    color: rgba(255, 255, 255, 0.7);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
}

.byoc-browser-window {
    width: 100vw;
    height: 100vh;
    background: transparent;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
}

.byoc-window-content {
    width: 100%; height: 100%;
    display: flex; flex-direction: column;
    transform-origin: center center;
    position: relative;
    z-index: 1;
    -webkit-font-smoothing: antialiased;
}

/* --- AI SCENE STYLES --- */
/* AI Greeting (Hey Raf, What can I help you create?) */
.byoc-ai-greeting {
    position: absolute;
    top: 36%;
    left: 20%;
    text-align: left;
    width: 60%;
    max-width: 700px;
    z-index: 100;
}

.byoc-greeting-logo {
    height: 22px;
    width: auto;
    margin-right: 8px;
    display: inline-block;
    vertical-align: baseline;
    position: relative;
    top: 4px;
}

.byoc-greeting-name {
    font-family: "Oxanium", sans-serif;
    font-size: 1.4rem;
    color: rgba(255, 255, 255, 0.7);
    display: inline-block;
    margin-bottom: 8px;
    font-weight: 500;
    line-height: 1;
}

.byoc-greeting-question {
    font-family: "Oxanium", sans-serif;
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    font-weight: 500;
    color: #fff;
    margin: 0;
    line-height: 1.3;
}

/* --- CONTENT CARDS LAYER --- */
#byoc-content-cards {
    position: fixed;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1200px;
    height: min(330px, 38vh);
    z-index: 90;
    opacity: 0;
    pointer-events: none;
}

.byoc-content-card {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    opacity: 0;
}

.byoc-text-card {
    flex: 0 0 420px;
    padding: 45px;
    background: #000000;
    border-radius: 16px;
    position: relative;
    transform: translateX(-100px);
}

/* Gradient glow effect for content cards */
.byoc-text-card::after {
    content: '';
    position: absolute;
    inset: -5px;
    border-radius: 24px;
    background: linear-gradient(140deg, #0D9FA8 0%, #FB9082 100%);
    filter: blur(10px);
    opacity: 0.25;
    z-index: -1;
}

.byoc-text-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 16px;
    padding: 2px;
    background: linear-gradient(140deg, #0D9FA8 0%, #FB9082 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.byoc-card-title {
    font-family: "Oxanium", sans-serif;
    font-size: 2rem;
    font-weight: 600;
    color: #0D9FA8;
    margin-bottom: 20px;
    text-align: center;
}

.byoc-card-desc {
    font-family: "Oxanium", sans-serif;
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
    text-align: center;
}

.byoc-image-card {
    flex: 0 0 min(525px, 40vw);
    height: min(330px, 38vh);
    border-radius: 16px;
    overflow: hidden;
    opacity: 0;
}

.byoc-image-card img,
.byoc-image-card video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* --- FLOW CARDS (Final) --- */
#byoc-flow-cards {
    position: fixed;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    z-index: 85;
    opacity: 0;
    pointer-events: none;
}

.byoc-flow-card {
    width: 280px;
    height: 160px;
    background: #000000;
    border: none;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateX(-50px);
    position: relative;
}

#byoc-flow-engage {
    z-index: 2;
}

/* Gradient glow effect for flow cards */
.byoc-flow-card::after {
    content: '';
    position: absolute;
    inset: -5px;
    border-radius: 24px;
    background: linear-gradient(140deg, #0D9FA8 0%, #FB9082 100%);
    filter: blur(10px);
    opacity: 0.25;
    z-index: -1;
}

/* Gradient border for flow cards */
.byoc-flow-card::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 16px;
    padding: 2px;
    background: linear-gradient(140deg, #0D9FA8 0%, #FB9082 100%);
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}

.byoc-flow-card span {
    font-family: "Oxanium", sans-serif;
    font-size: 1.8rem;
    font-weight: 600;
    color: #0D9FA8;
    position: relative;
    z-index: 1;
}

.byoc-flow-arrow {
    width: 60px;
    height: 14px;
    opacity: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.byoc-flow-arrow svg {
    width: 100%;
    height: 100%;
}

.byoc-ai-bg-pattern {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none;
    display: none;
}

.byoc-ai-header {
    font-size: 2.5rem;
    font-weight: 500;
    margin-bottom: 40px;
    text-align: left;
    width: 60%;
    line-height: 1.3;
    color: rgba(255, 255, 255, 0.98);
    position: relative;
    letter-spacing: -0.5px;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.byoc-ai-header span {
    display: block;
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.45);
    margin-bottom: 12px;
    font-weight: 400;
    letter-spacing: 0.5px;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}

.byoc-ai-input-container {
    background: linear-gradient(135deg, rgba(25, 28, 32, 0.15), rgba(18, 20, 24, 0.9));
    border: 1px solid rgba(255, 255, 255, 0.04);
    border-radius: 20px;
    padding: 18px 24px;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.06) inset,
        0 1px 0 0 rgba(255, 255, 255, 0.1) inset,
        0 8px 24px rgba(0, 0, 0, 0.5),
        0 16px 48px rgba(0, 0, 0, 0.4),
        0 0 60px rgba(13, 159, 168, 0.1);
    max-width: 60%;
    width: 60%;
    position: absolute;
    top: 37%;
    left: 20%;
    backdrop-filter: blur(60px) saturate(200%);
    overflow: hidden;
    z-index: 95;
}

.byoc-ai-input-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg,
        rgba(255, 255, 255, 0.12),
        rgba(255, 255, 255, 0.04) 50%,
        transparent);
    border-radius: 20px 20px 0 0;
    opacity: 0.6;
}

.byoc-ai-input-container::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 20px;
    padding: 1px;
    background: linear-gradient(135deg,
        rgba(13, 159, 168, 0.2),
        transparent 40%,
        transparent 60%,
        rgba(13, 159, 168, 0.15));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    opacity: 0.4;
    animation: borderGlow 3s ease-in-out infinite;
}

@keyframes borderGlow {
    0%, 100% {
        opacity: 0.3;
    }
    50% {
        opacity: 0.6;
    }
}

.byoc-ai-chips { display: none; }
.byoc-ai-chip {
    display: none;
}

.byoc-ai-text-field {
    font-size: 1rem;
    color: #fff;
    min-height: 50px;
    font-family: 'Oxanium', sans-serif;
    display: flex;
    align-items: center;
    transition: color 0s;
    font-weight: 400;
    letter-spacing: 0.5px;
    padding-right: 60px;
    position: relative;
    z-index: 2;
}

.byoc-ai-send-btn {
    position: absolute;
    bottom: 18px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, #159BA5 0%, #0D9FA8 100%);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    color: #fff;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.1) inset,
        0 1px 0 0 rgba(255, 255, 255, 0.2) inset,
        0 4px 12px rgba(13, 159, 168, 0.5),
        0 8px 24px rgba(13, 159, 168, 0.3),
        0 0 40px rgba(13, 159, 168, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 3;
    overflow: hidden;
}

.byoc-ai-send-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.15), transparent);
    border-radius: 12px 12px 0 0;
}

.byoc-ai-send-btn:hover {
    transform: translateY(-2px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.15) inset,
        0 1px 0 0 rgba(255, 255, 255, 0.25) inset,
        0 6px 16px rgba(13, 159, 168, 0.6),
        0 12px 32px rgba(13, 159, 168, 0.4),
        0 0 60px rgba(13, 159, 168, 0.3);
}

.byoc-ai-send-btn:active {
    transform: translateY(0px);
}

/* --- MAIN APP UI --- */
.byoc-top-bar {
    display: none;
}
.byoc-window-controls { display: none; }
.byoc-dot { display: none; }

.byoc-app-body { display: flex; flex-grow: 1; position: relative; height: 100%; overflow: hidden; opacity: 1; }

.byoc-canvas {
    flex-grow: 1; position: relative;
    background: transparent;
    transform-origin: 50% 50%;
}

/* NODES */
.byoc-canvas-node {
    position: absolute;
    background: linear-gradient(135deg, rgba(30, 35, 40, 0.95), rgba(20, 25, 30, 0.98));
    padding: 20px 24px;
    border-radius: 16px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4),
                0 0 1px rgba(255, 255, 255, 0.1) inset,
                0 4px 8px rgba(0, 0, 0, 0.2);
    width: 180px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    opacity: 0;
    z-index: 5;
    font-size: 1rem;
    font-weight: 500;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 80px;
    transform: translate(-50%, -50%);
    backdrop-filter: blur(20px);
    color: rgba(255, 255, 255, 0.9);
    transition: all 0.3s ease;
}

.byoc-canvas-node:hover {
    transform: translate(-50%, -50%) translateY(-2px);
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.5),
                0 0 1px rgba(255, 255, 255, 0.15) inset;
}

.byoc-node-attract {
    top: 35%; left: 20%;
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.4),
        0 0 1px rgba(255, 255, 255, 0.1) inset,
        -6px 0 20px rgba(229, 68, 55, 0.4) inset,
        -3px 0 12px rgba(229, 68, 55, 0.6) inset,
        -12px 0 30px rgba(229, 68, 55, 0.2);
}
.byoc-node-engage {
    top: 35%; left: 50%;
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.4),
        0 0 1px rgba(255, 255, 255, 0.1) inset,
        -6px 0 20px rgba(13, 159, 168, 0.4) inset,
        -3px 0 12px rgba(13, 159, 168, 0.6) inset,
        -12px 0 30px rgba(13, 159, 168, 0.2);
}
.byoc-node-reward {
    top: 35%; left: 80%;
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.4),
        0 0 1px rgba(255, 255, 255, 0.1) inset,
        -6px 0 20px rgba(114, 173, 187, 0.4) inset,
        -3px 0 12px rgba(114, 173, 187, 0.6) inset,
        -12px 0 30px rgba(114, 173, 187, 0.2);
} 
.byoc-node-icon {
    font-size: 28px;
    margin-bottom: 8px;
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

.byoc-connection-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
    filter: drop-shadow(0 0 6px rgba(13, 159, 168, 0.4));
}
.byoc-connector-path {
    fill: none;
    stroke: rgba(13, 159, 168, 0.6);
    stroke-width: 3;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
}

/* GRID OVERLAY */
#byoc-grid-overlay {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: transparent;
    z-index: 50;
    opacity: 0;
    pointer-events: none;
}

.byoc-grid-container {
    width: 90%;
    max-width: 1100px;
    max-height: 80vh;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    column-gap: var(--byoc-grid-gap-col, 12px);
    row-gap: var(--byoc-grid-gap-row, 18px);
    position: absolute;
    top: var(--byoc-grid-top, 60%);
    left: 50%;
    transform: translate(-50%, -50%);
}

.byoc-grid-item {
    background: #eee;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.05);
    position: relative;
    display: flex; align-items: center; justify-content: center;
    font-weight: 600; color: #555;
    aspect-ratio: 9 / 16;
}

.byoc-grid-item img.byoc-thumb {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.3s;
    image-rendering: -webkit-optimize-contrast;
}

/* CENTER ITEM & WHEEL IMAGES */
.byoc-g-center {
    background-color: #fff; position: relative; z-index: 10;
} 

.byoc-wheel-wrapper {
    width: 100%; height: 100%;
    position: relative;
    display: flex; align-items: center; justify-content: center;
    z-index: 10;
}

.byoc-wheel-img {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    object-fit: cover;
    opacity: 0;
    backface-visibility: hidden;
}
.byoc-wheel-img.byoc-active { opacity: 1; }

/* --- ZOOM IMAGE OVERLAY --- */
#byoc-zoom-overlay {
    position: fixed;
    top: var(--byoc-zoom-top, 66%);
    left: var(--byoc-zoom-left-center, 50%);
    z-index: 202;
    opacity: 0;
    pointer-events: none;
    overflow: hidden;
    will-change: top, left, scale, opacity;
}

.byoc-zoom-image-wrapper {
    position: relative;
    width: 150px;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border-radius: 7px;
}

.byoc-zoom-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.byoc-zoom-img.active {
    opacity: 1;
}

#byoc-zoom-img-1,
#byoc-zoom-img-2,
#byoc-zoom-video {
    border-radius: 20px;
}

/* --- RULER MEASURABLE OVERLAY --- */
#byoc-ruler-overlay {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 250;
    pointer-events: none;
    opacity: 0;
}

.byoc-ruler-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.byoc-ruler-subtitle {
    color: #ffffff;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-align: center;
    margin: 0;
}

.byoc-ruler-stack {
    position: relative;
    width: 1000px;
    height: auto;
}

.byoc-ruler-img {
    width: 100%;
    height: auto;
    display: block;
}

#byoc-ruler-only {
    position: relative;
}

#byoc-ruler-measurable {
    position: absolute;
    top: 0;
    left: 0;
}

/* --- CUSTOMIZER PANEL (phone messaging UI) --- */
#byoc-customizer-panel {
    position: fixed;
    top: 57%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 201;
    opacity: 0;
    pointer-events: none;
}

.byoc-phone-frame {
    width: 900px;
    height: 550px;
    background: #1e1e1e;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.5),
        0 8px 32px rgba(0, 0, 0, 0.3);
    position: relative;
}

/* Status bar - Hidden for IDE style */
.byoc-phone-statusbar {
    display: none;
}

.byoc-phone-time {
    font-family: "Inter", "SF Pro", -apple-system, sans-serif;
    font-size: 0.8rem;
    font-weight: 600;
    color: white;
    letter-spacing: 0.02em;
}

.byoc-phone-icons {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Chat header - IDE style */
.byoc-chat-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    background: #252525;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
    width: 50%;
}

.byoc-chat-avatar {
    width: 24px;
    height: 24px;
    border-radius: 4px;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.byoc-chat-avatar img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.byoc-chat-header-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.byoc-chat-header-name {
    font-family: "Inter", "SF Pro", -apple-system, sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    color: #cccccc;
}

.byoc-chat-header-status {
    display: none;
}

/* Messages area - IDE style */
.byoc-chat-messages {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.1) transparent;
    -ms-overflow-style: none;
    width: 50%;
}
.byoc-chat-messages::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.byoc-msg {
    max-width: 90%;
    padding: 12px 16px;
    font-family: "Inter", "SF Pro", -apple-system, sans-serif;
    font-size: 0.8rem;
    line-height: 1.5;
    border-radius: 6px;
    word-wrap: break-word;
}

.byoc-msg-user {
    align-self: flex-end;
    background: linear-gradient(135deg, #0D9FA8, #0a8a92);
    color: white;
}

.byoc-msg-ai {
    align-self: flex-start;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.byoc-msg-new {
    opacity: 0;
}

/* Input area - IDE style */
.byoc-chat-input-area {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 20px;
    background: #252525;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
    width: 50%;
}

.byoc-chat-input-field {
    flex: 1;
    height: 32px;
    background: #2d2d2d;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 4px;
    padding: 0 12px;
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: "Inter", "SF Pro", -apple-system, sans-serif;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.7);
    overflow: hidden;
    white-space: nowrap;
}

.byoc-chat-input-field .byoc-panel-highlight {
    color: #4ec9b0;
    font-weight: 500;
    font-size: 0.8rem;
    margin: 0;
}

.byoc-chat-send-btn {
    width: 32px;
    height: 32px;
    min-width: 32px;
    border-radius: 4px;
    background: #0D9FA8;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: none;
    color: white;
    transition: background 0.2s;
}

.byoc-chat-send-btn:hover {
    background: #0eb4bc;
}

/* Home indicator - Hidden for IDE style */
.byoc-phone-home-indicator {
    display: none;
}


/* --- FINAL SCENE OVERLAY --- */
#byoc-final-scene {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    pointer-events: none; 
    z-index: 500; /* Sit on top of everything inside browser-window */
    opacity: 0;
}

#byoc-final-video {
    /* Match size of byoc-wheel images after zoom (grid item × 2 scale) */
    width: 450px;
    height: 700px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.3);
    background: #000;
}

/* OVERLAYS */
.byoc-text-overlay {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    background: rgba(255, 255, 255, 0.8);
    padding: 16px 32px;
    border-radius: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4),
                0 0 1px rgba(255, 255, 255, 0.2) inset,
                0 0 20px rgba(13, 159, 168, 0.3);
    z-index: 1000;
    width: 90%;
    max-width: 400px;
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.byoc-text-overlay h2 {
    margin: 0 0 5px 0;
    color: rgba(0, 0, 0, 0.95);
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0.3px;
}
.byoc-text-overlay p {
    margin: 0;
    color: rgba(0, 0, 0, 0.85);
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 400;
}

.byoc-cursor {
    position: absolute;
    top: 0; left: 0;
    width: 32px; height: 32px;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
}

#byoc-confetti-container {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    pointer-events: none; z-index: 900; overflow: hidden;
}
.byoc-confetti { 
    position: absolute; width: 12px; height: 12px; 
    background: red; top: -20px; opacity: 0; 
}

@media (max-width: 768px) {
    .byoc-node-attract { left: 50%; top: 20%; }
    .byoc-node-engage { left: 50%; top: 50%; }
    .byoc-node-reward { left: 50%; top: 80%; }
    .byoc-canvas-node { width: 140px; height: 70px; padding: 16px 20px; }
    .byoc-grid-container {
        width: 90%;
        max-width: 320px;
        max-height: 65vh;
        column-gap: 8px;
        row-gap: 12px;
        grid-template-columns: repeat(3, 1fr);
        top: 65% !important;
        grid-auto-flow: row;
    }

    /* Hide all grid items by default on mobile */
    .byoc-grid-item {
        display: none;
        /* Use padding-ratio for better Android compatibility than aspect-ratio */
        height: 0;
        padding-bottom: 177.7778%;
        aspect-ratio: auto;
        min-height: 0;
    }

    /* Show only first 4 items, center wheel, and items 5-8 */
    .byoc-grid-item:nth-child(1),
    .byoc-grid-item:nth-child(2),
    .byoc-grid-item:nth-child(3),
    .byoc-grid-item:nth-child(4),
    .byoc-grid-item:nth-child(5),
    .byoc-grid-item:nth-child(6),
    .byoc-grid-item:nth-child(7),
    .byoc-grid-item:nth-child(8),
    .byoc-grid-item.byoc-g-center {
        display: block;
    }

    .byoc-grid-item img.byoc-thumb,
    .byoc-grid-item .byoc-wheel-wrapper {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
    }

    /* Reorder items so center wheel is in position 5 (middle of 3x3) */
    .byoc-grid-item:nth-child(1) { order: 1; }
    .byoc-grid-item:nth-child(2) { order: 2; }
    .byoc-grid-item:nth-child(3) { order: 3; }
    .byoc-grid-item:nth-child(4) { order: 4; }
    .byoc-grid-item.byoc-g-center { order: 5; }
    .byoc-grid-item:nth-child(5) { order: 6; }
    .byoc-grid-item:nth-child(6) { order: 7; }
    .byoc-grid-item:nth-child(7) { order: 8; }
    .byoc-grid-item:nth-child(8) { order: 9; }
    .byoc-ai-header { width: 90%; font-size: 1.8rem; }
    .byoc-ai-input-container {
        width: 90%;
        max-width: 90%;
        margin-bottom: 20px;
        padding: 16px 20px;
        border-radius: 18px;
    }

    .byoc-ai-input-container::before,
    .byoc-ai-input-container::after {
        border-radius: 18px;
    }
    .byoc-ai-send-btn {
        width: 36px;
        height: 36px;
        bottom: 16px;
        right: 18px;
    }
    .byoc-ai-text-field {
        font-size: 0.95rem;
        min-height: 44px;
    }
    #byoc-final-video { width: 320px; height: 570px; }

    /* Adjust AI layer spacing for mobile */
    #byoc-ai-layer { gap: 20px; }

    /* Content cards responsive */
    #byoc-content-cards {
        width: 90%;
        top: 52%;
    }

    .byoc-content-card {
        flex-direction: column;
        gap: 20px;
    }

    .byoc-text-card {
        flex: none;
        width: 100%;
        max-width: 280px;
        padding: 20px;
    }

    .byoc-card-title {
        font-size: 1.3rem;
        margin-bottom: 10px;
    }

    .byoc-card-desc {
        font-size: 0.85rem;
    }

    .byoc-image-card {
        flex: none;
        width: 100%;
        max-width: 320px;
        height: 200px;
    }

    /* Flow cards responsive */
    #byoc-flow-cards {
        flex-direction: column;
        gap: 0;
        top: 48%;
    }

    .byoc-flow-card {
        width: 160px;
        height: 70px;
    }

    .byoc-flow-card span {
        font-size: 1.1rem;
    }

    .byoc-flow-arrow {
        width: 28px;
        height: 28px;
        margin: -2px 0;
        overflow: visible;
    }

    .byoc-flow-arrow svg {
        transform: rotate(90deg);
        width: 28px;
        height: 28px;
    }

    /* AI Greeting responsive */
    .byoc-ai-greeting {
        width: 90%;
        top: 35% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        text-align: center;
    }

    .byoc-ai-input-container {
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 92% !important;
        max-width: none !important;
    }

    .byoc-greeting-logo {
        height: 16px;
        margin-right: 6px;
        top: 2px;
    }

    .byoc-greeting-name {
        font-size: 1.2rem;
        line-height: 1;
    }

    .byoc-greeting-question {
        font-size: 1.4rem;
    }

    /* Zoom overlay - push to right, 60% visible on mobile */
    #byoc-zoom-overlay {
        z-index: 200;
    }

    .byoc-zoom-image-wrapper {
        width: 120px;
        border-radius: 5px;
    }

    /* Customizer panel - centered at bottom, input only */
    #byoc-customizer-panel {
        top: auto !important;
        bottom: 10% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    .byoc-phone-frame {
        width: auto;
        max-width: none;
        height: auto;
        border-radius: 12px;
        background: transparent;
        border: none;
        box-shadow: none;
    }

    .byoc-phone-statusbar {
        display: none;
    }

    .byoc-chat-header {
        display: none;
    }

    .byoc-chat-messages {
        display: none;
    }

    .byoc-msg-history {
        display: none;
    }

    #byoc-msg-new-user,
    #byoc-msg-ai-response {
        display: none;
    }

    .byoc-chat-input-area {
        padding: 12px 16px;
        gap: 10px;
        width: auto;
        background: rgba(0, 0, 0, 0.8);
        border-radius: 12px;
        border: 1px solid rgba(13, 159, 168, 0.3);
    }

    .byoc-chat-input-field {
        height: 40px;
        font-size: 0.75rem;
        padding: 0 12px;
        border-radius: 8px;
        width: 200px;
    }

    .byoc-chat-input-field .byoc-panel-highlight {
        font-size: 0.75rem;
    }

    .byoc-chat-send-btn {
        width: 40px;
        height: 40px;
        min-width: 40px;
        flex-shrink: 0;
        border-radius: 8px;
    }

    .byoc-chat-send-btn svg {
        width: 12px;
        height: 12px;
    }

    .byoc-phone-home-indicator {
        display: none;
    }

    /* Ruler rotated 90 degrees left on mobile */
    #byoc-ruler-overlay {
        transform-origin: center center;
    }

    .byoc-ruler-content {
        transform: none;
        transform-origin: center center;
    }

    .byoc-ruler-stack {
        width: 90vw;
        max-width: 400px;
    }

    .byoc-ruler-subtitle {
        font-size: 1rem;
    }
}

/* Builder demo mobile - 480px */
@media (max-width: 480px) {
    #builder-demo-section {
        padding: 0 15px;
    }

    .builder-demo-header {
        padding: 6vh 15px 2vh;
    }

    .builder-demo-title {
        font-size: 1.3rem;
    }

    .builder-demo-subtitle {
        font-size: 0.85rem;
    }

    .byoc-ai-greeting {
        width: 95%;
        top: 35% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        text-align: center;
        padding: 0 10px;
    }

    .byoc-ai-input-container {
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 92% !important;
        max-width: none !important;
    }

    .byoc-greeting-logo {
        height: 14px;
        margin-right: 5px;
        top: 2px;
    }

    .byoc-greeting-name {
        font-size: 1rem;
        margin-bottom: 6px;
        line-height: 1;
    }

    .byoc-greeting-question {
        font-size: 1.2rem;
        line-height: 1.4;
    }

    /* Content cards mobile */
    #byoc-content-cards {
        top: 48%;
    }

    .byoc-content-card {
        flex-direction: column;
        gap: 12px;
    }

    .byoc-text-card {
        flex: none;
        width: 100%;
        max-width: 100%;
        padding: 16px 18px;
        transform: none;
    }

    .byoc-card-title {
        font-size: 1.2rem;
        margin-bottom: 10px;
    }

    .byoc-card-desc {
        font-size: 0.8rem;
    }

    .byoc-image-card {
        width: 100%;
        max-width: 100%;
        height: 180px;
    }

    /* Flow cards mobile */
    .byoc-flow-card {
        width: 140px;
        height: 80px;
    }

    .byoc-flow-card span {
        font-size: 1rem;
    }

}

/* postBYOC Interactive Contents */
/* --- 2. Typography --- */
#pbyoc-header-section {
    padding: 60px 0 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pbyoc-header-container {
    text-align: center;
    padding: 20vh 20px 8vh 20px;
    z-index: 2;
}

.pbyoc-header-container h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    color: #fff;
    letter-spacing: 1px;
    /* background: linear-gradient(to right, #EE4435 50%, #72ADBB);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text; */
    max-width: 800px;
}

.pbyoc-section-subtitle {
    font-size: 1.2rem;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
    color: #ccc;
}

/* pbyoc-header-section Responsive Styles */
@media (max-width: 1024px) {
    #pbyoc-header-section {
        padding: 50px 0 15px 0;
    }

    .pbyoc-header-container h2 {
        font-size: 2.2rem;
        margin-bottom: 18px;
        max-width: 700px;
    }

    .pbyoc-section-subtitle {
        font-size: 1.1rem;
        max-width: 700px;
    }
}

@media (max-width: 768px) {
    #pbyoc-header-section {
        padding: 40px 0 15px 0;
    }

    .pbyoc-header-container {
        padding: 12vh 15px 6vh 15px;
    }

    .pbyoc-header-container h2 {
        font-size: 1.8rem;
        margin-bottom: 15px;
        line-height: 1.2;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }

    .pbyoc-section-subtitle {
        font-size: 1rem;
        line-height: 1.5;
        max-width: 600px;
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    #pbyoc-header-section {
        padding: 30px 0 10px 0;
    }

    .pbyoc-header-container {
        padding: 10vh 10px 5vh 10px;
    }

    .pbyoc-header-container h2 {
        font-size: 1.4rem;
        margin-bottom: 12px;
        line-height: 1.3;
        max-width: 100%;
        word-wrap: break-word;
    }

    .pbyoc-section-subtitle {
        font-size: 0.9rem;
        line-height: 1.4;
        max-width: 100%;
        padding: 0 5px;
    }
}

/* --- 3. Section & Grid --- */
#technologies-section {
    width: 100%;
    min-height: 100vh; 
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
    position: relative;
    
    /* --- THE FIX IS HERE --- */
    background-color: #000000; /* 1. Must match body color so it's not transparent */
    z-index: 1;                /* 2. Ensures it sits above the pin-spacer */
}

.grid-container {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
    max-width: 100vw;
    position: relative;
    overflow: hidden;
    padding: 60px 0;
}

/* Grid Row */
.grid-row {
    width: 100%;
    overflow: visible;
    position: relative;
    padding: 30px 0;
    margin: -30px 0;
}

/* Grid Track - holds the items */
.grid-track {
    display: flex;
    gap: 30px;
    width: max-content;
}

/* Marquee Animation - Top Row (moves left) */
.grid-row-top .grid-track {
    animation: marquee-left 40s linear infinite;
}

/* Marquee Animation - Bottom Row (moves right) */
.grid-row-bottom .grid-track {
    animation: marquee-right 40s linear infinite;
}

@keyframes marquee-left {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

@keyframes marquee-right {
    0% {
        transform: translateX(-50%);
    }
    100% {
        transform: translateX(0);
    }
}

/* Pause animation on hover */
.grid-row:hover .grid-track {
    animation-play-state: paused;
}

/* --- 4. Grid Items --- */
.grid-item {
    position: relative;
    border-radius: 16px;
    cursor: pointer;
    overflow: hidden;
    background: #222;
    width: 480px;
    height: 340px;
    flex-shrink: 0;
    transition: all 0.4s ease;
}

.grid-img,
.grid-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
    display: block;
    opacity: 0.7;
}

.grid-video {
    pointer-events: none;
}

/* Hover Effects */
.grid-item::after {
    content: '';
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
    background-color: #EE4435;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    mix-blend-mode: overlay;
}

.grid-item:hover {
    z-index: 2;
    transform: scale(1.05);
}

.grid-item:hover .grid-img,
.grid-item:hover .grid-video {
    opacity: 1;
}

.grid-item:hover::after {
    opacity: 0;
}

/* --- 5. THE FULLSCREEN OVERLAY (Hidden by default) --- */
#fullscreen-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    background: black;
    display: flex; /* Flex to center content */
    align-items: center;
    justify-content: center;
    
    /* Start hidden and small (will be animated) */
    opacity: 0; 
    visibility: hidden;
    pointer-events: none; /* Let clicks pass when hidden */
    
    overflow: hidden;
}

/* Active state for the overlay */
#fullscreen-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

#overlay-video {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Show full video */
}

/* Controls inside Overlay */
.overlay-close-btn {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background: #EE4435;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s ease 0.5s; /* Delay appearance */
}

#fullscreen-overlay.active .overlay-close-btn {
    opacity: 1;
    transform: scale(1);
}

.overlay-play-hint {
    position: absolute;
    font-size: 4rem;
    color: rgba(255,255,255,0.7);
    pointer-events: none;
    opacity: 0; 
    transition: opacity 0.3s;
}

#fullscreen-overlay.active .overlay-play-hint {
    opacity: 1;
    transition-delay: 0.5s;
}

/* Helper class when video is playing */
#fullscreen-overlay.playing .overlay-play-hint {
    opacity: 0;
}

/* --- BYOC TO DASHBOARD TRANSITION OVERLAY --- */
#byoc-transition-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #ffffff;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
}

#byoc-target-icon {
    position: absolute;
    width: 80px;
    height: 80px;
    opacity: 0;
    filter: drop-shadow(0 0 8px rgba(13, 159, 168, 0.6));
    z-index: 10001;
}

/* --- 6. Responsive --- */
@media (max-width: 800px) {
    #technologies-section {
        height: auto;
        min-height: auto;
        justify-content: flex-start;
        padding: 20px 15px 40px;
    }

    .grid-container {
        gap: 20px;
    }

    .grid-track {
        gap: 20px;
    }

    .grid-item {
        width: 340px;
        height: 250px;
    }

    /* Faster animation on mobile */
    .grid-row-top .grid-track {
        animation: marquee-left 30s linear infinite;
    }

    .grid-row-bottom .grid-track {
        animation: marquee-right 30s linear infinite;
    }
}

@media (max-width: 768px) {
    .grid-container {
        gap: 15px;
    }

    .grid-track {
        gap: 15px;
    }

    .grid-item {
        width: 280px;
        height: 210px;
    }

    /* Keep faster animation on mobile */
    .grid-row-top .grid-track {
        animation: marquee-left 28s linear infinite;
    }

    .grid-row-bottom .grid-track {
        animation: marquee-right 28s linear infinite;
    }
}

@media (max-width: 480px) {
    .grid-container {
        gap: 12px;
    }

    .grid-track {
        gap: 12px;
    }

    .grid-item {
        width: 240px;
        height: 180px;
        border-radius: 12px;
    }

    /* Faster animation for smaller items */
    .grid-row-top .grid-track {
        animation: marquee-left 25s linear infinite;
    }

    .grid-row-bottom .grid-track {
        animation: marquee-right 25s linear infinite;
    }
}

/* --- DASHBOARD WRAPPER --- */
/* --- DASHBOARD SECTION --- */

/* Note: #dashboard-header section removed - content moved to #dashboard-header-layer inside builder-demo-section */

.db-header-container {
    text-align: center;
    padding: 0 20px;
    z-index: 2;
}

.db-header-container h2 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    letter-spacing: 1px;
    background: linear-gradient(140deg, #0D9FA8 30%, #A4B6B0 70%, #FB9082 90%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.db-section-subtitle {
    font-size: 1.2rem;
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
    color: #ccc;
}

/* === NEW DASHBOARD SECTION === */
.db-section {
    height: 100vh;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: #0a0a0a;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(13, 159, 168, 0.08) 0%, transparent 50%),
        radial-gradient(circle at 80% 50%, rgba(229, 68, 55, 0.08) 0%, transparent 50%);
}

.db-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 40px 40px;
    opacity: 0.4;
    pointer-events: none;
}

.db-scene-container {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    perspective: 1500px;
    transform-style: preserve-3d;
}

/* === DATA CARDS (Scene 1) === */
.db-flying-cards {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-style: preserve-3d;
    padding-top: 10%;
}

.db-data-card {
    position: absolute;
    width: 280px;
    height: 180px;
    background: linear-gradient(135deg, rgba(18, 18, 24, 0.95) 0%, rgba(25, 25, 35, 0.95) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-radius: 20px;
    padding: 24px;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.6),
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        inset 100px 100px 80px -80px rgba(13, 159, 168, 0.2),
        inset 50px 0 30px -20px rgba(13, 159, 168, 0.3),
        inset 0 50px 30px -20px rgba(251, 144, 130, 0.2);
    /* DO NOT MODIFY - Controlled by GSAP */
    opacity: 0;
    transform: translateZ(-500px) scale(0.5);
    z-index: 1;
    transform-style: preserve-3d;
    /* END DO NOT MODIFY */
    border-top: 0.5px solid rgba(13, 159, 168, 0.3);
    border-left: 0.5px solid rgba(13, 159, 168, 0.25);
    border-right: 0.5px solid rgba(255, 255, 255, 0.06);
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.db-data-card h4 {
    margin: 0 0 16px 0;
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 600;
    letter-spacing: 1.8px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.db-data-card h4::before {
    content: '';
    width: 3px;
    height: 14px;
    background: linear-gradient(180deg, #0D9FA8 0%, #FB9082 100%);
    border-radius: 2px;
    box-shadow: 0 0 10px rgba(13, 159, 168, 0.6);
}

.db-card-value {
    font-size: 2.5rem;
    font-weight: 800;
    background: linear-gradient(140deg, #0D9FA8 44%, #FB9082 98%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: 0 0 30px rgba(13, 159, 168, 0.3);
    letter-spacing: -0.02em;
}

.db-mini-chart {
    width: 100%;
    height: 100px;
    margin-top: 8px;
}

.db-mini-chart line {
    stroke: rgba(255, 255, 255, 0.08);
}

.db-mini-chart text {
    fill: rgba(255, 255, 255, 0.4);
    font-weight: 500;
}

.db-chart-line {
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 6px currentColor);
}

/* === COMPARISON CARDS CONTAINER (Scene 2 - slide in before merge) === */
.db-comparison-cards {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transform-style: preserve-3d;
    z-index: 1;
    padding-top: 10%;
}

/* === MERGE CONTAINER (Scene 2) === */
.db-merge-container {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    z-index: 2;
    padding-top: 10%;
}

/* Ensure cards blend during merge */
.db-data-card {
    mix-blend-mode: normal;
}

.db-merged-card {
    width: 600px;
    height: 350px;
    background: linear-gradient(135deg, rgba(18, 18, 24, 0.98) 0%, rgba(25, 25, 35, 0.98) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: 24px;
    padding: 32px;
    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.8),
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        inset 120px 120px 100px -100px rgba(13, 159, 168, 0.25),
        inset 60px 0 40px -30px rgba(13, 159, 168, 0.4),
        inset 0 60px 40px -30px rgba(251, 144, 130, 0.3);
    border-top: 0.5px solid rgba(13, 159, 168, 0.4);
    border-left: 0.5px solid rgba(13, 159, 168, 0.35);
    border-right: 0.5px solid rgba(255, 255, 255, 0.08);
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    position: relative;
}

/* Desktop stability pass:
 * backdrop-filter + 3D/pinned scroll can cause repaint flicker in Chrome/Edge.
 * Keep the visual style but disable expensive compositing on scene 2 cards.
 */
@media (hover: hover) and (pointer: fine) {
    #dashboard-scene-2 .db-scene-container,
    #dashboard-scene-2 .db-comparison-cards,
    #dashboard-scene-2 .db-merge-container,
    #dashboard-scene-2 .db-comparison-card,
    #dashboard-scene-2 .db-merged-card {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
    }

    #dashboard-scene-2 .db-comparison-card,
    #dashboard-scene-2 .db-merged-card {
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        will-change: transform, opacity;
        isolation: isolate;
    }

    #dashboard-scene-2 .db-chart-line {
        filter: none;
    }

    #dashboard-scene-2 .db-line-orange,
    #dashboard-scene-2 .db-line-cyan {
        animation: none;
    }
}

.db-merged-card h4 {
    margin: 0 0 20px 0;
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.7);
    font-weight: 600;
    letter-spacing: 2px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.db-merged-card h4::before {
    content: '';
    width: 4px;
    height: 18px;
    background: linear-gradient(180deg, #0D9FA8 0%, #FB9082 100%);
    border-radius: 2px;
    box-shadow: 0 0 12px rgba(13, 159, 168, 0.8);
}

.db-merged-chart {
    width: 100%;
    height: calc(100% - 40px);
}

.db-line-orange {
    filter: drop-shadow(0 0 12px rgba(251, 144, 130, 0.8)) drop-shadow(0 0 20px rgba(251, 144, 130, 0.5));
    animation: pulse-orange 2.5s ease-in-out infinite;
}

.db-line-cyan {
    filter: drop-shadow(0 0 12px rgba(13, 159, 168, 0.8)) drop-shadow(0 0 20px rgba(13, 159, 168, 0.5));
    animation: pulse-cyan 2.5s ease-in-out infinite 0.5s;
}

@keyframes pulse-orange {
    0%, 100% {
        filter: drop-shadow(0 0 12px rgba(251, 144, 130, 0.8))
                drop-shadow(0 0 20px rgba(251, 144, 130, 0.5))
                drop-shadow(0 0 30px rgba(251, 144, 130, 0.3));
    }
    50% {
        filter: drop-shadow(0 0 20px rgba(251, 144, 130, 1))
                drop-shadow(0 0 35px rgba(251, 144, 130, 0.8))
                drop-shadow(0 0 50px rgba(251, 144, 130, 0.5));
    }
}

@keyframes pulse-cyan {
    0%, 100% {
        filter: drop-shadow(0 0 12px rgba(13, 159, 168, 0.8))
                drop-shadow(0 0 20px rgba(13, 159, 168, 0.5))
                drop-shadow(0 0 30px rgba(13, 159, 168, 0.3));
    }
    50% {
        filter: drop-shadow(0 0 20px rgba(13, 159, 168, 1))
                drop-shadow(0 0 35px rgba(13, 159, 168, 0.8))
                drop-shadow(0 0 50px rgba(13, 159, 168, 0.5));
    }
}

/* === LAPTOP CONTAINER (Scene 3) === */
.db-laptop-container {
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transform-style: preserve-3d;
    perspective: 2000px;  /* Increased for better depth perception */
    padding-top: 18%;
}

.db-laptop {
    position: relative;
    width: min(800px, 70vw);
    max-height: 60vh;
    transform-style: preserve-3d;
    will-change: transform;
    /* FILTER HIDDEN - Hyperrealistic shadows with aluminum edge reflections */
    /* filter:
        drop-shadow(0 40px 80px rgba(0, 0, 0, 0.6))
        drop-shadow(0 2px 4px rgba(255, 255, 255, 0.1)); */
}

/* Responsive laptop scaling for smaller viewport heights */
@media (max-height: 900px) {
    .db-laptop-container {
        padding-top: 15%;
    }
    .db-laptop {
        width: min(700px, 70vw);
    }
}

@media (max-height: 800px) {
    .db-laptop-container {
        padding-top: 12%;
    }
    .db-laptop {
        width: min(600px, 70vw);
    }
}

@media (max-height: 700px) {
    .db-laptop-container {
        padding-top: 8%;
    }
    .db-laptop {
        width: min(500px, 70vw);
    }
}

/* Edge highlight on laptop body - simulates machined aluminum edge catch light */
.db-laptop-screen,
.db-laptop-base {
    position: relative;
}

.db-laptop-screen {
    /* Subtle edge highlight around bezel for Space Black */
    outline: 1px solid rgba(255, 255, 255, 0.03);
    outline-offset: -1px;
}

/* Browser toolbar hidden by default — only shown on mobile */
.db-mobile-browser-bar {
    display: none;
}

/* Logo on bottom bezel - subtle engraved style for Space Black */
.db-laptop::before {
    content: 'REAL NATION';
    position: absolute;
    bottom: 41px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 7px;
    font-weight: 600;
    letter-spacing: 2px;
    color: rgba(100, 100, 104, 0.4);
    text-shadow:
        0 0.5px 1px rgba(255, 255, 255, 0.05),
        0 -0.5px 1px rgba(0, 0, 0, 0.3);
    z-index: 5;
    pointer-events: none;
    opacity: 0.5;
}

/* MacBook Pro style hinge - Space Black */
.db-laptop::after {
    content: '';
    position: absolute;
    bottom: 35px;
    left: 3%;
    width: 94%;
    height: 4px;
    /* Space Black aluminum hinge */
    background:
        repeating-linear-gradient(
            90deg,
            #383840 0px,
            #404048 0.5px,
            #383840 1px
        ),
        linear-gradient(180deg,
            #404048 0%,
            #34343c 30%,
            #2c2c34 60%,
            #34343c 100%
        );
    border-radius: 2px 2px 0 0;
    box-shadow:
        /* Hinge subtle highlight on top */
        inset 0 0.5px 1px rgba(255, 255, 255, 0.06),
        /* Shadow underneath */
        0 2px 4px rgba(0, 0, 0, 0.4),
        0 1px 2px rgba(0, 0, 0, 0.3);
    z-index: 3;
}

.db-laptop-screen {
    width: 100%;
    height: 500px;
    background: #000;
    border-radius: 8px 8px 0 0;
    /* Thin Space Black bezel - MacBook style */
    border: 6px solid transparent;
    border-bottom: 0;
    background-image:
        /* Screen background */
        linear-gradient(135deg, #0a0a0f 0%, #12121a 100%),
        /* Space Black aluminum bezel with subtle metallic sheen */
        repeating-linear-gradient(
            90deg,
            #3a3a3e 0px,
            #424246 0.5px,
            #4a4a4e 1px,
            #424246 1.5px,
            #3a3a3e 2px
        ),
        linear-gradient(180deg,
            #4e4e52 0%,
            #404044 15%,
            #323236 35%,
            #2c2c30 50%,
            #323236 65%,
            #404044 85%,
            #4e4e52 100%);
    background-origin: padding-box, border-box, border-box;
    background-clip: padding-box, border-box, border-box;
    /* Realistic Space Black shadow and highlights */
    box-shadow:
        /* Inner screen depth */
        inset 0 0 50px rgba(0,0,0,0.9),
        inset 0 2px 1px rgba(255, 255, 255, 0.08),
        inset 0 -1px 1px rgba(0, 0, 0, 0.6),
        /* Bezel edge highlights - subtle for dark finish */
        inset 0 0 0 1px rgba(255, 255, 255, 0.04),
        /* Left side cyan screen glow illuminating downward */
        -18px 18px 35px rgba(13, 159, 168, 0.25),
        -35px 35px 50px rgba(13, 159, 168, 0.12),
        /* Right side orange screen glow illuminating downward */
        18px 18px 35px rgba(229, 68, 55, 0.25),
        35px 35px 50px rgba(229, 68, 55, 0.12),
        /* Shadow */
        0 8px 30px rgba(0,0,0,0.5),
        0 20px 60px rgba(0,0,0,0.4),
        0 40px 90px rgba(0,0,0,0.3);
    overflow: hidden;
    position: relative;
    transform-style: preserve-3d;
}

/* Subtle ambient light bar at top of screen */
.db-laptop-screen::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(13, 159, 168, 0.3) 50%,
        transparent 100%);
    z-index: 1;
    opacity: 0.7;
}

/* Subtle ambient light bar at top of screen */
.db-laptop-screen::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(13, 159, 168, 0.3) 50%,
        transparent 100%);
    z-index: 1;
    opacity: 0.7;
}

/* Glossy screen reflection overlay - simple diagonal gradient */
.db-laptop-screen::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(
        165deg,
        rgba(255, 255, 255, 0.15) 0%,
        rgba(255, 255, 255, 0.05) 15%,
        transparent 30%,
        transparent 70%,
        rgba(255, 255, 255, 0.02) 85%,
        rgba(255, 255, 255, 0.08) 100%
    );
    pointer-events: none;
    z-index: 3;
    border-radius: 0;
}

.db-laptop-cards-grid {
    width: 100%;
    height: auto;
    min-height: 100%;
    padding: 15px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto auto;
    gap: 10px;
    background: linear-gradient(135deg, rgba(10, 10, 16, 0.98) 0%, rgba(15, 15, 22, 0.98) 100%);
    transform-style: preserve-3d;
    position: relative;
    z-index: 1;
}

/* Cards inside the laptop grid */
.db-laptop-cards-grid > .db-data-card,
.db-laptop-cards-grid > .db-comparison-card {
    z-index: 10;
    position: relative !important;
    transform-style: preserve-3d;
    /* Preserve aspect ratio and center within grid cell */
    width: 100% !important;
    max-width: 280px !important;
    height: auto !important;
    aspect-ratio: 280 / 180;
    margin: auto;
    /* Ensure flex layout works properly */
    display: flex !important;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    /* Maintain padding from original cards */
    padding: 24px !important;
    box-sizing: border-box;
}

/* MacBook Pro style notch at top center */
.db-laptop-cards-grid::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    height: 28px;
    /* Black notch with subtle curve */
    background: #000;
    border-radius: 0 0 16px 16px;
    box-shadow:
        /* Subtle inner shadow for depth */
        inset 0 -3px 8px rgba(0, 0, 0, 0.8),
        inset 0 1px 2px rgba(255, 255, 255, 0.03),
        /* Outer shadow to separate from screen */
        0 2px 4px rgba(0, 0, 0, 0.5);
    z-index: 20;
}

/* Camera lens in notch - subtle and realistic */
.db-laptop-cards-grid::after {
    content: '';
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background:
        /* Glass reflection */
        radial-gradient(
            circle at 35% 35%,
            rgba(255, 255, 255, 0.5) 0%,
            rgba(255, 255, 255, 0.15) 25%,
            transparent 45%
        ),
        /* Lens */
        radial-gradient(
            circle,
            #1a2a3a 0%,
            #0d1a24 50%,
            #000 100%
        );
    border-radius: 50%;
    box-shadow:
        inset 0 1px 1px rgba(255, 255, 255, 0.2),
        inset 0 -1px 1px rgba(0, 0, 0, 0.6),
        0 0 3px rgba(13, 159, 168, 0.2);
    border: 0.5px solid rgba(50, 50, 50, 0.8);
    z-index: 21;
}

.db-laptop-base {
    width: 105%;
    height: 35px;
    /* Space Black aluminum finish - smooth solid surface like real MacBook Pro */
    background:
        /* Curved edge shadows at bottom corners where it curves inward */
        radial-gradient(
            ellipse 25% 40% at 0% 100%,
            rgba(0, 0, 0, 0.4) 0%,
            transparent 100%
        ),
        radial-gradient(
            ellipse 25% 40% at 100% 100%,
            rgba(0, 0, 0, 0.4) 0%,
            transparent 100%
        ),
        /* Left side cyan screen glow illuminating keyboard */
        radial-gradient(
            ellipse 45% 80% at 25% 0%,
            rgba(13, 159, 168, 0.08) 0%,
            rgba(13, 159, 168, 0.03) 30%,
            transparent 60%
        ),
        /* Right side orange screen glow illuminating keyboard */
        radial-gradient(
            ellipse 45% 80% at 75% 0%,
            rgba(229, 68, 55, 0.08) 0%,
            rgba(229, 68, 55, 0.03) 30%,
            transparent 60%
        ),
        /* Smooth Space Black gradient - no visible texture, just like the image */
        linear-gradient(180deg,
            #3e3e42 0%,
            #38383c 30%,
            #323236 60%,
            #2c2c30 100%);
    border-radius: 0 0 14px 14px;
    margin: 0 auto;
    /* Minimal highlights for matte Space Black finish */
    box-shadow:
        /* Very subtle top edge highlight */
        inset 0 0.5px 1px rgba(255, 255, 255, 0.04),
        /* Bottom edge shadow */
        inset 0 -1px 2px rgba(0, 0, 0, 0.4),
        /* Left side cyan screen glow from inside */
        inset 100px 8px 120px -40px rgba(13, 159, 168, 0.15),
        /* Right side orange screen glow from inside */
        inset -100px 8px 120px -40px rgba(229, 68, 55, 0.15),
        /* Outer glows projecting down */
        -15px 5px 30px rgba(13, 159, 168, 0.1),
        15px 5px 30px rgba(229, 68, 55, 0.1),
        /* Clean depth shadows */
        0 10px 28px rgba(0,0,0,0.45),
        0 20px 56px rgba(0,0,0,0.35),
        0 30px 84px rgba(0,0,0,0.25);
    position: relative;
    left: -2.5%;
    overflow: visible;
    /* Smooth curved inward edges - flipped: wider at top (hinge), curves inward at bottom (front) */
    border-radius: 0 0 40px 40px / 0 0 80px 80px;
}

/* Subtle speaker grilles on sides - Space Black */
.db-laptop-base::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 8%;
    transform: translateY(-50%);
    width: 35px;
    height: 3px;
    /* Tiny perforation pattern - darker for Space Black */
    background: repeating-linear-gradient(
        90deg,
        transparent 0px,
        transparent 1px,
        rgba(0, 0, 0, 0.3) 1px,
        rgba(0, 0, 0, 0.3) 1.5px
    );
    border-radius: 1.5px;
    box-shadow:
        /* Right side speaker grille */
        548px 0 0 0 rgba(0, 0, 0, 0),
        /* Subtle depth */
        inset 0 0.5px 1px rgba(0, 0, 0, 0.4);
    opacity: 0.6;
}

/* MacBook style large trackpad - Space Black */
.db-laptop-base::before {
    content: '';
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 120px;
    height: 22px;
    /* Glass-like trackpad surface with dark finish */
    background:
        linear-gradient(135deg,
            rgba(50, 50, 54, 0.4) 0%,
            rgba(60, 60, 64, 0.35) 50%,
            rgba(50, 50, 54, 0.4) 100%
        );
    border-radius: 6px;
    /* Subtle trackpad border - darker for Space Black */
    border: 0.5px solid rgba(0, 0, 0, 0.3);
    box-shadow:
        /* Recessed into body */
        inset 0 0.5px 1px rgba(255, 255, 255, 0.04),
        inset 0 -0.5px 1px rgba(0, 0, 0, 0.3),
        inset 0 0 4px rgba(0, 0, 0, 0.2),
        /* Subtle outer shadow */
        0 0.5px 1px rgba(0, 0, 0, 0.2);
}

/* Power indicator light on base */
.db-laptop-screen {
    /* Adding indicator light using a radial gradient in the corner */
}

.db-laptop-base {
    /* Add indicator lights as box-shadow dots */
}

/* Status indicator lights - subtle dots on base */
.db-laptop:has(.db-laptop-base) .db-laptop-base {
    position: relative;
}

/* Subtle power indicator - MagSafe charging style - HIDDEN */
.db-laptop-container::before {
    content: '';
    position: absolute;
    width: 2px;
    height: 2px;
    background: radial-gradient(circle, rgba(76, 175, 80, 0.9) 0%, rgba(76, 175, 80, 0.4) 100%);
    border-radius: 50%;
    box-shadow:
        /* Amber/green charging indicator */
        0 0 0 0 rgba(76, 175, 80, 0.8),
        0 0 3px 1px rgba(76, 175, 80, 0.5),
        0 0 6px 2px rgba(76, 175, 80, 0.2);
    left: calc(50% + 360px);
    bottom: 70px;
    opacity: 0;
    z-index: 30;
    animation: charge-pulse 2s ease-in-out infinite;
}

@keyframes charge-pulse {
    0%, 100% {
        opacity: 0.6;
        transform: scale(1);
    }
    50% {
        opacity: 1;
        transform: scale(1.1);
    }
}

/* Thunderbolt/USB-C ports on sides - Space Black */
.db-laptop-container::after {
    content: '';
    position: absolute;
    width: 8px;
    height: 4px;
    /* Single USB-C port indent */
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(0, 0, 0, 0.6) 1px,
        rgba(0, 0, 0, 0.4) 2px,
        rgba(0, 0, 0, 0.3) 4px,
        rgba(0, 0, 0, 0.4) 6px,
        rgba(0, 0, 0, 0.6) 7px,
        transparent 8px
    );
    left: calc(50% - 410px);
    bottom: 68px;
    border-radius: 0.5px;
    box-shadow:
        /* Port subtle highlight */
        inset 0 0.5px 1px rgba(255, 255, 255, 0.02),
        inset 0 -0.5px 1px rgba(0, 0, 0, 0.5),
        /* Second port on left */
        -15px 0 0 0 rgba(0, 0, 0, 0),
        /* Ports on right side */
        810px 0 0 0 rgba(0, 0, 0, 0),
        825px 0 0 0 rgba(0, 0, 0, 0);
    opacity: 0.8;
    z-index: 29;
}

/* === TEXT CONTAINER === */
.db-text-container {
    position: absolute;
    top: 15%;
    width: 80%;
    text-align: center;
    z-index: 100;
}

.db-scene-title {
    font-family: "Oxanium", sans-serif;
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 600;
    color: #0D9FA8;
    margin: 0 0 1vh 0;
    opacity: 1 !important;
    position: relative;
    z-index: 100;
    transform: translateZ(100px);
}

.db-scene-desc {
    font-family: "Oxanium", sans-serif;
    font-size: clamp(0.8rem, 1.5vw, 1rem);
    color: rgba(255, 255, 255, 0.7);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.5;
    opacity: 1 !important;
    position: relative;
    z-index: 100;
    transform: translateZ(100px);
}

/* === DB HEADER SECTION RESPONSIVE === */
@media (max-width: 1024px) {
    #dashboard-header {
        height: 100vh;
        padding: 0 20px;
    }

    .db-header-container h2 {
        font-size: 2.2rem;
        margin-bottom: 18px;
    }

    .db-section-subtitle {
        font-size: 1.1rem;
        max-width: 700px;
    }
}

@media (max-width: 768px) {
    #dashboard-header {
        height: 100vh;
        padding: 0 15px;
    }

    .db-header-container {
        padding: 0 15px;
    }

    .db-header-container h2 {
        font-size: 1.8rem;
        margin-bottom: 15px;
        line-height: 1.2;
    }

    .db-section-subtitle {
        font-size: 1rem;
        line-height: 1.5;
        max-width: 600px;
        padding: 0 10px;
    }
}

@media (max-width: 480px) {
    #dashboard-header {
        height: 100vh;
        padding: 0 10px;
    }

    .db-header-container {
        padding: 0 10px;
    }

    .db-header-container h2 {
        font-size: 1.4rem;
        margin-bottom: 12px;
        line-height: 1.3;
    }

    .db-section-subtitle {
        font-size: 0.9rem;
        line-height: 1.4;
        max-width: 100%;
        padding: 0 5px;
    }
}

/* === MOBILE RESPONSIVE === */
@media (max-width: 768px) {
    .db-flying-cards {
        padding-top: 0;
    }

    .db-data-card {
        width: 180px !important;
        height: 120px !important;
        padding: 16px !important;
        font-size: 0.85rem;
        border-radius: 16px;
    }

    .db-data-card h4 {
        font-size: 0.65rem;
        margin-bottom: 10px;
        letter-spacing: 1.2px;
    }

    .db-data-card h4::before {
        width: 2px;
        height: 10px;
    }

    .db-card-value {
        font-size: 1.5rem !important;
    }

    .db-mini-chart {
        height: 60px;
    }

    .db-merged-card {
        width: 85vw;
        max-width: 340px;
        height: 220px;
        padding: 16px;
        border-radius: 16px;
    }

    .db-merged-card h4 {
        font-size: 0.8rem;
        margin-bottom: 12px;
        letter-spacing: 1.5px;
    }

    .db-merged-card h4::before {
        width: 3px;
        height: 14px;
    }

    .db-laptop-container {
        transform: translateY(20px) !important;  /* Shift laptop lower on mobile */
    }

    /* Mobile-only visual: replace laptop shell with phone shell */
    .db-laptop {
        width: min(82vw, 380px);
        max-width: 380px;
    }

    .db-laptop-screen {
        height: min(76vh, 680px);
        border: 8px solid rgba(195, 203, 214, 0.9);
        border-radius: 42px;
        background: #070a10;
        box-shadow:
            inset 0 0 0 1px rgba(255, 255, 255, 0.15),
            inset 0 0 40px rgba(0, 0, 0, 0.6),
            -14px 16px 28px rgba(13, 159, 168, 0.2),
            14px 16px 28px rgba(229, 68, 55, 0.2),
            0 16px 48px rgba(0, 0, 0, 0.45);
    }

    /* Remove dynamic-island styling on mobile */
    .db-laptop-screen::before {
        content: none;
        display: none;
    }

    .db-laptop-screen::after {
        border-radius: 28px;
    }

    .db-laptop-cards-grid {
        border-radius: 32px;
    }

    /* Reset grid pseudo-elements — browser bar is now real DOM */
    .db-laptop-cards-grid::before,
    .db-laptop-cards-grid::after {
        content: none;
        display: none;
    }

    .db-laptop-cards-grid {
        --db-grid-pad: 4px;
        --db-col-gap: 4px;
        /* Compute card height from available browser viewport height */
        --db-card-h: clamp(92px, calc(((100% - (var(--db-grid-pad) * 2)) / 4) * 0.72), 122px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: repeat(4, auto);
        row-gap: 40px;
        column-gap: var(--db-col-gap);
        padding: var(--db-grid-pad);
        height: 100%;
        box-sizing: border-box;
        align-content: start;
        align-items: start;
    }

    /* === Mobile browser toolbar (real DOM elements) === */
    .db-mobile-browser-bar {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 48px;
        background: #1c1e26;
        border-radius: 32px 32px 0 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 10px;
        z-index: 30;
        box-sizing: border-box;
        border-bottom: 1px solid rgba(255,255,255,0.08);
    }

    .db-mobile-browser-bar .db-browser-left {
        display: flex;
        align-items: center;
        gap: 0;
        flex-shrink: 0;
    }

    .db-mobile-browser-bar .db-browser-left svg {
        width: 18px;
        height: 18px;
        fill: rgba(220,226,235,0.75);
    }

    .db-mobile-browser-url {
        flex: 1;
        margin: 0 8px;
        height: 28px;
        background: #2a2d38;
        border-radius: 14px;
        border: 1px solid rgba(255,255,255,0.14);
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        overflow: hidden;
        min-width: 0;
    }

    .db-mobile-browser-url .db-browser-warn {
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: #f4c658;
        flex-shrink: 0;
    }

    .db-mobile-browser-url span {
        font-size: 10px;
        color: rgba(220,226,235,0.92);
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        letter-spacing: 0.1px;
    }

    .db-mobile-browser-bar .db-browser-right {
        display: flex;
        align-items: center;
        gap: 8px;
        flex-shrink: 0;
    }

    .db-mobile-browser-bar .db-browser-right svg {
        width: 18px;
        height: 18px;
        fill: rgba(220,226,235,0.75);
    }

    .db-mobile-browser-bar .db-browser-tabs {
        width: 18px;
        height: 18px;
        border: 1.5px solid rgba(220,226,235,0.75);
        border-radius: 4px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 9px;
        color: rgba(220,226,235,0.85);
        font-weight: 600;
        line-height: 1;
    }

    /* Shift screen content down to make room for browser bar */
    #dashboard-scene-3 .db-laptop-screen {
        position: relative;
    }

    #dashboard-scene-3 .db-laptop-cards-grid {
        margin-top: 48px;
        height: calc(100% - 48px);
        overflow: hidden;
    }

    /* Cards: equal fixed height derived from browser viewport */
    .db-laptop-cards-grid > .db-data-card,
    .db-laptop-cards-grid > .db-comparison-card {
        max-width: none !important;
        width: 100% !important;
        height: var(--db-card-h) !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
        font-size: 0.52rem;
        padding: 5px !important;
        box-sizing: border-box;
        margin: 0;
    }

    /* Extra top spacing above first row (top 2 cards) */
    .db-laptop-cards-grid > .db-data-card:nth-child(-n+2),
    .db-laptop-cards-grid > .db-comparison-card:nth-child(-n+2) {
        margin-top: 40px !important;
    }

    .db-laptop-cards-grid .db-card-title {
        font-size: 0.52rem;
        margin-bottom: 2px;
    }

    .db-laptop-cards-grid .db-card-value {
        font-size: 0.7rem;
        margin-bottom: 0;
    }

    .db-laptop-cards-grid .db-card-label {
        font-size: 0.48rem;
    }

    /* Charts compact in phone shell */
    .db-laptop-cards-grid .db-mini-chart {
        height: 36px !important;
        margin-top: 2px;
    }

    .db-laptop-cards-grid .db-mini-chart text {
        font-size: 5px !important;
    }

    .db-laptop-cards-grid .db-mini-chart line {
        stroke-width: 1 !important;
    }

    .db-laptop-cards-grid .db-mini-chart rect {
        height: 10px !important;
    }

    .db-laptop-cards-grid .db-mini-chart circle[r="3"] {
        r: 2;
    }

    .db-laptop-cards-grid .db-mini-chart circle[stroke-width="10"] {
        stroke-width: 8 !important;
    }

    .db-laptop-cards-grid .db-chart-line {
        stroke-width: 2 !important;
    }

    /* Hide laptop-specific chrome for phone shell */
    .db-laptop::before,
    .db-laptop::after,
    .db-laptop-base,
    .db-laptop-base::before,
    .db-laptop-base::after,
    .db-laptop-container::before,
    .db-laptop-container::after {
        display: none !important;
        content: none !important;
    }

    /* Removed laptop indicator/ports/base styling on mobile (phone shell) */

    .db-text-container {
        top: 60px;
        padding: 0 20px;
    }

    .db-scene-title {
        font-size: 1.3rem;
    }

    .db-scene-desc {
        font-size: 0.9rem;
        line-height: 1.4;
    }
}

/* SECTION CONTAINER */
.quick-launch-section {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000000;
    transform-style: preserve-3d; /* Preserve 3D for proper layering */
    perspective: 1000px; /* Add perspective for 3D transformations */
}

/* LAYERS */
.usp-content-layer {
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 1;
    transform-style: preserve-3d; /* Preserve 3D for proper layering */
}

/* --- LAYER 1 --- */
.layer-1 {
    z-index: 10;
    position: relative;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    opacity: 1;
}

.l1-top-text {
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: 2px;
    position: absolute;
    left: 50%;
    bottom: 100%;
    margin-bottom: 16px;
    transform: translateX(-50%) translateZ(0);
    -webkit-transform: translateX(-50%) translateZ(0);
    z-index: 1;
    opacity: 0;
    color: #fff;
    white-space: nowrap;
}

/* WRAPPER STRUCTURE FOR PERFECT CENTERING */
.l1-number-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: fit-content;
    transform: translateZ(0); /* Force hardware acceleration */
    -webkit-transform: translateZ(0); /* Safari compatibility */
}

/* The anchor holds the "1" in the center, and "Min" hangs off it */
.center-anchor {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

.the-one {
    height: 55vh;
    max-height: 500px;
    width: auto;
    opacity: 0;
    transform: scale(0.5) translateZ(0);
    -webkit-transform: scale(0.5) translateZ(0);
    will-change: transform, opacity;
    position: relative;
    z-index: 5;
    display: block;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.l1-unit {
    font-size: 1.5rem;
    font-weight: 500;

    /* Absolute position relative to the center anchor */
    position: absolute;
    left: 100%; /* Starts exactly at the right edge of "1" */
    bottom: 0; /* Align with bottom of "1" */
    margin-left: 15px; /* Spacing */

    z-index: 6; /* Higher z-index than .the-one to ensure visibility */
    white-space: nowrap;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

.l1-unit img {
    height: 1.5rem;
    width: auto;
    display: block;
}

/* Default gradient for all characters */
.l1-unit .char {
    display: inline-block;
    background: linear-gradient(45deg, #0D9FA8, #4ECDC4);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    position: relative;
}

/* Individual character gradients - you can customize these separately */
.l1-unit .char:nth-child(1) { /* 'M' */
    background: linear-gradient(140deg, #0D9FA8 40%, #A4B6B0);
    -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
    color: transparent;
}

.l1-unit .char:nth-child(2) { /* 'i' */
    background: linear-gradient(140deg, #0D9FA8, #A4B6B0);
    -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
    color: transparent;
}

.l1-unit .char:nth-child(3) { /* 'n' */
    background: linear-gradient(120deg, #A4B6B0 40%, #FB9082);
    -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
    color: transparent;
}

.char {
    display: inline-block;
    min-width: 0.3em;
    backface-visibility: hidden; /* Prevents flickering on some devices */
    -webkit-backface-visibility: hidden; /* Safari compatibility */
    transform: translateZ(0); /* Force hardware acceleration */
    -webkit-transform: translateZ(0); /* Safari compatibility */
}

/* --- LAYER 2 (PreByoc-Part2) --- */
#campaign-intro.usp-content-layer {
    visibility: hidden;
    opacity: 0;
    z-index: 5;
    padding: 0;
    pointer-events: none;
    transform: translateZ(0); /* Force hardware acceleration */
    -webkit-transform: translateZ(0); /* Safari compatibility */
    backface-visibility: hidden; /* Prevents flickering on some devices */
    -webkit-backface-visibility: hidden; /* Safari compatibility */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#campaign-intro.usp-content-layer * {
    pointer-events: auto;
}

#campaign-intro .video-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    display: none;
    transform: translateZ(0); /* Force hardware acceleration */
    -webkit-transform: translateZ(0); /* Safari compatibility */
    backface-visibility: hidden; /* Prevents flickering on some devices */
    -webkit-backface-visibility: hidden; /* Safari compatibility */
}

#campaign-intro .video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.4;
}

#campaign-intro .container {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#campaign-intro .byoc-group {
    position: static;
    width: 100%;
    text-align: center;
    opacity: 1 !important;
    transform: none !important;
}

.l2-headline {
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 25px;
    line-height: 1.1;
    background: linear-gradient(140deg, #0D9FA8 0%, #ADD8E6 80%, #FF6B35 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.l2-subhead { font-size: 2rem; font-weight: 700; color: #fff; margin-bottom: 20px; }
.l2-desc { font-size: 1.2rem; color: #ccc; max-width: 650px; line-height: 1.6; margin-bottom: 50px; }

.l2-btn {
    padding: 18px 45px;
    border: 1px solid #FF5500;
    border-radius: 50px;
    background: transparent;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: 0.3s;
}
.l2-btn:hover { background: #FF5500; }

.l2-btn-2 {
    background: transparent;
    color: #fff;
    border: none;
    padding: 12px 32px;
    border-radius: 25px;
    font-family: "Oxanium", sans-serif;
    font-size: clamp(0.8rem, 1.6vw, 0.9rem);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    letter-spacing: 0.02em;
    position: relative;
    z-index: 1;
}

/* Gradient border effect using pseudo-element */
.l2-btn-2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 25px;
    padding: 2px;
    background: linear-gradient(140deg, #0D9FA8 0%, #0D9FA8 50%, #FB9082 100%);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    z-index: -1;
    transition: all 0.3s ease;
}

/* Gradient fill on hover */
.l2-btn-2::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 25px;
    background: linear-gradient(140deg, #0D9FA8 0%, #0D9FA8 50%, #FB9082 100%);
    z-index: -2;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.l2-btn-2:hover::before {
    opacity: 0;
}

.l2-btn-2:hover::after {
    opacity: 1;
}

.l2-btn-2:hover {
    box-shadow: 0 0 20px rgba(13, 159, 168, 0.4), 0 0 40px rgba(251, 144, 130, 0.1);
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .l1-top-text { font-size: 1.2rem; }
    .the-one { height: 45vh; max-height: 400px; }
    .l1-unit { font-size: 1.2rem; }
    .l1-unit img { height: 1.2rem; }

    .l2-headline { font-size: 3rem; }
    .l2-subhead { font-size: 1.8rem; }
    .l2-desc { font-size: 1.1rem; max-width: 600px; }
    .l2-btn { font-size: 1rem; padding: 16px 40px; }
    .l2-btn-2 { font-size: 1rem; padding: 14px 36px; }
}

@media (max-width: 768px) {
    .layer-1 {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
    .l1-top-text { font-size: 1rem; margin-bottom: 12px; }
    .the-one { height: 35vh; max-height: 300px; }
    .l1-unit { font-size: 1rem; margin-left: 5px; }
    .l1-unit img { height: 1rem; }

    .layer-2 { padding: 20px 15px; }
    .l2-headline { font-size: 2.2rem; margin-bottom: 20px; }
    .l2-subhead { font-size: 1.5rem; margin-bottom: 15px; }
    .l2-desc {
        font-size: 1rem;
        max-width: 90%;
        line-height: 1.5;
        margin-bottom: 40px;
        padding: 0 10px;
    }
    .l2-btn {
        font-size: 0.95rem;
        padding: 14px 35px;
    }
    .l2-btn-2 {
        font-size: 0.95rem;
        padding: 12px 30px;
    }
}

/* Mobile: make Min part of layout so "Launch in Just" centers over "1 Min" */
@media (max-width: 768px) {
    .l1-number-wrapper {
        width: max-content;
        margin: 0 auto;
    }

    .l1-top-text {
        left: 50%;
        right: auto;
        transform: translateX(calc(-50% - 10px));
        -webkit-transform: translateX(calc(-50% - 10px));
        text-align: center;
    }

    .center-anchor {
        display: inline-flex;
        align-items: flex-end;
        justify-content: center;
    }

    .l1-unit {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        margin-left: 10px;
        margin-bottom: 4px;
    }
}

@media (max-width: 480px) {
    .layer-1 {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
    .l1-top-text {
        font-size: 0.9rem;
        margin-bottom: 8px;
        transform: translateX(calc(-50% - 10px));
        -webkit-transform: translateX(calc(-50% - 10px));
    }
    .the-one { height: 25vh; max-height: 200px; }
    .l1-unit { font-size: 0.9rem; margin-left: 8px; margin-bottom: 3px; }
    .l1-unit img { height: 0.9rem; }

    .layer-2 { padding: 15px 10px; }
    .l2-headline {
        font-size: 1.6rem;
        margin-bottom: 15px;
        line-height: 1.2;
    }
    .l2-subhead {
        font-size: 1.2rem;
        margin-bottom: 12px;
        line-height: 1.3;
    }
    .l2-desc {
        font-size: 0.9rem;
        max-width: 100%;
        line-height: 1.4;
        margin-bottom: 30px;
        padding: 0 5px;
    }
    .l2-btn {
        font-size: 0.85rem;
        padding: 12px 30px;
        white-space: nowrap;
    }
    .l2-btn-2 {
        font-size: 0.85rem;
        padding: 10px 24px;
        white-space: nowrap;
    }
}

/* Height-based adjustments for shorter screens */
@media (max-height: 800px) {
    .layer-1 {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
}

@media (max-height: 700px) {
    .layer-1 {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
}

@media (max-height: 600px) {
    .layer-1 {
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
    }
}

/* Grid responsive height adjustments - max-height only, positioning handled by CSS variables */
@media (min-height: 1000px) and (max-height: 1200px) {
    .byoc-grid-container {
        max-height: 75vh;
    }
}

@media (max-height: 900px) {
    .byoc-grid-container {
        max-height: 70vh;
    }
}

@media (max-height: 800px) {
    .byoc-grid-container {
        max-height: 65vh;
    }
}

@media (max-height: 700px) {
    .byoc-grid-container {
        max-height: 60vh;
    }
}

@media (max-height: 600px) {
    .byoc-grid-container {
        max-height: 55vh;
    }
}

/* Mobile grid height adjustments */
@media (max-width: 768px) and (max-height: 700px) {
    .byoc-grid-container {
        max-height: 55vh;
    }
}

@media (max-width: 768px) and (max-height: 600px) {
    .byoc-grid-container {
        max-height: 50vh;
    }
}

/* Responsive scaling handled dynamically via JavaScript (builder-demo.js) based on 1920x1080 baseline */

/* PRICING SECTION STYLES */
#qs-price-section {
    padding: 3rem 1rem;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    font-family: var(--qs-font-family); /* Ensure font applies to section */
    color: #333;
    background-color: #fff;
    box-shadow: 0 0 0 100vw #fff;
    clip-path: inset(0 -100vw);
    --qs-text-main: #333;
    --qs-text-muted: #666;
    --qs-card-bg: #f8f9fa;
    --qs-card-border: #e0e0e0;
    --qs-accent-primary: #0D9FA8;
    --qs-accent-glow: rgba(13, 159, 168, 0.4);
    --qs-surface-radius: 16px;
    overflow-x: hidden;
}

/* Pricing page should not have horizontal page scroll */
.pricing-page {
    overflow-x: hidden;
}

/* --- HEADINGS --- */
.qs-section-header {
    margin-top: 15px;
}

.qs-section-header h1 {
    font-size: clamp(2.3rem, 4.8vw, 3.4rem);
    font-weight: 700;
    line-height: 1.15;
    margin-bottom: 0.8rem;
    color: var(--qs-text-main);
}

.qs-section-header h2 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    background: linear-gradient(to right, #0D9FA8 80%, #FB9082);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    line-height: 1.2;
    margin-top: 0;
}
.qs-table-header h2 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    background: none;
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: #1f2328;
    background-clip: border-box;
    color: #1f2328;
    line-height: 1.2;
    margin-top: 0;
}
.qs-section-header p {
    color: var(--qs-text-muted);
    font-size: 1rem;
    line-height: 1.5;
    margin-bottom: 2rem;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

/* --- PROMOTIONAL BANNER --- */
.qs-promo-banner {
    position: relative;
    background: linear-gradient(135deg, rgba(13, 159, 168, 0.08) 0%, rgba(13, 159, 168, 0.03) 100%);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 3rem 2.5rem;
    margin: 0 auto 3rem auto;
    max-width: 950px;
    border: 1px solid rgba(13, 159, 168, 0.2);
    box-shadow:
        0 8px 32px rgba(13, 159, 168, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
    overflow: hidden;
}

.qs-promo-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg,
        transparent 0%,
        #0D9FA8 20%,
        #0D9FA8 80%,
        transparent 100%);
    opacity: 0.6;
}

.qs-promo-banner::after {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(13, 159, 168, 0.15) 0%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
}


.qs-promo-content {
    text-align: center;
    position: relative;
    z-index: 1;
}

.qs-promo-title {
    font-size: 2rem;
    font-weight: 700;
    background: linear-gradient(135deg, #0D9FA8 0%, #0b8a92 60%, #08757d 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 1.2rem 0;
    line-height: 1.3;
    letter-spacing: -0.02em;
    text-shadow: 0 2px 20px rgba(13, 159, 168, 0.2);
}

.qs-promo-subtitle {
    font-size: 1.05rem;
    color: #555;
    margin: 0 0 1.8rem 0;
    line-height: 1.7;
    font-weight: 400;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.qs-promo-btn {
    display: inline-block;
    background: var(--qs-accent-primary);
    color: white;
    padding: 0.9rem 2.5rem;
    border-radius: 25px;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 14px rgba(13, 159, 168, 0.3);
    border: 1px solid var(--qs-accent-primary);
}

.qs-promo-btn:hover {
    background: #0b8a92;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(13, 159, 168, 0.4);
}

/* Responsive promo banner */
@media (max-width: 768px) {
    .qs-promo-banner {
        padding: 2.5rem 1.5rem;
        margin: 0 1rem 2.5rem 1rem;
    }

    .qs-promo-banner::after {
        width: 200px;
        height: 200px;
        top: -30%;
        right: -20%;
    }

    .qs-promo-title {
        font-size: 1.5rem;
    }

    .qs-promo-subtitle {
        font-size: 0.95rem;
        margin-bottom: 1.5rem;
    }

    .qs-promo-btn {
        padding: 0.8rem 2rem;
        font-size: 0.95rem;
    }
}

/* --- CONTROLS --- */
.qs-controls-container {
    --qs-toggle-pill-height: 42px;
    display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 1.5rem; margin-bottom: 1.25rem; flex-wrap: wrap; position: relative;
}
.qs-frequency-toggles {
    display: inline-flex;
    background: var(--qs-card-bg);
    border: 1px solid var(--qs-card-border);
    padding: 0.25rem;
    height: calc(var(--qs-toggle-pill-height) + 0.5rem);
    box-sizing: border-box;
    align-items: stretch;
    border-radius: var(--qs-surface-radius);
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    max-width: 600px;
}
.qs-freq-btn {
    background: transparent; border: none; color: var(--qs-text-muted); 
    padding: 0 1rem;
    font-size: 0.9rem; cursor: pointer; border-radius: var(--qs-surface-radius); font-weight: 500; transition: var(--qs-transition);
    flex: 0 0 6.8rem;
    width: 6.8rem;
    height: var(--qs-toggle-pill-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
.qs-freq-btn:not(.qs-active):hover {
    background-color: rgba(13, 159, 168, 0.1);
    color: var(--qs-text-main);
}
.qs-freq-btn.qs-active {
    background-color: var(--qs-accent-primary); color: white; box-shadow: 0 0 15px var(--qs-accent-glow);
}

/* Currency Tab Toggle */
.qs-currency-control {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}
.qs-currency-label {
    display: none;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--qs-text-muted);
}
.qs-currency-toggle-wrapper {
    display: inline-flex;
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
    padding: 0;
    height: calc(var(--qs-toggle-pill-height) + 0.5rem);
    box-sizing: border-box;
    align-items: stretch;
    gap: 0.5rem;
    box-shadow: none;
}
.qs-currency-tab {
    padding: 0 1.2rem;
    cursor: pointer;
    transition: var(--qs-transition);
    background: #fff;
    color: var(--qs-text-muted);
    font-size: 0.9rem;
    font-weight: 500;
    user-select: none;
    border: 1px solid var(--qs-card-border);
    border-radius: var(--qs-surface-radius);
    height: var(--qs-toggle-pill-height);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
    font-weight: 600;
}
.qs-currency-tab:not(.active):hover {
    background-color: rgba(13, 159, 168, 0.1);
    color: var(--qs-text-main);
    border-color: #b8d9db;
}
.qs-currency-tab.active {
    background-color: var(--qs-accent-primary);
    color: white;
    border-color: var(--qs-accent-primary);
    box-shadow: 0 0 15px var(--qs-accent-glow);
}

/* --- PRICING GRID --- */
.qs-pricing-grid {
    display: grid; grid-template-columns: 1fr; gap: 2rem; margin-top: 0.7rem;
}
.qs-price-card {
    background-color: var(--qs-card-bg); border: 1px solid #2aa7a4; border-radius: var(--qs-surface-radius);
    padding: 2.5rem 2rem;
    min-width: 0;
    text-align: left; position: relative; display: flex; flex-direction: column;
    justify-content: space-between; overflow: visible; transition: var(--qs-transition);
}
.qs-price-card.qs-has-top-strip {
    --qs-strip-height: 5rem;
    padding-top: 6.7rem;
}
.qs-price-card.qs-has-promo-strip.qs-strip-hidden {
    padding-top: 2.5rem;
}
.qs-price-card.qs-has-top-strip::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: var(--qs-strip-height);
    background: #dff5ee;
    border-bottom: 1px solid #bde8dc;
    border-top-left-radius: var(--qs-surface-radius);
    border-top-right-radius: var(--qs-surface-radius);
}
.qs-price-card.qs-has-promo-strip.qs-strip-hidden::before {
    display: none;
}
.qs-price-card:hover { border-color: #2aa7a4; }
.qs-price-card.qs-featured {
    border-color: #2aa7a4;
    box-shadow: none;
    background: var(--qs-card-bg);
}
.qs-price-card.qs-featured:hover { border-color: #2aa7a4; }

/* --- PROMOTIONAL LABEL --- */
.qs-promo-label {
    color: #1f2328;
    font-size: 1rem;
    font-weight: 700;
    padding: 0.9rem 0.9rem 0.9rem 2.2rem;
    border-radius: 6px;
    margin-bottom: 1rem;
    display: block;
    letter-spacing: 0.01em;
    line-height: 1.3;
    text-align: left;
    background: #f9c8bc;
    border: 1px solid #f2b3a3;
    position: relative;
}

.qs-promo-label::before {
    content: '';
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-image: url("../images/promo.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* --- RESPONSIVE BADGE STYLES --- */
.qs-corner-badge {
    position: absolute;
    top: calc(var(--qs-strip-height) / 2);
    left: 1rem;
    right: 1rem;
    transform: translateY(-50%);
    background: transparent;
    border: 0;
    color: #3ca499;
    font-size: 1.075rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.02em;
    width: auto;
    text-align: center;
    line-height: 1.2;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    z-index: 10;
    pointer-events: none;
}
.qs-price-card .qs-corner-badge + div { padding-top: 0; }
.qs-global-promo-label {
    color: #1f2328;
    font-size: 1rem;
    font-weight: 700;
    padding: 0.81rem 0.9rem;
    border-radius: var(--qs-surface-radius);
    margin: 0.2rem 0 0.35rem;
    letter-spacing: 0.01em;
    line-height: 1.3;
    text-align: left;
    background: #fbe0d9;
    border: 1px solid #f6cfc3;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    box-sizing: border-box;
}
.qs-promo-icon {
    width: 1.5em;
    height: 1.5em;
    flex: 0 0 1.5em;
    background-image: url("../images/promo.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.qs-card-title { font-size: clamp(1.9rem, 4.2vw, 2.2rem); font-weight: 700; margin-bottom: 0.8rem; color: var(--qs-text-main);}

.qs-card-desc { 
    color: var(--qs-text-muted); 
    font-size: 1.08rem; 
    line-height: 1.3;
    margin-bottom: 2rem; 
    min-height: 0;
    padding-right: 0;
}

.qs-price-area { margin-bottom: 1.25rem; }
.qs-price-amount { font-size: clamp(1.5rem, 4vw, 2.2rem); font-weight: 700; line-height: 1; color: var(--qs-text-main); }
.qs-pricing-grid .qs-price-card:first-child .qs-price-amount {
    font-size: clamp(3.05rem, 7.5vw, 3.65rem);
    font-weight: 800;
    line-height: 0.95;
    color: var(--qs-accent-primary);
}
.qs-pricing-grid .qs-price-card:first-child .qs-price-area {
    margin-top: 0.7rem;
    margin-bottom: 1.5rem;
}
.qs-currency-symbol { font-size: clamp(1rem, 2.8vw, 1.35rem); vertical-align: top; font-weight: 700; }
.qs-amount { font-size: clamp(3.05rem, 7.5vw, 3.65rem); font-weight: 800; line-height: 0.95; }
.qs-billing-cycle { display: block; color: #3f4348; font-size: 1.05rem; margin-top: 0.5rem; white-space: normal; }
.qs-total-cost { display: block; color: var(--qs-text-main); font-size: clamp(1.7rem, 4.4vw, 2.1rem); margin-top: 0.95rem; font-weight: 700; white-space: nowrap; }
.qs-talk-headline {
    font-size: clamp(2rem, 4.2vw, 2.6rem);
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2rem;
    color: var(--qs-text-main);
    white-space: nowrap;
    display: block;
    max-width: 100%;
    overflow: hidden;
}
.qs-card-footer { display: none; }

/* --- BUTTONS --- */
.qs-btn {
    display: block; width: 100%; padding: 1rem; border-radius: 25px; font-weight: 600;
    text-align: center; text-decoration: none; transition: var(--qs-transition); cursor: pointer; font-size: 1rem;
    box-sizing: border-box;
}
#qs-price-section .qs-btn {
    border-radius: var(--qs-surface-radius);
}
.qs-btn-outline {
    background: #ffffff;
    border: 2px solid #2aa7a4;
    color: #2aa7a4;
}
.qs-btn-outline:hover {
    background-color: rgba(42, 167, 164, 0.08);
    border-color: #2aa7a4;
    color: #2aa7a4;
}
.qs-btn-filled { background-color: var(--qs-accent-primary); border: 1px solid var(--qs-accent-primary); color: white; box-shadow: 0 4px 14px rgba(13, 159, 168, 0.4); }
.qs-btn-filled:hover { background-color: #0b8a92; border-color: #0b8a92; box-shadow: 0 6px 20px rgba(13, 159, 168, 0.4); }

/* --- COMPARISON TABLE --- */
.qs-comparison-section {
    margin: 5rem auto;
    text-align: center;
    max-width: 1200px;
    padding: 0 2rem;
}
.qs-table-header { text-align: center; margin-bottom: 2rem; position: relative; z-index: 11; }
.qs-table-wrapper {
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    border-radius: 16px;
    background: var(--qs-card-bg);
    border: 1px solid var(--qs-card-border);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    -webkit-overflow-scrolling: touch;
}
.qs-table { width: 100%; border-collapse: collapse; border-spacing: 0; min-width: 600px; }

/* Make table responsive on mobile */
@media (max-width: 768px) {
    .qs-table {
        min-width: 520px;
        font-size: 0.8rem;
    }

    .qs-table-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}
.qs-table th, .qs-table td { padding: 1rem 0.8rem; border-bottom: 1px solid var(--qs-card-border); vertical-align: middle; }

.qs-table th { background-color: #0a7a82; color: #fff; font-weight: 700; font-size: 0.85rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); }

/* Round corners for first and last header cells */
.qs-table thead tr:first-child th:first-child {
    border-top-left-radius: 16px;
}

.qs-table thead tr:first-child th:last-child {
    border-top-right-radius: 16px;
}

/* Default Column (Mobile): Standard Scroll */
.qs-table td:first-child, .qs-table th:first-child {
    text-align: left;
    padding-left: 1.5rem;
    min-width: 200px;
}
.qs-table td:first-child {
    background-color: rgba(13, 159, 168, 0.06);
    font-weight: 700;
    border-right: 1px solid var(--qs-card-border);
}

.qs-table th { text-align: center;}
.qs-table td { text-align: center; color: var(--qs-text-muted); font-size: 0.9rem; min-width: 150px; font-weight: 400; }
.qs-table tr:hover td { background-color: rgba(0,0,0,0.02); }
.qs-table tr.qs-table-category:hover td { background-color: rgba(13, 159, 168, 0.06); }
.qs-icon-check { color: var(--qs-accent-primary); }
.qs-icon-cross { color: #999; }
.qs-text-highlight { color: var(--qs-text-muted); font-weight: 400; }
.qs-cell-stacked span { display: block; margin-bottom: 1rem; font-size: 0.85rem; }
.qs-table-btn-row td { border-bottom: none; padding-top: 2rem; padding-bottom: 2rem; }

/* Category Header Row */
.qs-table-category td {
    background-color: rgba(13, 159, 168, 0.06);
    font-weight: 700;
    font-size: 0.85rem;
    color: #0a7a82;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.8rem 1.5rem;
    border-bottom: 2px solid rgba(13, 159, 168, 0.15);
}

/* Info Icon (blue - feature description) */
.qs-info-icon {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    margin-left: 4px;
    cursor: help;
}

.qs-info-icon i {
    color: #0D9FA8;
    font-size: 14px;
}

.qs-info-icon:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    transform: none;
    background: #0D9FA8;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 400;
    padding: 8px 12px;
    border-radius: 8px;
    white-space: normal;
    width: max-content;
    max-width: min(300px, 80vw);
    line-height: 1.4;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    pointer-events: none;
    text-align: left;
    word-spacing: normal;
}

.qs-info-icon:hover::before {
    content: '';
    position: absolute;
    bottom: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #0D9FA8;
    z-index: 100;
}

/* Limit Icon (qiksense green - limitations) */
.qs-limit-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: rgba(13, 159, 168, 0.12);
    color: #0D9FA8;
    font-size: 0.6rem;
    font-weight: 700;
    cursor: help;
    position: relative;
    vertical-align: middle;
    margin-left: 4px;
    flex-shrink: 0;
}

.qs-limit-icon:hover::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    transform: none;
    background: #0D9FA8;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 400;
    padding: 8px 12px;
    border-radius: 8px;
    white-space: normal;
    width: max-content;
    max-width: min(300px, 80vw);
    line-height: 1.4;
    z-index: 100;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    pointer-events: none;
    text-align: left;
    word-spacing: normal;
}

.qs-limit-icon:hover::before {
    content: '';
    position: absolute;
    bottom: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #0D9FA8;
    z-index: 100;
}

/* --- CAMPAIGN EXPORT LICENSE SECTION --- */
.qs-export-section {
    margin: 5rem auto 0 auto;
    text-align: center;
    max-width: 1200px;
    padding: 0 2rem;
}

.qs-export-section h2 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 2rem;
    background: none;
    -webkit-background-clip: border-box;
    -webkit-text-fill-color: #1f2328;
    background-clip: border-box;
    color: #1f2328;
    line-height: 1.2;
    margin-top: 0;
}

.qs-export-box {
    border: 1px solid var(--qs-card-border);
    border-radius: 16px;
    overflow: hidden;
    background: var(--qs-card-bg);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.qs-export-header {
    background-color: #0a7a82;
    color: #fff;
    padding: 1.2rem 1.5rem;
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center;
    border-bottom: none;
}

.qs-export-price {
    padding: 2.5rem 2rem;
    background: #fff;
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.5rem;
    border-bottom: 1px solid var(--qs-card-border);
}

.qs-export-currency {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--qs-text-main);
}

.qs-export-amount {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--qs-text-main);
    line-height: 1;
}

.qs-export-term {
    font-size: 1rem;
    font-weight: 400;
    color: var(--qs-text-muted);
}

.qs-export-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    background: rgba(13, 159, 168, 0.03);
}

.qs-export-feature {
    padding: 1.8rem 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-align: left;
    border-right: 1px solid var(--qs-card-border);
    border-bottom: 1px solid var(--qs-card-border);
}

.qs-export-feature:last-child {
    border-right: none;
}

.qs-export-feature i {
    color: var(--qs-accent-primary);
    font-size: 1.1rem;
    flex-shrink: 0;
}

.qs-export-feature span {
    font-size: 0.9rem;
    font-weight: 400;
    color: var(--qs-text-muted);
    line-height: 1.5;
    white-space: nowrap;
}

.qs-export-cta {
    padding: 2rem 0;
    text-align: center;
}

.qs-export-cta .qs-btn {
    max-width: 300px;
    margin: 0 auto;
    padding: 1rem 3rem;
    font-size: 1rem;
}

/* Responsive */
@media (max-width: 768px) {
    .qs-export-section h2 {
        font-size: 1.5rem;
    }

    /* Mobile headings: same size + solid black */
    .qs-table-header h2,
    .qs-export-section h2 {
        font-size: 1.5rem;
        line-height: 1.2;
        background: none;
        -webkit-background-clip: border-box;
        background-clip: border-box;
        -webkit-text-fill-color: #1f2328;
        color: #1f2328;
    }

    .qs-export-header {
        font-size: 1rem;
        padding: 1rem;
    }

    .qs-export-amount {
        font-size: 2.5rem;
    }

    .qs-export-currency {
        font-size: 1.5rem;
    }

    .qs-export-features {
        grid-template-columns: 1fr;
    }

    .qs-export-feature {
        border-right: none;
        padding: 1.5rem;
    }

    .qs-export-feature:last-child {
        border-bottom: none;
    }

    .qs-export-cta {
        padding: 1.5rem 0;
    }
}

/* --- INFO SECTIONS (Hardware & FAQ) --- */
.qs-info-section { margin-top: 7rem; text-align: center; }
.qs-info-grid { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 3rem; 
    align-items: center; 
    justify-items: center; 
    margin-bottom: 4rem; 
}

.qs-hardware-img-container { position: relative; display: flex; justify-content: center; width: 100%; }
.qs-hardware-img { width: 120%; max-width: 600px; height: auto; filter: drop-shadow(0 0 20px rgba(79, 70, 229, 0.2)); }

.qs-info-content { max-width: 500px; }
.qs-info-content h2 { font-size: 1.8rem; font-weight: 700; margin-bottom: 1rem; color: var(--qs-text-main); line-height: 1.3; margin-top: 0;}
.qs-info-content p { color: var(--qs-text-muted); font-size: 1rem; margin-bottom: 1.5rem; line-height: 1.6; }

.qs-specs-container { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-bottom: 2rem; justify-content: center; }
.qs-spec-tag {
    background: rgba(0, 0, 0, 0.05); border: 1px solid var(--qs-card-border); color: var(--qs-text-main);
    padding: 0.5rem 0.8rem; border-radius: 8px; font-size: 0.85rem; font-family: monospace; cursor: default;
}
.qs-info-content .qs-btn { display: inline-block; width: auto; padding: 0.8rem 2rem; }

.qs-placeholder-box {
    width: 100%; max-width: 400px; height: 250px; 
    border: 2px dashed var(--qs-card-border); background: rgba(0, 0, 0, 0.02);
    border-radius: 16px; display: flex; align-items: center; justify-content: center;
    color: var(--qs-text-muted); font-weight: 600; font-size: 1.1rem;
}

/* --- MOBILE BREAKPOINTS --- */
@media (max-width: 767px) {
    #qs-price-section {
        position: relative;
    }
    .qs-controls-placeholder {
        height: 0;
    }
    .qs-controls-container.qs-mobile-fixed,
    .qs-controls-container.qs-mobile-absolute {
        width: min(calc(100% - 3rem), 600px);
        left: 50%;
        transform: translateX(-50%);
        z-index: 50;
        margin-bottom: 0;
        position: relative;
    }
    .qs-controls-container.qs-mobile-fixed::before,
    .qs-controls-container.qs-mobile-absolute::before {
        content: "";
        position: absolute;
        inset: -8px -8px -8px;
        background: #f4f5f8;
        border-radius: 14px;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
        z-index: -1;
        pointer-events: none;
    }
    .qs-controls-container.qs-mobile-fixed {
        position: fixed;
        top: 86px;
    }
    .qs-controls-container.qs-mobile-absolute {
        position: absolute;
        top: var(--qs-mobile-controls-absolute-top, 0px);
    }
    .qs-controls-container {
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        position: static;
        width: 100%;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
    .qs-frequency-toggles {
        order: 2;
        width: 100%;
        flex-wrap: nowrap;
        gap: 4px;
    }
    .qs-freq-btn {
        flex: 1 1 0;
        min-width: 0;
        padding: 0 0.35rem;
        font-size: 0.82rem;
    }
    .qs-currency-control {
        order: 1;
        align-self: stretch;
        width: 100%;
        justify-content: space-between;
        gap: 0.5rem;
    }
    .qs-currency-label {
        display: inline-block;
    }
    .qs-currency-toggle-wrapper {
        position: static;
        width: 230px;
        max-width: 62vw;
    }
    .qs-currency-tab {
        flex: 1 1 0;
        min-width: 0;
    }
}

/* --- DESKTOP BREAKPOINTS --- */
@media (min-width: 768px) {
    #qs-price-section { padding: 4rem 1.5rem; }
    .qs-section-header h1 { margin-bottom: 1rem; }
    .qs-section-header p { margin-bottom: 2.75rem; }
    .qs-section-header h2 { font-size: 3rem; }
    .qs-controls-container { flex-direction: row; justify-content: center; }
    .qs-frequency-toggles { border-radius: var(--qs-surface-radius); }
    .qs-currency-control { position: absolute; right: 0; }
    .qs-currency-toggle-wrapper { position: static; }
    
    /* Desktop badge readability */
    .qs-corner-badge {
        top: calc(var(--qs-strip-height) / 2);
        left: 1rem;
        right: 1rem;
        font-size: 0.88rem;
        line-height: 1.15;
        width: auto;
        padding: 0;
    }
    .qs-price-card.qs-has-top-strip {
        --qs-strip-height: 5.2rem;
        padding-top: 7rem;
    }
    .qs-price-card.qs-has-top-strip::before {
        height: 5.2rem;
    }

    /* Sticky table column on desktop */
    .qs-table td:first-child, .qs-table th:first-child {
        position: sticky; left: 0; z-index: 5;
    }

    .qs-table td:first-child {
        border-right: 1px solid var(--qs-card-border);
    }

    .qs-table th:first-child {
        border-right: 1px solid rgb(0 97 95 / 88%);
    }

    /* Alignments */
    .qs-export-section { margin-bottom: 2rem; }
    .qs-info-section { text-align: left; }
    .qs-info-grid {
        grid-template-columns: 1fr 1fr;
        gap: 5rem;
        margin-bottom: 6rem;
        justify-items: start;
    }
    .qs-specs-container { justify-content: flex-start; }
    .qs-hardware-img { width: 120%; max-width: 700px; max-height: none; }
    .qs-info-content h2 { font-size: 2.5rem; }
    .qs-placeholder-box { height: 300px; width: 100%; max-width: none; }
}

@media (min-width: 1024px) {
    .qs-global-promo-label {
        width: max-content;
        max-width: min(100%, 760px);
        margin: 0.25rem auto 0.55rem;
        padding: 0.684rem 1.15rem;
        white-space: nowrap;
    }
    .qs-global-promo-label span:last-child {
        white-space: nowrap;
    }

    /* Expand Plus/Pro billing text width on desktop */
    .qs-price-card:nth-child(2) .qs-billing-cycle,
    .qs-price-card:nth-child(3) .qs-billing-cycle {
        display: inline-block;
        width: 130%;
        max-width: 130%;
        white-space: nowrap;
    }
    .qs-price-card:nth-child(2) .qs-total-cost,
    .qs-price-card:nth-child(3) .qs-total-cost {
        font-size: 1.95rem;
        white-space: nowrap;
    }

    .qs-pricing-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Desktop spacing: controls -> promo == promo -> cards */
@media (min-width: 1024px) {
    #qs-price-section {
        --qs-desktop-promo-gap: 0.5rem;
    }
    .qs-controls-container {
        margin-bottom: var(--qs-desktop-promo-gap);
    }
    .qs-global-promo-label {
        margin: 0 auto var(--qs-desktop-promo-gap);
    }
    .qs-pricing-grid {
        margin-top: 0;
    }
}

/* Radial glow for pricing section */
.pricing-glow {
    display: none;
}

.pricing-glow-container {
    position: relative;
    margin-top: 20px; /* Add some space from the navbar */
}

/* qiksense Hero Logo */
.qs-hero-logo {
    max-width: 210px;
    height: auto;
    margin-bottom: 1.5rem;
}

/* "Free" word highlight in promo banner */
.qs-promo-free {
    font-weight: 800;
    font-size: 1.15em;
    color: #FB9082;
    background: none;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: #FB9082;
    background-clip: unset;
}

/* "Let's Talk" bold styling */
.qs-talk-headline {
    font-size: clamp(2rem, 4.2vw, 2.6rem);
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2rem;
    color: var(--qs-text-main);
    white-space: nowrap;
    display: block;
    max-width: 100%;
    overflow: hidden;
}

/* Billing cycle */
.qs-billing-cycle {
    display: block;
    color: var(--qs-text-muted);
    font-size: 0.9rem;
    margin-top: 0.4rem;
    white-space: nowrap;
}

/* Centered section for "Other Solutions" CTA */
.qs-centered-section {
    text-align: center !important;
}

.qs-centered-content {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
}

.qs-centered-content h2 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--qs-text-main);
    line-height: 1.3;
}

.qs-centered-content p {
    color: var(--qs-text-muted);
    font-size: 1rem;
    margin-bottom: 1.5rem;
    line-height: 1.6;
}

.qs-centered-content .qs-btn {
    display: inline-block;
    width: auto;
    padding: 0.8rem 2rem;
}

.qs-solutions-img {
    display: block;
    max-width: 300px;
    height: auto;
    margin: 2rem auto 0 auto;
    border-radius: 16px;
}

@media (min-width: 768px) {
    .qs-centered-content h2 {
        font-size: 2.5rem;
    }
}

/* FAQ Section */
.faq-section {
    color: #333;
    background: url('../images/faq-bg.png') center center / cover no-repeat;
    background-attachment: fixed;
    padding: 90px 20px 80px;
    box-sizing: border-box;
    line-height: 1.5;
    position: relative;
    overflow: hidden;
}

/* Decorative circles removed - now part of background image */

.faq-container {
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

/* --- Header Styles --- */
.faq-header {
    text-align: center;
    background: #fff;
    border-radius: 24px;
    padding: 3rem 2rem;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}

.faq-title {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
    color: #333;
    line-height: 1.2;
}

.faq-description {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 2.5rem;
    color: #666;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.faq-help-text {
    font-size: 18px;
    margin-top: 10px;
    color: #333;
}

.faq-link {
    color: #EE4435;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
    border-bottom: 1px solid #EE4435;
}

.faq-link:hover {
    color: #FF6B35;
    border-bottom-color: #FF6B35;
}

.faq-link-line {
    white-space: nowrap;
}

/* --- Navigation Tabs --- */
.faq-tabs-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 0;
    background: #f8f9fa;
    border-radius: 12px;
    padding: 0.5rem;
    min-width: 200px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.faq-tab {
    background: transparent;
    border: none;
    border-radius: 8px;
    padding: 1rem 1.2rem;
    width: 100%;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    color: #666;
    transition: all 0.3s ease;
    text-align: left;
    outline: none;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.faq-tab::after {
    content: '›';
    font-size: 20px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.faq-tab:hover {
    background: #e8e8e8;
    color: #333;
}

/* Active State for Tab */
.faq-tab.active {
    background: #fff;
    color: #333;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.faq-tab.active::after {
    opacity: 1;
}

/* --- FAQ Main Content Layout --- */
.faq-main-content {
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 2rem;
    align-items: start;
    margin-top: 2rem;
}

.faq-main-content.is-loading {
    grid-template-columns: 1fr;
}

.faq-main-content.is-loading .faq-tabs-wrapper {
    display: none;
}

.faq-main-content.is-loading .faq-content-wrapper {
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* --- Accordion Content Area --- */
.faq-content-wrapper {
    max-width: 100%;
    margin: 0;
    text-align: left;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

/* Loading Spinner */
.faq-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    gap: 1rem;
    color: #999;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
}

.faq-loading-spinner {
    width: 36px;
    height: 36px;
    border: 3px solid rgba(13, 159, 168, 0.15);
    border-top-color: #0D9FA8;
    border-radius: 50%;
    animation: faqSpin 0.8s linear infinite;
}

@keyframes faqSpin {
    to { transform: rotate(360deg); }
}

/* Hide categories by default */
.faq-category {
    display: none;
}

.faq-category.active {
    display: block;
    animation: faqFadeIn 0.4s ease-in-out;
}

/* Individual FAQ Item */
.faq-item {
    border-bottom: 1px solid #e8e8e8;
    overflow: hidden;
    transition: all 0.3s ease;
    padding: 0 1.5rem;
}

.faq-item:hover {
    background: #fafafa;
}

/* The clickable header of the accordion */
.faq-question {
    padding: 1.25rem 0;
    font-size: 15px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #333;
    transition: color 0.2s;
    user-select: none;
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-question:hover {
    color: #EE4435;
}

.faq-item.active .faq-question {
    color: #EE4435;
}

/* Close/Expand Icon */
.faq-icon {
    position: relative;
    width: 20px;
    height: 20px;
    margin-left: 15px;
    flex-shrink: 0;
}

/* The lines forming the + */
.faq-icon::before,
.faq-icon::after {
    content: '';
    position: absolute;
    background-color: #666;
    transition: all 0.3s ease;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.faq-icon::before {
    width: 16px;
    height: 2px; /* Horizontal line */
}

.faq-icon::after {
    width: 2px; /* Vertical line */
    height: 16px;
}

.faq-item:hover .faq-icon::before,
.faq-item:hover .faq-icon::after {
    background-color: #333;
}

/* Active State Icon Transformations (Plus to Minus) */
.faq-item.active .faq-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}

.faq-item.active .faq-icon::before {
    background-color: #333;
}

/* The Hidden Answer */
.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-out;
    padding-right: 40px; /* Space for reading */
}

.faq-answer p {
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 1.25rem;
    color: #666;
    line-height: 1.7;
    font-size: 14px;
}

.faq-answer ul,
.faq-answer ol {
    margin: 0 0 1.25rem 1.25rem;
    padding-left: 1rem;
    color: #666;
    line-height: 1.7;
    font-size: 14px;
    font-family: inherit;
}

.faq-answer li {
    margin-bottom: 0.75rem;
    color: #666;
    line-height: 1.7;
    font-size: 14px;
    font-family: inherit;
}

.faq-answer li:last-child {
    margin-bottom: 0;
}

/* Active State for Answer (Expansion) */
.faq-item.active .faq-answer {
    max-height: 1000px; /* Arbitrary large height */
}

/* Animation Keyframes */
@keyframes faqFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* --- Mobile Responsiveness --- */
@media (max-width: 768px) {
    .faq-section {
        padding: 60px 15px 60px;
    }

    .faq-section::before,
    .faq-section::after {
        display: none;
    }

    .faq-header {
        padding: 2rem 1.5rem;
    }

    .faq-title {
        font-size: 1.5rem;
    }

    .faq-description {
        font-size: 13px;
        margin-bottom: 1.5rem;
    }

    .faq-main-content {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .faq-tabs-wrapper {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: hidden;
        padding: 0.5rem;
        gap: 0.5rem;
        min-width: auto;
        background: #fff;
        border: 1px solid rgba(238, 68, 53, 0.28);
        border-radius: 12px;
        box-shadow: none;
    }

    .faq-tab {
        white-space: nowrap;
        padding: 0.75rem 1rem;
        font-size: 13px;
        width: 100%;
        min-width: 0;
        justify-content: center;
        text-align: center;
        border-radius: 8px;
        color: #EE4435;
        text-transform: uppercase;
    }

    .faq-tab:hover {
        background: rgba(238, 68, 53, 0.1);
        color: #EE4435;
    }

    .faq-tab.active {
        background: #EE4435;
        color: #fff;
        box-shadow: 0 0 12px rgba(238, 68, 53, 0.35);
    }

    .faq-link-line {
        display: block;
        margin-top: 0.35rem;
    }

    .faq-tab::after {
        display: none;
    }

    .faq-question {
        font-size: 14px;
        padding: 1rem 0;
    }

    .faq-answer {
        padding-right: 0;
        font-size: 13px;
    }

    .faq-decorative-circle {
        opacity: 0.5;
    }
}
/* Responsive styles for pricing glow on mobile */
@media (max-width: 768px) {
    .pricing-glow {
        width: 500px;
        height: 500px;
        top: -100px;
    }
}

@media (max-width: 480px) {
    .pricing-glow {
        width: 400px;
        height: 400px;
        top: -80px;
    }
}

/* White background page nav styling */
/* Desktop nav links - only above 1000px when not hamburger menu */
@media (min-width: 1001px) {
    .white-bg-page .nav div.main_list ul li a {
        color: #333;
    }

    .white-bg-page .nav div.main_list ul li a:hover,
    .white-bg-page .nav div.main_list ul li a:focus-visible,
    .white-bg-page .nav div.main_list ul li a:active {
        color: #159BA5;
    }
}

/* Hamburger color for white background pages - 1000px and below */
@media (max-width: 1000px) {
    .white-bg-page {
        --mobile-ui-icon-color: #333;
    }
}

/* Adjust corner badge on mobile to prevent overflow */
@media (max-width: 768px) {
    .qs-corner-badge {
        top: calc(var(--qs-strip-height) / 2);
        left: 0.8rem;
        right: 0.8rem;
        width: auto;
        font-size: 0.965rem;
    }
    .qs-price-card.qs-has-top-strip {
        --qs-strip-height: 4.7rem;
        padding-top: 6.3rem;
    }
    .qs-price-card.qs-has-top-strip::before {
        height: 4.7rem;
    }
    .qs-card-title {
        font-size: 2rem;
    }
    .qs-card-desc {
        font-size: 1rem;
    }
    .qs-amount {
        font-size: 3.3rem;
    }
    .qs-talk-headline {
        font-size: 2.6rem;
    }
    .qs-pricing-grid .qs-price-card:first-child .qs-price-amount {
        font-size: 3.3rem;
    }
    .qs-total-cost {
        font-size: 1.95rem;
    }
}

@media (max-width: 480px) {
    .qs-corner-badge {
        top: calc(var(--qs-strip-height) / 2);
        left: 0.7rem;
        right: 0.7rem;
        width: auto;
        font-size: 0.865rem;
    }
    .qs-price-card.qs-has-top-strip {
        --qs-strip-height: 4.2rem;
        padding-top: 5.8rem;
    }
    .qs-price-card.qs-has-top-strip::before {
        height: 4.2rem;
    }
    .qs-card-title {
        font-size: 1.9rem;
    }
    .qs-card-desc {
        font-size: 0.98rem;
    }
    .qs-amount {
        font-size: 3.15rem;
    }
    .qs-talk-headline {
        font-size: 2.4rem;
    }
    .qs-pricing-grid .qs-price-card:first-child .qs-price-amount {
        font-size: 3.15rem;
    }
    .qs-total-cost {
        font-size: 1.8rem;
    }
    .qs-promo-label {
        font-size: 0.94rem;
    }
}

/* Constrain table wrapper width */
.qs-table-wrapper {
    max-width: 100vw;
}

/* =============================================================================
   SCROLL TO TOP BUTTON
   ============================================================================= */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: transparent;
    border: 2px solid var(--mobile-ui-icon-color, #fff);
    cursor: pointer;
    z-index: 9998;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease,
                background 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--mobile-ui-icon-color, #fff);
    padding: 0;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

/* Remove gradient border */
.scroll-to-top::before {
    display: none;
    background: linear-gradient(170deg, #EE4435 44%, #13dee9 98%);
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    transition: opacity 0.3s ease;
}

.scroll-to-top.visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-to-top:hover {
    background: transparent;
    box-shadow: none;
    color: var(--mobile-ui-icon-color, #fff);
}

/* Pricing page desktop: use black scroll-to-top icon */
@media (min-width: 1001px) {
    .pricing-page .scroll-to-top {
        border-color: #1f2328;
        color: #1f2328;
    }
    .pricing-page .scroll-to-top:hover {
        color: #1f2328;
    }
    .pricing-page .whatsapp-fab {
        border-color: #1f2328;
        color: #1f2328;
    }
    .pricing-page .whatsapp-fab:hover {
        color: #1f2328;
    }
}

.scroll-to-top:hover::before {
    opacity: 0;
}

.scroll-to-top:active {
    transform: scale(0.92);
}

.has-whatsapp-fab .scroll-to-top {
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease,
                background 0.3s ease, box-shadow 0.3s ease, color 0.3s ease, bottom 0.3s ease;
}

.whatsapp-fab {
    position: fixed;
    right: calc(30px + env(safe-area-inset-right, 0px));
    bottom: calc(30px + env(safe-area-inset-bottom, 0px));
    width: 46px;
    height: 46px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--mobile-ui-icon-color, #fff);
    border: 2px solid var(--mobile-ui-icon-color, #fff);
    box-shadow: none;
    z-index: 9997;
    text-decoration: none;
    transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
    padding: 0;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.whatsapp-fab img {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
}

.whatsapp-fab:hover {
    background: transparent;
    box-shadow: none;
    color: var(--mobile-ui-icon-color, #fff);
}

.whatsapp-fab:active {
    transform: scale(0.92);
}

.whatsapp-fab:focus-visible {
    outline: 3px solid rgba(21, 155, 165, 0.35);
    outline-offset: 4px;
}

.has-whatsapp-fab .scroll-to-top.visible {
    bottom: calc(92px + env(safe-area-inset-bottom, 0px));
}

@media (max-width: 768px) {
    .scroll-to-top {
        bottom: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
    }

    .whatsapp-fab {
        right: calc(20px + env(safe-area-inset-right, 0px));
        bottom: calc(20px + env(safe-area-inset-bottom, 0px));
        width: 40px;
        height: 40px;
    }

    .whatsapp-fab img {
        width: 20px;
        height: 20px;
    }

    .has-whatsapp-fab .scroll-to-top.visible {
        bottom: calc(72px + env(safe-area-inset-bottom, 0px));
    }
}

/* Mobile: remove default tap highlight flash on links/buttons */
@media (hover: none) and (pointer: coarse) {
    html,
    body,
    * {
        -webkit-tap-highlight-color: transparent !important;
    }

    a,
    button,
    .navTrigger,
    [role="button"],
    input[type="button"],
    input[type="submit"] {
        -webkit-tap-highlight-color: transparent;
    }

    a:focus,
    button:focus,
    .navTrigger:focus,
    [role="button"]:focus,
    input[type="button"]:focus,
    input[type="submit"]:focus {
        outline: none;
        box-shadow: none;
    }
}

/* =============================================================================
 * PRICING RESTORE OVERRIDES (mobile)
 * ============================================================================= */
.qs-comparison-plan-toggle {
    display: none;
}

body {
    --mobile-surface-bg: var(--dark);
}

@media (max-width: 1000px) {
    .nav {
        will-change: transform;
        background-color: var(--mobile-surface-bg, var(--dark));
        padding-top: 4px;
        padding-bottom: 4px;
    }
    .nav.qs-nav-hidden-mobile {
        transform: translateY(-120%) !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .navTrigger {
        margin-top: 16px;
    }
    .nav div.logo a {
        height: 52px;
    }
    #mainListDiv.show_list ~ .navTrigger i {
        background-color: #fff;
    }
    .white-bg-page {
        --mobile-ui-icon-color: #333;
        --mobile-surface-bg: #fff;
    }

    .white-bg-page.faq-page {
        --mobile-surface-bg: transparent;
    }

    .faq-page .nav {
        background-color: transparent;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
    }
}

/* Ensure promo text icon and line wrap behavior */
.qs-global-promo-label {
    margin: 0.2rem 0 0.35rem;
}
.qs-promo-icon {
    width: 1.5em;
    height: 1.5em;
    flex: 0 0 1.5em;
}

/* Export section: keep text visible and fee on next line */
.qs-export-feature span {
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (min-width: 769px) {
    .qs-export-feature span {
        white-space: nowrap;
        overflow-wrap: normal;
    }
}
@media (max-width: 768px) {
    .qs-export-price {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 0.25rem;
    }
    .qs-export-term {
        flex-basis: 100%;
        margin-top: 0.5rem;
        text-align: center;
        line-height: 1.2;
    }
    .qs-export-feature {
        align-items: flex-start;
    }
}

@media (max-width: 767px) {
    #qs-price-section {
        position: relative;
    }

    .qs-controls-placeholder,
    .qs-comparison-toggle-placeholder {
        height: 0;
    }

    /* Sticky controls zone aligned with page style */
    .qs-controls-container {
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        position: static;
        width: 100%;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
        padding: 0.42rem 0 0.58rem;
        box-sizing: border-box;
    }
    .qs-controls-container.qs-mobile-fixed,
    .qs-controls-container.qs-mobile-absolute {
        width: 100%;
        left: 0;
        right: 0;
        transform: none;
        z-index: 50;
        margin-bottom: 0;
        position: relative;
        max-width: none;
        padding: 0.42rem 1rem 0.58rem;
        box-sizing: border-box;
    }
    .qs-controls-container.qs-mobile-fixed::before,
    .qs-controls-container.qs-mobile-absolute::before {
        content: "";
        position: absolute;
        inset: 0;
        background: var(--mobile-surface-bg, #fff);
        border-radius: 0;
        box-shadow: none;
        z-index: -1;
        pointer-events: none;
    }
    .qs-controls-container.qs-mobile-fixed {
        position: fixed;
        top: var(--qs-mobile-sticky-top, 86px);
    }
    .qs-controls-container.qs-mobile-absolute {
        position: absolute;
        top: var(--qs-mobile-controls-absolute-top, 0px);
    }

    .qs-currency-control { order: 1; }
    .qs-frequency-toggles { order: 2; width: 100%; flex-wrap: nowrap; gap: 4px; }
    .qs-freq-btn { flex: 1 1 0; width: auto; min-width: 0; padding: 0 0.35rem; font-size: 0.82rem; }
    .qs-currency-label { display: inline-block; }
    .qs-currency-toggle-wrapper { width: 230px; max-width: 62vw; }
    .qs-currency-tab { flex: 1 1 0; min-width: 0; }

    /* Comparison table mobile mode */
    .qs-comparison-section {
        max-width: 600px;
        width: 100%;
        padding: 0;
        margin: 3.5rem auto;
        position: relative;
    }
    .qs-comparison-plan-toggle {
        display: block;
        position: relative;
        z-index: 25;
        margin-bottom: 0.9rem;
        padding: 0.42rem 0 0.58rem;
        background: transparent;
        box-sizing: border-box;
    }
    .qs-comparison-plan-toggle.qs-sticky-fixed,
    .qs-comparison-plan-toggle.qs-sticky-absolute {
        left: 0;
        right: auto;
        width: 100%;
        z-index: 35;
        margin-bottom: 0;
        padding: 0.42rem 0 0.58rem;
        background: transparent;
        box-sizing: border-box;
    }
    .qs-comparison-plan-toggle::before,
    .qs-comparison-plan-toggle.qs-sticky-fixed::before,
    .qs-comparison-plan-toggle.qs-sticky-absolute::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        left: 50%;
        width: 100vw;
        transform: translateX(-50%);
        background: var(--mobile-surface-bg, #fff);
        border-radius: 0;
        z-index: -1;
        pointer-events: none;
    }
    .qs-comparison-plan-toggle.qs-sticky-fixed {
        position: fixed;
        top: var(--qs-comparison-sticky-top, 0px);
        width: var(--qs-comparison-sticky-width, 100%);
        left: var(--qs-comparison-sticky-left, 0px);
    }
    .qs-comparison-plan-toggle.qs-sticky-absolute {
        position: absolute;
        top: var(--qs-comparison-sticky-absolute-top, 0px);
        left: 0;
        width: 100%;
    }
    .qs-comparison-plan-selector {
        display: inline-flex;
        width: 100%;
        background: var(--qs-card-bg);
        border: 1px solid var(--qs-card-border);
        border-radius: var(--qs-surface-radius);
        padding: 0.25rem;
        gap: 5px;
    }
    .qs-comparison-plan-btn {
        background: transparent;
        border: none;
        color: var(--qs-text-muted);
        padding: 0 1rem;
        font-size: 0.9rem;
        font-weight: 500;
        border-radius: var(--qs-surface-radius);
        height: 42px;
        flex: 1 1 0;
        cursor: pointer;
        transition: var(--qs-transition);
    }
    .qs-comparison-plan-btn.qs-active {
        background-color: var(--qs-accent-primary);
        color: #fff;
        box-shadow: 0 0 15px var(--qs-accent-glow);
    }

    .qs-table-wrapper {
        overflow-x: hidden;
        width: 100%;
    }
    .qs-table {
        min-width: 0;
        width: 100%;
        table-layout: fixed;
    }
    .qs-table td:first-child,
    .qs-table th:first-child {
        min-width: 0;
        width: 50%;
    }
    .qs-table td:nth-child(2),
    .qs-table th:nth-child(2),
    .qs-table td:nth-child(3),
    .qs-table th:nth-child(3),
    .qs-table td:nth-child(4),
    .qs-table th:nth-child(4),
    .qs-table td:nth-child(5),
    .qs-table th:nth-child(5) {
        width: 50%;
        min-width: 0;
    }

    .qs-comparison-section[data-mobile-plan="basic"] .qs-table tr > *:nth-child(3),
    .qs-comparison-section[data-mobile-plan="basic"] .qs-table tr > *:nth-child(4),
    .qs-comparison-section[data-mobile-plan="basic"] .qs-table tr > *:nth-child(5),
    .qs-comparison-section[data-mobile-plan="plus"] .qs-table tr > *:nth-child(2),
    .qs-comparison-section[data-mobile-plan="plus"] .qs-table tr > *:nth-child(4),
    .qs-comparison-section[data-mobile-plan="plus"] .qs-table tr > *:nth-child(5),
    .qs-comparison-section[data-mobile-plan="pro"] .qs-table tr > *:nth-child(2),
    .qs-comparison-section[data-mobile-plan="pro"] .qs-table tr > *:nth-child(3),
    .qs-comparison-section[data-mobile-plan="pro"] .qs-table tr > *:nth-child(5),
    .qs-comparison-section[data-mobile-plan="elite"] .qs-table tr > *:nth-child(2),
    .qs-comparison-section[data-mobile-plan="elite"] .qs-table tr > *:nth-child(3),
    .qs-comparison-section[data-mobile-plan="elite"] .qs-table tr > *:nth-child(4) {
        display: none;
    }

    /* Export section width aligns with comparison table width */
    .qs-export-section {
        max-width: 600px;
        width: 100%;
        padding: 0;
        margin: 3.5rem auto 0;
    }
    .qs-export-section h2 {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .qs-export-box,
    .qs-export-cta {
        width: 100%;
    }

    /* Hide CSS pseudo-element tooltips on mobile — JS handles positioning instead */
    .qs-info-icon:hover::after,
    .qs-info-icon:hover::before,
    .qs-limit-icon:hover::after,
    .qs-limit-icon:hover::before {
        display: none;
    }
}

/* =============================================================================
 * iOS PERFORMANCE OPTIMIZATIONS
 * =============================================================================
 * iOS devices have limited GPU resources and handle scroll animations differently
 * than Android. These optimizations improve performance on iPhone/iPad.
 */

/* iOS-specific performance fixes */
@supports (-webkit-touch-callout: none) {
    /* This selector targets iOS Safari specifically */

    /* Optimize scrolling container */
    body {
        -webkit-overflow-scrolling: touch;
    }

    /* Reduce will-change usage - only apply during animations via JS */
    /* Having will-change permanently can hurt performance on iOS */
    .db-data-card,
    .byoc-content-card,
    .byoc-flow-card,
    .portfolio-card {
        will-change: auto;
    }

    /* Simplify 3D transforms on iOS - they're expensive */
    .db-cards-container,
    .db-data-card {
        transform-style: flat !important;
        perspective: none !important;
    }

    /* Force hardware acceleration more explicitly on iOS */
    .hero-title,
    .builder-demo-section,
    #dashboard-section,
    .byoc-zoom-overlay {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }

    /* Reduce motion blur effects on iOS */
    * {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
}

/* Respect user's reduced motion preference (accessibility + performance) */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    /* Disable Lenis smooth scroll when reduced motion is preferred */
    html.lenis {
        overflow: auto !important;
        scroll-behavior: auto !important;
    }
}

/* Final desktop spacing lock for pricing promo stack */
@media (min-width: 1024px) {
    #qs-price-section {
        --qs-desktop-promo-gap: 0.5rem;
    }
    #qs-price-section .qs-controls-container {
        margin-bottom: var(--qs-desktop-promo-gap);
    }
    #qs-price-section .qs-global-promo-label {
        margin-top: 0;
        margin-bottom: var(--qs-desktop-promo-gap);
    }
    #qs-price-section .qs-pricing-grid {
        margin-top: 0;
    }
}

