/* Layered overlapping wave dividers */
.wave-divider { position: relative; padding-bottom: 60px; }
.wave-divider::before, .wave-divider::after {
content: ''; position: absolute; left: 0; width: 100%; pointer-events: none;
}
.wave-divider::before {
bottom: 24px; height: 80px; z-index: 1;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23D6E8F6' d='M0,50 C200,80 400,20 600,45 C800,70 1000,15 1200,40 C1350,55 1420,50 1440,48 L1440,80 L0,80 Z'/%3E%3C/svg%3E") no-repeat bottom center;
background-size: 100% 100%;
}
.wave-divider::after {
bottom: 12px; height: 80px; z-index: 2;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%23E8F2FB' d='M0,55 C180,25 360,70 540,50 C720,30 900,65 1080,45 C1260,25 1380,55 1440,50 L1440,80 L0,80 Z'/%3E%3C/svg%3E") no-repeat bottom center;
background-size: 100% 100%;
}
.wave-front {
position: absolute; bottom: -2px; left: 0; width: 100%; height: 80px;
z-index: 3; pointer-events: none;
}

/* Glass card */
.glass-card {
background: rgba(255,255,255,0.08);
backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
border: 1px solid rgba(255,255,255,0.12);
}

/* Fade-up animation (respects reduced motion) */
@media (prefers-reduced-motion: no-preference) {
.fade-up { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.fade-up.visible { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
.fade-up { opacity: 1; transform: none; }
}

/* Tab buttons */
#tab-signup.tab-btn[aria-selected="true"] { background: #0058A4; color: #fff; border-color: #0058A4; }
#tab-login.tab-btn[aria-selected="true"] { background: #263238; color: #fff; border-color: #263238; }
.tab-btn[aria-selected="false"] { background: #1E3A50; color: #93BBDE; border-color: #1E3A50; }
.tab-btn[aria-selected="false"]:hover { background: #254963; color: #fff; }
#tab-signup.tab-btn:focus-visible { outline: 3px solid #FFFFFF; outline-offset: -4px; border-radius: 15px 0 0 0; }
#tab-login.tab-btn:focus-visible { outline: 3px solid #FFFFFF; outline-offset: -4px; border-radius: 0 15px 0 0; }

/* Testimonial card */
.testimonial-card { border-left: 4px solid #4A9E3F; }

/* Impact badges */
@media (prefers-reduced-motion: no-preference) {
.impact-badge { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.impact-badge:hover { transform: translateY(-4px); box-shadow: 0 8px 30px rgba(0,56,101,0.18); }
}

/* Video wrapper */
.video-wrapper { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; border-radius: 0.75rem; }
.video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* Form inputs */
.form-input { transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.form-input:focus { border-color: #D97706; box-shadow: 0 0 0 3px rgba(217,119,6,0.3); outline: 2px dotted white; outline-offset: 2px;}
.form-input.is-invalid, .form-input.is-invalid:focus { border-color: #EF4444; box-shadow: 0 0 0 3px rgba(239,68,68,0.25); }

/* Radio inputs */
.radio-option input[type="radio"] { width: 1.25rem; height: 1.25rem; accent-color: #4A9E3F; cursor: pointer; flex-shrink: 0; }


a .fa-arrow-up::before {
  content: "\f062";
  top: -2px;
  position: relative;
  transition: all .25s ease-in-out;
}

a:hover .fa-arrow-up::before {
  top: -5px;
}

a.tos-lo:hover,
a.tos-lo:focus,
a.tos-lo:focus-visible {
    outline: 2px dotted #9fcc3b;
    outline-offset:2px;
    color: #9fcc3b !important;
}
