* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

body {
   font-family: "Inter", sans-serif;
   line-height: 1.6;
   color: #333;
   overflow-x: hidden;
}

.container {
   max-width: 1200px;
   margin: 0 auto;
   padding: 0 20px;
}

/* Hero Section */
.hero {
   min-height: 100vh;
   background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
   display: flex;
   align-items: center;
   position: relative;
   overflow: hidden;
   padding: 80px 0;
}

.hero::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;
   opacity: 0.3;
}

.hero-content {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 60px;
   align-items: center;
   position: relative;
   z-index: 1;
}

.hero-image {

   justify-content: center;
   align-items: center;
}

.phone-mockup {
   position: relative;
   width: fit-content;
   height: 600px;
   border-radius: 40px;
   padding: 0;
   background: none;
   transform: rotate(-5deg);
   transition: transform 0.3s ease;
   display: inline-block;
}

.phone-mockup:hover {
   transform: rotate(0deg) scale(1.05);
}

.phone-mockup .app-image {
   border-radius: 40px;
}

.app-image {
   width: fit-content;
   height: 100%;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #999;
   font-size: 14px;
   text-align: center;
}

.hero-text {
   color: white;
}

.hero-text h1 {
   font-size: 5rem;
   font-weight: 700;
   margin-bottom: 0px;
   background: linear-gradient(45deg, #ffffff, #f0f0f0);
   -webkit-background-clip: text;
   background-clip: text;
}

.subtitle {
   font-size: 1.25rem;
   margin-bottom: 40px;
   opacity: 0.9;
}

.countdown-container {
   margin: 2rem 0;
   text-align: center;
   width: 100%;
   margin: 0 auto;
}

.countdown-container.loading {
   position: relative;
}

.countdown-container.loading::after {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: 30px;
   height: 30px;
   border: 3px solid #f3f3f3;
   border-top: 3px solid #79f6fc;
   border-radius: 50%;
   animation: spin 1s linear infinite;
}

.countdown-container.error {
   color: #ff4444;
}

@keyframes spin {
   0% {
      transform: translate(-50%, -50%) rotate(0deg);
   }

   100% {
      transform: translate(-50%, -50%) rotate(360deg);
   }
}

.countdown-container h2 {
   font-size: 1.5rem;
   margin-bottom: 20px;
   font-weight: 500;
   text-align: center;
   width: 100%;
}

.countdown {
   display: flex;
   gap: 20px;
   margin-bottom: 30px;
}

.countdown-item {
   background: rgba(255, 255, 255, 0.2);
   padding: 20px;
   border-radius: 15px;
   text-align: center;
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.3);
   width: 100px;
   position: relative;
   overflow: hidden;
   flex: 1;
}

.countdown-item span {
   display: block;
   font-size: 2rem;
   font-weight: 700;
   margin-bottom: 5px;
   position: relative;
   transition: transform 0.3s ease;
   will-change: transform, opacity;
   min-width: 2ch;
}

.countdown-item span.animate {
   animation: slideDown 0.3s ease forwards;
   z-index: 2;
}

.countdown-item span.animate-out {
   animation: slideDownOut 0.3s ease forwards;
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1;
}

@keyframes slideDown {
   0% {
      transform: translateY(-100%) scale(0.5);
      opacity: 0;
   }

   100% {
      transform: translateY(0) scale(1);
      opacity: 1;
   }
}

@keyframes slideDownOut {
   0% {
      transform: translateY(0) scale(1);
      opacity: 1;
   }

   100% {
      transform: translateY(100%) scale(0.5);
      opacity: 0;
      visibility: hidden;
   }
}

.countdown-item label {
   font-size: 0.875rem;
   opacity: 0.8;
   text-align: center;
}

.beta-signup .email-form {
   background: none;
   border: none;
   box-shadow: none;
   backdrop-filter: none;
   -webkit-backdrop-filter: none;
   border-radius: 0;
   padding: 0;
   margin: 0;
   max-width: none;
   transition: none;
}

.beta-signup .email-form input,
.beta-signup .email-form select {
   background: rgba(255, 255, 255, 0.2);
   border-radius: 15px;
   border: 1px solid rgba(255, 255, 255, 0.3);
   backdrop-filter: blur(10px);
   -webkit-backdrop-filter: blur(10px);
   box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
   color: #ffffff6a;
   font-size: 1rem;
   font-weight: 500;
   transition: border 0.3s, background 0.3s;
}

.beta-signup .email-form input:focus,
.beta-signup .email-form select:focus {
   background: rgba(255, 255, 255, 0.35);
   color: white;
   border-color: #79f6fc;
}

.beta-signup .email-form button {
   width: 100%;
   padding: 20px 30px;
   background: linear-gradient(45deg, #ff6b6b, #ee5a52);
   color: white;
   border: none;
   border-radius: 15px;
   font-size: 1rem;
   font-weight: 600;
   cursor: pointer;
   transition: all 0.3s ease;
   white-space: nowrap;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   margin-top: 15px;
}

.beta-signup .email-form button:hover {
   transform: translateY(-2px);
   box-shadow: 0 10px 25px rgba(255, 107, 107, 0.4);
}

.email-form {
   margin-bottom: 10px;
}

.email-form .form-row {
   display: flex;
   gap: 10px;
   align-items: center;
   margin-bottom: 10px;
}

.email-form .form-group {
   position: relative;
}

.email-form input,
.email-form select {
   padding: 20px 20px;
   border: 2px solid #e0e0e0;
   border-radius: 8px;
   font-size: 16px;
   transition: border-color 0.3s ease;
   background-color: white;
}

.email-form input {
   width: 250px;
}

.email-form select {
   width: 300px;
   appearance: none;
   background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' 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 12px center;
   background-size: 16px;
   padding-right: 40px;
   cursor: pointer;
}

/* University logo styles */
.university-option {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 8px 12px;
}

.university-logo {
   width: 24px;
   height: 24px;
   border-radius: 50%;
   object-fit: cover;
}

.email-form select:focus,
.email-form input:focus {
   outline: none;
   border-color: #79f6fc;
}

.email-form select:hover,
.email-form input:hover,
.countdown-item:hover {
   border-color: #79f6fc;
}

.email-form button {
   width: 100%;
   padding: 20px 30px;
   background: linear-gradient(45deg, #ff6b6b, #ee5a52);
   color: white;
   border: none;
   border-radius: 8px;
   font-size: 1rem;
   font-weight: 600;
   cursor: pointer;
   transition: all 0.3s ease;
   white-space: nowrap;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   margin-top: 10px;
}

.email-form button:hover {
   transform: translateY(-2px);
   box-shadow: 0 10px 25px rgba(255, 107, 107, 0.4);
}

.email-form button:disabled {
   opacity: 0.7;
   cursor: not-allowed;
}

.email-form button .fa-spinner {
   font-size: 1rem;
}

.form-message.error {
   color: #ff4444;
   margin-top: 10px;
   text-align: left;
}

/* Objectives Section */
.objectives {
   padding: 100px 0;
   background: #ffffff;
}

.objectives-content {
   text-align: center;
   max-width: 800px;
   margin: 0 auto;
}

.objectives-content h2 {
   font-size: 3rem;
   margin-bottom: 40px;
   font-weight: 700;
   color: #2d3748;
}

.objectives-text {
   text-align: left;
}

.objectives-text p {
   font-size: 1.2rem;
   margin-bottom: 25px;
   color: #4a5568;
   line-height: 1.8;
}

.objectives-text p:first-child {
   font-size: 1.4rem;
   text-align: center;
   margin-bottom: 35px;
   color: #667eea;
   font-weight: 500;
}

/* How It Works Section */
.how-it-works {
   padding: 100px 0;
   background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
}

.how-it-works-content {
   text-align: center;
}

.how-it-works-content h2 {
   font-size: 3rem;
   margin-bottom: 20px;
   font-weight: 700;
   color: #2d3748;
}

.how-it-works-subtitle {
   font-size: 1.25rem;
   color: #718096;
   margin-bottom: 60px;
}

.carousel-container {
   max-width: 1000px;
   margin: 0 auto;
   position: relative;
}

.carousel-wrapper {
   overflow: hidden;
   border-radius: 20px;
   background: white;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}

.carousel-slide {
   display: none;
   grid-template-columns: 1fr 1fr;
   align-items: center;
   min-height: 400px;
   padding: 60px;
   gap: 60px;
}

.carousel-slide.active {
   display: grid;
}

.carousel-content {
   display: flex;
   flex-direction: column;
   gap: 30px;
}

.carousel-icon {
   font-size: 4rem;
   color: #667eea;
   margin-bottom: 20px;
}

.carousel-text h3 {
   font-size: 2rem;
   margin-bottom: 15px;
   font-weight: 600;
   color: #2d3748;
}

.carousel-text p {
   font-size: 1.1rem;
   color: #718096;
   line-height: 1.6;
}

.carousel-image {
   display: flex;
   justify-content: center;
   align-items: center;
}

.phone-preview {
   width: fit-content;
   border-radius: 30px;
   display: flex;
   align-items: center;
   justify-content: center;
   box-shadow: 0 20px 40px rgba(102, 126, 234, 0.3);
   transform: rotate(-5deg);
   transition: transform 0.3s ease;
}

.phone-preview:hover {
   transform: rotate(0deg) scale(1.05);
}

.phone-preview img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 20px;
}

.carousel-controls {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 30px;
   margin-top: 40px;
}

.carousel-btn {
   background: rgba(102, 126, 234, 0.1);
   border: 2px solid #667eea;
   color: #667eea;
   width: 50px;
   height: 50px;
   border-radius: 50%;
   cursor: pointer;
   transition: all 0.3s ease;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 1.2rem;
}

.carousel-btn:hover {
   background: #667eea;
   color: white;
   transform: scale(1.1);
}

.carousel-dots {
   display: flex;
   gap: 15px;
}

.dot {
   width: 12px;
   height: 12px;
   border-radius: 50%;
   background: #e2e8f0;
   cursor: pointer;
   transition: all 0.3s ease;
}

.dot.active {
   background: #667eea;
   transform: scale(1.3);
}

/* Features Section */
.features {
   padding: 100px 0;
   background: #f8fafc;
}

.features-content {
   text-align: center;
}

.features-content h2 {
   font-size: 3rem;
   margin-bottom: 20px;
   font-weight: 700;
   color: #2d3748;
}

.features-subtitle {
   font-size: 1.25rem;
   color: #718096;
   margin-bottom: 60px;
   max-width: 600px;
   margin-left: auto;
   margin-right: auto;
}

.features-grid {
   display: grid;
   grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
   gap: 40px;
   margin-top: 60px;
}

.feature-card {
   background: white;
   padding: 40px 30px;
   border-radius: 20px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
   transition: all 0.3s ease;
   border: 1px solid #e2e8f0;
}

.feature-card:hover {
   transform: translateY(-10px);
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.feature-icon {
   font-size: 2.5rem;
   margin-bottom: 20px;
   color: #667eea;
   transition: transform 0.3s ease;
}

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

.feature-card h3 {
   font-size: 1.5rem;
   margin-bottom: 15px;
   font-weight: 600;
   color: #2d3748;
}

.feature-card p {
   color: #718096;
   line-height: 1.6;
}

/* Advantages Section */
.advantages {
   padding: 100px 0;
   background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
   color: white;
}

.advantages-content {
   text-align: center;
}

.advantages-content h2 {
   font-size: 3rem;
   margin-bottom: 20px;
   font-weight: 700;
}

.advantages-subtitle {
   font-size: 1.25rem;
   margin-bottom: 60px;
   opacity: 0.9;
}

.advantages-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 60px;
   max-width: 1000px;
   margin: 0 auto;
}

.advantage-category {
   background: rgba(255, 255, 255, 0.1);
   padding: 40px;
   border-radius: 20px;
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.2);
}

.advantage-category.beta-exclusive {
   background: rgba(255, 255, 255, 0.15);
   border: 2px solid #79f6fc;
   position: relative;
   overflow: hidden;
}

.advantage-category.beta-exclusive::before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   right: 0;
   height: 4px;
   background: linear-gradient(90deg, #79f6fc, #ff6b6b);
}

.advantage-category h3 {
   font-size: 1.5rem;
   margin-bottom: 30px;
   font-weight: 600;
}

.advantages-list {
   display: flex;
   flex-direction: column;
   gap: 25px;
}

.advantage-item {
   display: flex;
   align-items: flex-start;
   gap: 20px;
   text-align: left;
}

.advantage-item.premium {
   background: rgba(255, 255, 255, 0.1);
   padding: 20px;
   border-radius: 15px;
   border: 1px solid #79f6fc;
}

.advantage-item i {
   font-size: 1.5rem;
   color: #79f6fc;
   margin-top: 5px;
   flex-shrink: 0;
}

.advantage-item.premium i {
   color: #ffd700;
}

.advantage-item h4 {
   font-size: 1.1rem;
   margin-bottom: 5px;
   font-weight: 600;
}

.advantage-item p {
   font-size: 0.95rem;
   opacity: 0.9;
   line-height: 1.4;
}

/* FAQ Section */
.faq {
   padding: 100px 0;
   background: #f8fafc;
}

.faq-content {
   text-align: center;
   max-width: 800px;
   margin: 0 auto;
}

.faq-content h2 {
   font-size: 3rem;
   margin-bottom: 20px;
   font-weight: 700;
   color: #2d3748;
}

.faq-subtitle {
   font-size: 1.25rem;
   color: #718096;
   margin-bottom: 60px;
}

.faq-list {
   display: flex;
   flex-direction: column;
   gap: 20px;
}

.faq-item {
   background: white;
   border-radius: 15px;
   box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
   overflow: hidden;
   transition: all 0.3s ease;
}

.faq-item:hover {
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
}

.faq-question {
   width: 100%;
   padding: 25px 30px;
   background: none;
   border: none;
   text-align: left;
   font-size: 1.1rem;
   font-weight: 600;
   color: #2d3748;
   cursor: pointer;
   display: flex;
   justify-content: space-between;
   align-items: center;
   transition: all 0.3s ease;
}

.faq-question:hover {
   background: rgba(102, 126, 234, 0.05);
}

.faq-question i {
   color: #667eea;
   transition: transform 0.3s ease;
}

.faq-item.active .faq-question i {
   transform: rotate(180deg);
}

.faq-answer {
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.3s ease;
}

.faq-item.active .faq-answer {
   max-height: 200px;
}

.faq-answer p {
   padding: 0 30px 25px;
   color: #718096;
   line-height: 1.6;
   font-size: 1rem;
}

/* Team Section */
.team {
   padding: 100px 0;
   background: linear-gradient(135deg, #2d3748 0%, #4a5568 100%);
   color: white;
}

.team-content {
   text-align: center;
}

.team-content h2 {
   font-size: 3rem;
   margin-bottom: 20px;
   font-weight: 700;
}

.team-subtitle {
   font-size: 1.25rem;
   margin-bottom: 50px;
   opacity: 0.9;
}

.team-intro {
   max-width: 700px;
   margin: 0 auto 60px;
}

.team-intro p {
   font-size: 1.2rem;
   line-height: 1.7;
   opacity: 0.9;
}

.team-stats {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 40px;
   max-width: 600px;
   margin: 0 auto 60px;
}

.stat-item {
   text-align: center;
}

.stat-number {
   font-size: 3rem;
   font-weight: 700;
   color: #79f6fc;
   margin-bottom: 10px;
}

.stat-label {
   font-size: 1rem;
   opacity: 0.8;
}

.team-mission {
   max-width: 700px;
   margin: 0 auto;
   background: rgba(255, 255, 255, 0.1);
   padding: 40px;
   border-radius: 20px;
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.2);
}

.team-mission h3 {
   font-size: 1.8rem;
   margin-bottom: 20px;
   font-weight: 600;
   color: #79f6fc;
}

.team-mission p {
   font-size: 1.1rem;
   line-height: 1.7;
   opacity: 0.9;
}

/* CTA Section */
.cta {
   padding: 100px 0;
   background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);
   color: white;
   text-align: center;
}

.cta-content {
   max-width: 700px;
   margin: 0 auto;
}

.cta-badge {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   background: rgba(255, 255, 255, 0.2);
   padding: 10px 20px;
   border-radius: 50px;
   margin-bottom: 30px;
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.3);
   font-weight: 600;
   font-size: 0.9rem;
}

.cta-badge i {
   color: #ffd700;
}

.cta-content h2 {
   font-size: 3rem;
   margin-bottom: 20px;
   font-weight: 700;
}

.cta-subtitle {
   font-size: 1.3rem;
   margin-bottom: 40px;
   opacity: 0.95;
   line-height: 1.5;
}

.cta-benefits {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 20px;
   margin-bottom: 40px;
   text-align: left;
}

.benefit-item {
   display: flex;
   align-items: center;
   gap: 15px;
   font-size: 1.1rem;
   font-weight: 500;
}

.benefit-item i {
   color: #79f6fc;
   font-size: 1.2rem;
}

.cta-urgency {
   background: rgba(255, 255, 255, 0.15);
   padding: 20px;
   border-radius: 15px;
   margin-bottom: 40px;
   backdrop-filter: blur(10px);
}

.cta-urgency p {
   margin: 0;
   font-size: 1rem;
   font-weight: 500;
}

.cta-urgency i {
   color: #ffd700;
   margin-right: 8px;
}

.cta-button {
   display: inline-flex;
   align-items: center;
   gap: 15px;
   background: white;
   color: #ff6b6b;
   padding: 20px 40px;
   border-radius: 50px;
   text-decoration: none;
   font-size: 1.2rem;
   font-weight: 700;
   transition: all 0.3s ease;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.cta-button:hover {
   transform: translateY(-3px);
   box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
   background: #f8f8f8;
}

.cta-button i {
   transition: transform 0.3s ease;
}

.cta-button:hover i {
   transform: translateY(-2px);
}

/* Contact Section */
.contact {
   padding: 100px 0;
   background: linear-gradient(135deg, #2d3748 0%, #4a5568 100%);
   color: white;
}

.contact-content {
   max-width: 600px;
   margin: 0 auto;
   text-align: center;
}

.contact-content h2 {
   font-size: 3rem;
   margin-bottom: 20px;
   font-weight: 700;
}

.contact-content>p {
   font-size: 1.25rem;
   margin-bottom: 50px;
   opacity: 0.9;
}

.contact-form {
   display: flex;
   flex-direction: column;
   gap: 20px;
}

.contact-form input,
.contact-form textarea {
   width: 100%;
   padding: 20px;
   border: none;
   border-radius: 15px;
   font-size: 1rem;
   background: rgba(255, 255, 255, 0.1);
   color: white;
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.2);
   transition: all 0.3s ease;
}

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

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

.submit-btn {
   padding: 20px 40px;
   background: linear-gradient(45deg, #ff6b6b, #ee5a52);
   color: white;
   border: none;
   border-radius: 15px;
   font-size: 1.1rem;
   font-weight: 600;
   cursor: pointer;
   transition: all 0.3s ease;
}

.submit-btn:hover {
   transform: translateY(-3px);
   box-shadow: 0 15px 35px rgba(255, 107, 107, 0.4);
}

.form-message {
   margin-top: 15px;
   padding: 10px;
   border-radius: 8px;
   font-weight: 500;
   display: none;
   opacity: 0;
   transform: translateY(10px);
   transition: opacity 0.3s cubic-bezier(.4, 0, .2, 1), transform 0.3s cubic-bezier(.4, 0, .2, 1);
   will-change: opacity, transform;
}

.form-message.show {
   opacity: 1;
   transform: translateY(0);
}

.form-message.success {
   background: rgba(72, 187, 120, 0.2);
   color: #68d391;
   border: 1px solid rgba(72, 187, 120, 0.3);
   display: block;
}

.form-message.error {
   background: rgba(245, 101, 101, 0.2);
   color: #fc8181;
   border: 1px solid rgba(245, 101, 101, 0.3);
   display: block;
}

/* Footer */
.footer {
   padding: 30px 0;
   background: #1a202c;
   color: white;
   text-align: center;
}

/* Responsive Design */
@media (max-width: 768px) {
   .hero-content {
      grid-template-columns: 1fr;
      gap: 40px;
      text-align: center;
   }

   .hero-image {
      order: 2;
   }

   .hero-text {
      order: 1;
   }

   .hero-text h1 {
      font-size: 3rem;
   }

   .phone-mockup {
      width: 250px;
      height: 500px;
   }

   .countdown {
      justify-content: center;
   }

   .countdown-item {
      min-width: 70px;
      padding: 15px;
   }

   .countdown-item span {
      font-size: 1.5rem;
   }

   .email-form {
      flex-direction: column;
   }

   .features-content h2,
   .objectives-content h2,
   .how-it-works-content h2,
   .advantages-content h2,
   .faq-content h2,
   .team-content h2,
   .cta-content h2,
   .contact-content h2 {
      font-size: 2.5rem;
   }

   .features-grid {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   .advantages-grid {
      grid-template-columns: 1fr;
      gap: 40px;
   }

   .carousel-slide {
      grid-template-columns: 1fr;
      padding: 40px;
      gap: 40px;
      text-align: center;
   }

   .carousel-slide .carousel-image {
      order: -1;
   }

   .team-stats {
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
   }

   .cta-benefits {
      grid-template-columns: 1fr;
      gap: 15px;
   }

   .container {
      padding: 0 15px;
   }
}

@media (max-width: 480px) {
   .hero-text h1 {
      font-size: 2.5rem;
   }

   .phone-mockup {
      width: 200px;
      height: 400px;
   }

   .countdown {
      flex-wrap: wrap;
      gap: 15px;
   }

   .countdown-item {
      flex: 1;
      width: 70px;
      padding: 10px;
   }

   .features-content h2,
   .objectives-content h2,
   .how-it-works-content h2,
   .advantages-content h2,
   .faq-content h2,
   .team-content h2,
   .cta-content h2,
   .contact-content h2 {
      font-size: 2rem;
   }

   .stat-number {
      font-size: 2rem;
   }

   .team-stats {
      grid-template-columns: 1fr;
      gap: 20px;
   }

   .carousel-slide {
      padding: 30px 20px;
   }

   .phone-preview {
      width: 200px;
      height: fit-content;
   }
}

@media (max-width: 600px) {

   .container,
   .email-form,
   .contact-form,
   .beta-signup .form-row,
   .email-form button {
      max-width: 90vw;
      margin-left: auto;
      margin-right: auto;
   }

   .email-form .form-row {
      flex-direction: column;
      gap: 8px;
      align-items: stretch;
   }

   .email-form input,
   .email-form select {
      width: 100%;
      min-width: 0;
      box-sizing: border-box;
   }

   .email-form button {
      width: 100%;
      min-width: 0;
   }

   .launch-label {
      text-align: center;
   }
}

/* Language Switcher */
.language-switcher {
   position: fixed;
   top: 20px;
   right: 20px;
   z-index: 1000;
}

.language-btn {
   background: rgba(255, 255, 255, 0.2);
   backdrop-filter: blur(10px);
   border: 1px solid rgba(255, 255, 255, 0.3);
   color: white;
   padding: 8px 16px;
   border-radius: 20px;
   cursor: pointer;
   font-weight: 600;
   font-size: 0.9rem;
   transition: all 0.3s ease;
   display: flex;
   align-items: center;
   gap: 8px;
}

.language-btn:hover {
   background: rgba(255, 255, 255, 0.3);
   transform: translateY(-2px);
}

.language-btn .current-lang {
   opacity: 1;
}

.language-btn .switch-lang {
   opacity: 0.7;
}

.textarea-group {
   position: relative;
}

.char-count {
   position: absolute;
   right: 12px;
   bottom: 12px;
   font-size: 0.9rem;
   color: #888;
   background: transparent;
   pointer-events: none;
}

.textarea-group textarea {
   resize: none;
}

.launch-label {
   text-align: left;
   width: 100%;
   display: block;
}

/* Desktop: force left alignment */
.countdown-container .launch-label,
.hero-text .launch-label,
.launch-label {
   text-align: left !important;
}

@media (max-width: 600px) {

   .countdown-container .launch-label,
   .hero-text .launch-label,
   .launch-label {
      text-align: center !important;
   }
}

.hidden {
   display: none !important;
}

#otherUniversity {
   width: 100%;
   box-sizing: border-box;
}

.beta-signup .email-form input::placeholder {
   color: #ffffff6a;
   opacity: 1;
}

.beta-signup h2 {
   font-weight: 500;
   margin-bottom: 10px;
}

.beta-description {
   color: rgba(255, 255, 255, 0.9);
   font-size: 0.95rem;
   margin-bottom: 20px;
   line-height: 1.5;
}

.info-btn {
   background: none;
   border: none;
   color: #79f6fc;
   cursor: pointer;
   font-size: 0.9em;
   padding: 0 4px;
   margin: 0;
   border-radius: 50%;
   width: 18px;
   height: 18px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   font-weight: bold;
   transition: background 0.2s;
}

.info-btn:hover,
.info-btn:focus {
   background: rgba(121, 246, 252, 0.1);
   outline: none;
}

.info-tooltip {
   background: #fff;
   color: #222;
   border-radius: 8px;
   box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
   padding: 12px 16px;
   font-size: 0.9rem;
   position: absolute;
   z-index: 100;
   width: 280px;
   left: 50%;
   top: 120%;
   transform: translateX(-50%);
   border: 1px solid #eee;
   white-space: normal;
   display: none;
   opacity: 0;
   transition: opacity 0.2s ease;
   line-height: 1.4;
}

.info-tooltip.show {
   display: block;
   opacity: 1;
}

.info-container {
   position: relative;
   display: inline-block;
   vertical-align: middle;
}

html,
body {
   overflow-x: hidden;
}

img,
.carousel-image img,
.phone-preview img {
   max-width: 100%;
   height: auto;
   display: block;
}

@media (max-width: 600px) {

   .container,
   .carousel-slide,
   .feature-card,
   .advantage-item,
   .faq-item,
   .team-content,
   .cta-content,
   .contact-content {
      max-width: 95% !important;
      min-width: 0 !important;
      box-sizing: border-box;
      /* padding-left: 8px; */
      /* padding-right: 8px; */
   }

   .carousel-wrapper,
   .features-grid,
   .advantages-grid,
   .team-stats,
   .cta-benefits {
      /* display: block !important; */
      gap: 40px;
   }

   .carousel-slide,
   .feature-card,
   .advantage-item {
      margin-left: 0 !important;
      margin-right: 0 !important;
   }

   .hero-content {
      grid-template-columns: 1fr !important;
      gap: 20px !important;
   }

   .how-it-works-content,
   .objectives-content,
   .advantages-content,
   .faq-content,
   .team-content,
   .cta-content,
   .contact-content {
      padding-left: 8px !important;
      padding-right: 8px !important;
   }

   .carousel-controls {
      flex-direction: row;
      justify-content: center;
      gap: 8px;
   }

   .carousel-btn {
      min-width: 32px;
      min-height: 32px;
      font-size: 1.1rem;
   }
}

/* Garante que não há larguras fixas a rebentar o layout */
.carousel-slide,
.feature-card,
.advantage-item,
.faq-item {
   width: 100%;
   min-width: 0;
   box-sizing: border-box;
}