/* ===================== BASE ===================== */
:root {
    --primary: rgb(61,126,100);
    --primary-dark: rgb(50,105,85);
    --primary-light: rgba(61,126,100,0.1);
    --gold: #d4af37;
    --gold-dark: #b8962e;
    --gold-light: #f5e6a5;
    --text: #333;
    --white: #fff;
    --bg: #fdfdfd;
    --card-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
*{box-sizing:border-box;}
body{font-family:'Poppins',sans-serif;color:var(--text);margin:0;padding:0;background:var(--bg);}
a{text-decoration:none;color:var(--text);transition:color .3s;}
a:hover{color:var(--primary);}

/* ===================== FLASH TOASTS ===================== */
.flash-container{position:fixed;top:80px;right:20px;z-index:99999;display:flex;flex-direction:column;gap:10px;max-width:360px;}
.flash-toast{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;font-size:.9rem;font-weight:500;animation:slideIn .3s ease;box-shadow:0 4px 15px rgba(0,0,0,.15);}
.flash-success{background:#d1fae5;color:#065f46;border-left:4px solid #10b981;}
.flash-danger{background:#fee2e2;color:#991b1b;border-left:4px solid #ef4444;}
.flash-warning{background:#fef3c7;color:#92400e;border-left:4px solid #f59e0b;}
.flash-info{background:#dbeafe;color:#1e40af;border-left:4px solid #3b82f6;}
.flash-close{background:none;border:none;font-size:1.2rem;cursor:pointer;margin-left:auto;opacity:.6;}
.flash-close:hover{opacity:1;}
@keyframes slideIn{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}

/* ===================== NAVBAR ===================== */
.navbar{background:rgba(0,0,0,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:1000;transition:all .3s;}
.navbar-brand{font-weight:800;font-size:1.3rem;}
.brand-dr{color:var(--gold);}
.brand-sos{color:var(--white);}
.brand-edu{color:rgba(255,255,255,.7);font-weight:400;font-size:1rem;}
.nav-link{color:#ddd!important;font-weight:500;position:relative;transition:color .3s;}
.nav-link:not(.dropdown-toggle)::after{content:"";position:absolute;width:0;height:2px;background:var(--gold);left:0;bottom:-4px;transition:.3s;}
.nav-link:not(.dropdown-toggle):hover::after{width:100%;}
.nav-link:hover{color:var(--white)!important;}
.dropdown-menu{background:rgba(15,15,15,.95);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);border-radius:10px;}
.dropdown-item{color:#ccc;padding:10px 20px;transition:all .3s;}
.dropdown-item:hover{background:var(--primary-light);color:#fff;padding-left:25px;}
.nav-avatar{width:30px;height:30px;background:var(--gold);color:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;}

/* ===================== BUTTONS ===================== */
.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light));color:#000!important;font-weight:600;padding:10px 24px;border-radius:8px;border:none;transition:all .3s;box-shadow:0 4px 12px rgba(212,175,55,.35);display:inline-block;}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(212,175,55,.5);color:#000!important;}
.btn-outline-gold{border:2px solid var(--gold);color:var(--gold)!important;font-weight:600;padding:8px 20px;border-radius:8px;transition:all .3s;display:inline-block;}
.btn-outline-gold:hover{background:var(--gold);color:#000!important;}
.btn-primary{background:var(--primary)!important;border-color:var(--primary)!important;font-weight:600;border-radius:8px;transition:all .3s;}
.btn-primary:hover{background:var(--primary-dark)!important;transform:translateY(-2px);}

/* ===================== FADE / REVEAL ANIMATIONS ===================== */
.fade-in{opacity:0;transform:translateY(20px);transition:opacity .3s ease,transform .3s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}
/* Lightweight reveal for homepage — GPU-accelerated */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .3s cubic-bezier(.25,.46,.45,.94),transform .3s cubic-bezier(.25,.46,.45,.94);will-change:opacity,transform;}
.reveal.visible{opacity:1;transform:translateY(0);will-change:auto;}

@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-14px);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
@keyframes blobPulse{0%,100%{transform:scale(1) translate(0,0);}50%{transform:scale(1.08) translate(10px,-10px);}}

/* ===================== HERO (HOME) ===================== */
.hero{min-height:90vh;background:linear-gradient(130deg,var(--primary),#8ac6a1 70%);color:var(--white);display:flex;align-items:center;padding:80px 20px 60px;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);}
.hero .container{position:relative;z-index:2;}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;animation:fadeUp .7s ease forwards;}
.hero p{font-size:1.2rem;animation:fadeUp .9s ease forwards;}
.hero-img{max-height:420px;will-change:transform;animation:float 4s ease-in-out infinite;}

/* ===== HERO HOME (NEW) ===== */
.hero-home{min-height:100vh;background:linear-gradient(140deg,#1a4a35 0%,var(--primary) 45%,#5aaa85 100%);position:relative;overflow:hidden;display:flex;align-items:center;padding:100px 0 80px;color:var(--white);}
.hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.25;pointer-events:none;will-change:transform;animation:blobPulse 8s ease-in-out infinite;}
.hero-blob-1{width:500px;height:500px;background:var(--gold);top:-100px;right:-80px;animation-delay:0s;}
.hero-blob-2{width:400px;height:400px;background:#8ac6a1;bottom:-80px;left:-80px;animation-delay:-4s;}
.hero-home-inner{position:relative;z-index:2;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);border-radius:50px;padding:8px 18px;font-size:.85rem;font-weight:600;margin-bottom:20px;}
.hero-heading{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:1.15;margin-bottom:18px;}
.hero-highlight{color:var(--gold);position:relative;}
.hero-subtext{font-size:1.1rem;opacity:.88;line-height:1.7;max-width:520px;margin-bottom:28px;}
.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:28px;}
.btn-ghost-white{color:var(--white);font-weight:600;padding:10px 20px;border:2px solid rgba(255,255,255,.4);border-radius:8px;transition:all .3s;white-space:nowrap;}
.btn-ghost-white:hover{background:rgba(255,255,255,.15);color:var(--white);border-color:rgba(255,255,255,.7);}
.hero-trust-pills{display:flex;flex-wrap:wrap;gap:12px;}
.hero-trust-pills span{font-size:.82rem;font-weight:500;opacity:.85;display:flex;align-items:center;gap:6px;}
.hero-trust-pills i{color:var(--gold);}
.hero-img-wrap{position:relative;display:inline-block;}
.hero-img{max-height:440px;width:100%;object-fit:contain;border-radius:20px;will-change:transform;animation:float 5s ease-in-out infinite;}
.hero-float-card{position:absolute;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-radius:14px;padding:12px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 30px rgba(0,0,0,.18);font-size:.85rem;z-index:10;}
.hero-float-card i{font-size:1.4rem;color:var(--primary);}
.hero-float-card strong{display:block;font-size:1rem;font-weight:700;color:#111;}
.hero-float-card span{color:#666;font-size:.78rem;}
.hero-float-top{top:-25px;right:16px;animation:float 5s ease-in-out infinite;animation-delay:-2.5s;}
.hero-float-bottom{bottom:-40px;left:8px;animation:float 5s ease-in-out infinite;animation-delay:-.5s;}
.hero-img-col{padding-top:20px;}

/* ===================== PAGE HEROES ===================== */
.page-hero{padding:100px 20px 80px;background:linear-gradient(130deg,var(--primary),#8ac6a1);}
.page-hero-green{background:linear-gradient(130deg,var(--primary),#8ac6a1);}
.page-hero-gold{background:linear-gradient(130deg,#b8962e,var(--gold-light));color:#1a1a1a;}
.page-hero-teal{background:linear-gradient(130deg,#1a7a6e,#4db6a8);}
.page-hero-blue{background:linear-gradient(130deg,#1a4a7a,#2e86c1);}
.page-hero-red{background:linear-gradient(130deg,#8b1a1a,#c0392b);}

/* ===================== TRUST BAR ===================== */
.trust-bar{background:#f8f9fa;padding:24px 0;border-bottom:1px solid #eee;}
.trust-item h3,.trust-item span.counter{font-size:2rem;font-weight:800;color:var(--primary);}
.trust-item p{margin:0;font-size:.85rem;color:#666;font-weight:500;}

/* ===================== SECTION TITLES ===================== */
.section-title{font-size:2rem;font-weight:700;color:var(--text);}
.section-subtitle{color:#666;font-size:1.05rem;margin-top:-8px;}

/* ===================== SERVICE CARDS ===================== */
.service-card{background:var(--white);border:1px solid var(--primary-light);border-radius:16px;padding:28px;text-align:center;transition:all .3s;box-shadow:var(--card-shadow);}
.service-card:hover{transform:translateY(-8px);box-shadow:0 16px 40px rgba(61,126,100,.2);}
.service-icon-circle{width:60px;height:60px;background:var(--primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.5rem;color:var(--primary);}
.service-icon-red{background:rgba(192,57,43,.1);color:#c0392b;}
.service-card h4,.service-card h5{font-weight:600;margin-bottom:10px;}
.service-card p{color:#666;font-size:.9rem;margin:0;}

/* ===================== DESTINATIONS ===================== */
.destinations{background:#0a0a0a;padding:80px 20px;}
.destination-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:28px;text-align:center;transition:all .3s;color:var(--white);}
.destination-card:hover{background:rgba(255,255,255,.12);transform:translateY(-6px);}
.dest-flag{font-size:3rem;margin-bottom:12px;}
.destination-card h5{font-weight:700;margin-bottom:8px;}
.destination-card p{font-size:.85rem;color:rgba(255,255,255,.65);margin-bottom:12px;}
.dest-cost{background:var(--gold);color:#000;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600;}

/* ===================== HOW IT WORKS ===================== */
.how-step{padding:28px 20px;background:var(--white);border-radius:14px;box-shadow:var(--card-shadow);height:100%;}
.how-step-num{width:50px;height:50px;background:var(--primary);color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;margin:0 auto 16px;}
.how-step-num-red{background:#c0392b;}
.how-step h5{font-weight:600;}
.how-step p{color:#666;font-size:.9rem;}

/* ===================== TESTIMONIALS ===================== */
.testimonials-section{background:linear-gradient(135deg,var(--primary),var(--primary-dark));padding:80px 20px;}
.testimonials-slider{position:relative;overflow:hidden;}
.testimonial-slide{display:none;animation:fadeUp .5s ease;}
.testimonial-slide.active{display:block;}
.testimonial-card{background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border-radius:16px;padding:36px;color:var(--white);max-width:720px;margin:0 auto;}
.testimonial-quote{font-size:1.1rem;font-style:italic;line-height:1.7;margin-bottom:24px;}
.testimonial-author{display:flex;align-items:center;gap:14px;}
.testimonial-avatar{width:48px;height:48px;background:var(--gold);color:#000;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;flex-shrink:0;}
.testimonial-author strong{display:block;font-size:1rem;}
.testimonial-author span{font-size:.85rem;opacity:.75;}
.t-dot{display:inline-block;width:10px;height:10px;background:rgba(255,255,255,.3);border-radius:50%;margin:0 4px;cursor:pointer;transition:.3s;}
.t-dot.active{background:var(--gold);transform:scale(1.3);}

/* ===================== CTA ===================== */
.cta{background:var(--primary);text-align:center;padding:80px 20px;color:var(--white);}
.cta h2{font-size:2.2rem;font-weight:700;}
.cta p{font-size:1.1rem;opacity:.85;}

/* ===================== AUTH PAGES ===================== */
.auth-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:60px 20px;background:linear-gradient(135deg,#f0faf5 0%,#e8f4ed 100%);}
.auth-section-wide{align-items:flex-start;padding-top:80px;}
.auth-card{background:var(--white);border-radius:20px;padding:44px 48px;box-shadow:0 8px 40px rgba(61,126,100,.15);width:100%;max-width:520px;}
.auth-card-wide{max-width:800px;}
.auth-header{text-align:center;margin-bottom:32px;}
.auth-icon{font-size:3rem;color:var(--primary);margin-bottom:12px;}
.auth-header h1{font-size:1.8rem;font-weight:700;color:var(--text);}
.auth-header p{color:#666;margin:0;}
.form-group-auth,.form-label-auth{display:block;font-weight:500;font-size:.9rem;margin-bottom:6px;color:#444;}
.form-group-auth{margin-bottom:18px;}
.form-control-auth{width:100%;padding:12px 16px;border:1.5px solid #ddd;border-radius:10px;font-family:'Poppins',sans-serif;font-size:.95rem;transition:border .3s,box-shadow .3s;background:var(--white);outline:none;}
.form-control-auth:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(61,126,100,.12);}
textarea.form-control-auth{resize:vertical;min-height:100px;}
select.form-control-auth{cursor:pointer;}
.password-wrap{position:relative;}
.password-wrap .form-control-auth{padding-right:46px;}
.toggle-pw{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#888;transition:color .3s;}
.toggle-pw:hover{color:var(--primary);}
.btn-auth-submit{width:100%;padding:14px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:var(--white);border:none;border-radius:10px;font-weight:600;font-size:1rem;font-family:'Poppins',sans-serif;cursor:pointer;transition:all .3s;display:block;text-align:center;}
.btn-auth-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(61,126,100,.35);color:var(--white);}
.auth-switch{text-align:center;margin-top:20px;color:#666;font-size:.9rem;}
.auth-switch a{color:var(--primary);font-weight:600;}
.terms-text{font-size:.82rem;color:#888;text-align:center;margin-bottom:18px;}
.terms-text a{color:var(--primary);}
.remember-label{font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:6px;}
.forgot-link{font-size:.85rem;color:var(--primary);}
.form-section-title{font-weight:700;font-size:1rem;color:var(--primary);border-bottom:2px solid var(--primary-light);padding-bottom:8px;margin-bottom:4px;}

/* ===================== STEP INDICATOR ===================== */
.step-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:32px;}
.step{display:flex;flex-direction:column;align-items:center;gap:4px;}
.step span{width:40px;height:40px;border-radius:50%;background:#e5e7eb;color:#888;display:flex;align-items:center;justify-content:center;font-weight:700;transition:all .3s;}
.step p{font-size:.75rem;color:#888;margin:0;}
.step.active span{background:var(--primary);color:var(--white);}
.step.active p{color:var(--primary);font-weight:600;}
.step.done span{background:var(--gold);color:#000;}
.step-line{flex:1;height:2px;background:#e5e7eb;max-width:80px;margin:0 6px;margin-bottom:20px;}
.step-line.active{background:var(--gold);}

/* ===================== DASHBOARD ===================== */
.dashboard-section{padding:40px 0 80px;background:#f7f9f7;min-height:100vh;}
.dashboard-welcome{background:linear-gradient(130deg,var(--primary),var(--primary-dark));color:var(--white);border-radius:16px;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:28px;}
.dashboard-welcome h1{font-size:1.8rem;font-weight:700;margin:0;}
.dashboard-welcome p{margin:4px 0 0;opacity:.85;}
.dashboard-card{background:var(--white);border-radius:16px;padding:28px;box-shadow:var(--card-shadow);margin-bottom:4px;}
.stat-card{background:var(--white);border-radius:14px;padding:24px;box-shadow:var(--card-shadow);display:flex;align-items:center;gap:20px;}
.stat-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--white);flex-shrink:0;}
.bg-green{background:var(--primary);}
.bg-gold{background:var(--gold);}
.bg-blue{background:#2e86c1;}
.stat-card h3{font-size:1.6rem;font-weight:700;margin:0;color:var(--primary);}
.stat-card p{margin:0;font-size:.85rem;color:#666;}
.progress-bar-outer{background:#e5e7eb;border-radius:50px;height:10px;overflow:hidden;}
.progress-bar-inner{background:linear-gradient(90deg,var(--primary),var(--gold));height:100%;border-radius:50px;transition:width 1s ease;}
.badge-pct{background:var(--primary-light);color:var(--primary);padding:6px 14px;border-radius:20px;font-weight:700;font-size:.9rem;}
.profile-summary-list{list-style:none;padding:0;margin:0;}
.profile-summary-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #f0f0f0;font-size:.9rem;}
.profile-summary-list li:last-child{border:none;}
.profile-summary-list span{color:#888;}
.profile-summary-list strong{color:var(--text);text-align:right;max-width:55%;}
.btn-link-green{color:var(--primary);font-weight:600;font-size:.9rem;}
.btn-link-green:hover{color:var(--primary-dark);}
.quick-action-card{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--white);border-radius:14px;padding:24px;box-shadow:var(--card-shadow);transition:all .3s;color:var(--text);}
.quick-action-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(61,126,100,.2);color:var(--primary);}
.quick-action-card i{font-size:1.8rem;color:var(--primary);}
.quick-action-card span{font-weight:600;font-size:.85rem;text-align:center;}
.empty-state{text-align:center;padding:40px 20px;color:#888;}
.empty-state i{font-size:3rem;color:#ddd;display:block;margin-bottom:12px;}

/* ===================== TABLE ===================== */
.dash-table{width:100%;border-collapse:separate;border-spacing:0 6px;}
.dash-table thead th{font-size:.8rem;color:#888;font-weight:600;padding:8px 14px;text-transform:uppercase;letter-spacing:.5px;}
.dash-table tbody tr{background:var(--white);border-radius:10px;}
.dash-table td{padding:12px 14px;font-size:.9rem;border-top:1px solid #f0f0f0;}
.dash-table tbody tr:hover{background:#f8faf8;}
.status-badge{padding:4px 12px;border-radius:20px;font-size:.78rem;font-weight:600;}
.status-pending{background:#fef3c7;color:#92400e;}
.status-in-review{background:#dbeafe;color:#1e40af;}
.status-approved{background:#d1fae5;color:#065f46;}
.status-rejected{background:#fee2e2;color:#991b1b;}

/* ===================== CONTACT ===================== */
.contact-info-card{background:var(--white);border-radius:16px;padding:28px;box-shadow:var(--card-shadow);}
.contact-info-item{display:flex;gap:16px;margin-bottom:20px;align-items:flex-start;}
.contact-icon{width:44px;height:44px;background:var(--primary-light);color:var(--primary);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.contact-info-item strong{display:block;font-weight:600;font-size:.9rem;}
.contact-info-item p{margin:2px 0 0;font-size:.88rem;color:#666;}
.map-placeholder{background:#e8f4ed;border-radius:14px;height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--primary);font-size:.9rem;gap:10px;}
.map-placeholder i{font-size:2.5rem;}

/* ===================== BOOKING ===================== */
.booking-info-card{background:var(--white);border-radius:16px;padding:28px;box-shadow:var(--card-shadow);}
.booking-expect-list{list-style:none;padding:0;margin-top:12px;}
.booking-expect-list li{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f0f0f0;font-size:.9rem;}
.booking-expect-list i{color:var(--primary);}

/* ===================== EMERGENCY BANNER ===================== */
.emergency-banner{background:#c0392b;color:var(--white);text-align:center;padding:10px 20px;font-size:.9rem;}
.emergency-banner a{color:var(--white);text-decoration:underline;}

/* ===================== FAQ ===================== */
.faq-item{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:10px;overflow:hidden;}
.faq-question{width:100%;background:var(--white);border:none;padding:16px 20px;font-family:'Poppins',sans-serif;font-size:.95rem;font-weight:600;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:.3s;}
.faq-question:hover{background:#f8faf8;}
.faq-answer{display:none;padding:0 20px 16px;color:#555;font-size:.9rem;line-height:1.7;}
.faq-answer.open{display:block;}
.faq-chevron{transition:transform .3s;}
.faq-chevron.rotated{transform:rotate(180deg);}

/* ===================== FOOTER ===================== */
.footer{background:#0a0a0a;color:rgba(255,255,255,.7);padding:60px 0 30px;}
.footer-brand{font-size:1.4rem;font-weight:800;}
.footer-tagline{font-size:.88rem;margin-top:10px;color:rgba(255,255,255,.5);line-height:1.6;}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{width:38px;height:38px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s;}
.footer-social a:hover{background:var(--gold);color:#000;transform:translateY(-3px);}
.footer-heading{color:var(--white);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.8px;margin-bottom:16px;}
.footer-links{list-style:none;padding:0;margin:0;}
.footer-links li{padding:5px 0;font-size:.87rem;}
.footer-links a{color:rgba(255,255,255,.55);transition:color .3s;}
.footer-links a:hover{color:var(--gold);}
.footer-divider{border-color:rgba(255,255,255,.1);margin:40px 0 20px;}
.footer-bottom{font-size:.83rem;color:rgba(255,255,255,.4);}

/* ===================== WHATSAPP FLOAT ===================== */
.whatsapp-float{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:#25D366;color:var(--white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;box-shadow:0 4px 16px rgba(37,211,102,.4);transition:all .3s;z-index:9998;}
.whatsapp-float:hover{transform:scale(1.1);color:var(--white);}

/* ===================== CUSTOM CURSOR ===================== */
.custom-cursor{width:20px;height:20px;background:radial-gradient(circle,var(--primary),var(--primary-dark));border-radius:50%;position:fixed;pointer-events:none;transform:translate(-50%,-50%);transition:transform .08s ease;z-index:99999;}

/* ===================== RESPONSIVE ===================== */
@media(max-width:768px){
  .auth-card{padding:28px 22px;}
  .dashboard-welcome{flex-direction:column;text-align:center;}
  .hero h1{font-size:2rem;}
  .hero-img{max-height:250px;margin-top:20px;}
  .footer .row{text-align:center;}
  .footer-social{justify-content:center;}
}
/* ===== STATS BAR ===== */
.stats-bar{background:var(--white);border-bottom:1px solid #eee;padding:0;box-shadow:0 2px 12px rgba(0,0,0,.06);}
.stats-grid{display:flex;align-items:stretch;justify-content:space-around;}
.stat-pill{display:flex;flex-direction:column;align-items:center;padding:28px 20px;gap:4px;}
.stat-num{font-size:2rem;font-weight:800;color:var(--primary);line-height:1;}
.stat-label{font-size:.82rem;color:#777;font-weight:500;text-transform:uppercase;letter-spacing:.5px;}
.stat-divider{width:1px;background:#eee;margin:16px 0;}

/* ===== SECTION HELPERS ===== */
.section-padded{padding:80px 0;}
.section-header{text-align:center;max-width:640px;margin:0 auto 16px;}
.section-eyebrow{font-size:.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--primary);margin-bottom:8px;}
.section-title{font-size:clamp(1.6rem,3.5vw,2.2rem);font-weight:800;margin-bottom:10px;line-height:1.2;}
.section-subtitle{color:#666;font-size:1rem;margin:0;}

/* ===== HOME SERVICE CARDS ===== */
.home-service-card{background:var(--white);border:1.5px solid #eef2ef;border-radius:18px;padding:32px 28px;height:100%;transition:all .3s ease;box-shadow:0 2px 12px rgba(0,0,0,.05);}
.home-service-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(61,126,100,.15);border-color:var(--primary-light);}
.hsc-featured{background:linear-gradient(140deg,var(--primary),var(--primary-dark));color:var(--white);border:none;}
.hsc-featured p,.hsc-featured .hsc-link{color:rgba(255,255,255,.85);}
.hsc-featured .hsc-link:hover{color:var(--white);}
.hsc-featured .hsc-icon{background:rgba(255,255,255,.2);}
.hsc-featured .hsc-icon i{color:var(--white);}
.hsc-icon{width:56px;height:56px;background:var(--primary-light);border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.hsc-icon i{font-size:1.4rem;color:var(--primary);}
.home-service-card h4{font-size:1.1rem;font-weight:700;margin-bottom:10px;}
.home-service-card p{color:#666;font-size:.9rem;line-height:1.6;margin-bottom:18px;}
.hsc-link{font-weight:600;font-size:.88rem;color:var(--primary);display:flex;align-items:center;gap:6px;transition:gap .3s;}
.hsc-link:hover{gap:10px;color:var(--primary-dark);}

/* ===== DESTINATIONS HOME ===== */
.destinations-home{background:#0b0b0b;padding:80px 0;}
.dest-scroll-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin-top:40px;}
.dest-tile{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:28px 36px;text-align:center;color:var(--white);transition:all .3s;cursor:pointer;min-width:130px;}
.dest-tile:hover{background:rgba(255,255,255,.14);transform:translateY(-5px);border-color:var(--gold);}
.dest-flag{display:block;font-size:2.8rem;margin-bottom:10px;}
.dest-tile strong{font-size:.95rem;font-weight:700;}

/* ===== HOW IT WORKS HOME ===== */
.how-home{background:var(--white);}
.how-steps-row{display:flex;align-items:flex-start;gap:0;margin-top:48px;flex-wrap:wrap;justify-content:center;}
.how-home-step{flex:1;min-width:180px;max-width:220px;text-align:center;padding:0 12px;position:relative;}
.hhs-num{font-size:.7rem;font-weight:800;letter-spacing:2px;color:var(--primary);margin-bottom:12px;text-transform:uppercase;}
.hhs-icon{width:64px;height:64px;background:var(--primary-light);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:1.5rem;color:var(--primary);transition:all .3s;}
.how-home-step:hover .hhs-icon{background:var(--primary);color:var(--white);transform:scale(1.08);}
.how-home-step h5{font-weight:700;font-size:1rem;margin-bottom:8px;}
.how-home-step p{font-size:.85rem;color:#666;line-height:1.5;}
.how-connector{width:48px;height:2px;background:linear-gradient(90deg,var(--primary-light),var(--primary));margin-top:32px;flex-shrink:0;align-self:flex-start;}

/* ===== OTHER SERVICES HOME ===== */
.other-svc-card{display:block;background:var(--white);border:1.5px solid #eee;border-radius:18px;padding:28px;transition:all .3s;color:var(--text);position:relative;overflow:hidden;}
.other-svc-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(0,0,0,.1);border-color:transparent;color:var(--text);}
.osvc-icon{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:16px;}
.other-svc-card h5{font-weight:700;margin-bottom:8px;}
.other-svc-card p{color:#666;font-size:.9rem;margin-bottom:0;}
.osvc-arrow{position:absolute;top:28px;right:24px;color:#ccc;font-size:1rem;transition:all .3s;}
.other-svc-card:hover .osvc-arrow{color:var(--primary);transform:translateX(4px);}

/* ===== TESTIMONIAL HOME ===== */
.testimonial-home{background:linear-gradient(135deg,#1a4a35,var(--primary));padding:80px 0;}

/* ===== CTA HOME ===== */
.cta-home{background:var(--white);padding:60px 0;}
.cta-home-inner{background:linear-gradient(130deg,var(--primary),var(--primary-dark));border-radius:24px;padding:56px 48px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:28px;color:var(--white);}
.cta-home-inner h2{font-size:1.9rem;font-weight:800;margin:0 0 8px;}
.cta-home-inner p{margin:0;opacity:.85;font-size:1.05rem;}
.cta-home-btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.btn-ghost-dark{color:rgba(255,255,255,.85);font-weight:600;padding:12px 24px;border:2px solid rgba(255,255,255,.35);border-radius:8px;transition:all .3s;white-space:nowrap;}
.btn-ghost-dark:hover{background:rgba(255,255,255,.12);color:var(--white);border-color:rgba(255,255,255,.7);}

/* ===== RESPONSIVE ===== */
@media(max-width:992px){
  .how-connector{display:none;}
  .how-home-step{min-width:140px;}
  .cta-home-inner{text-align:center;justify-content:center;}
  .hero-float-card{display:none;}
}
@media(max-width:768px){
  .stats-grid{flex-wrap:wrap;}
  .stat-divider{display:none;}
  .stat-pill{padding:20px 12px;}
  .dest-scroll-row{gap:10px;}
  .dest-tile{padding:20px 24px;min-width:100px;}
}

/* ===================== EDU PORTAL NAV ===================== */
.edu-nav{background:rgba(13,43,26,.95);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,.05);padding:14px 0;}
.edu-brand{font-weight:800;font-size:1.45rem;color:#fff!important;text-decoration:none;letter-spacing:-.5px;}
.brand-sub{color:rgba(255,255,255,.7);font-weight:400;font-size:1.05rem;margin-left:6px;}
.edu-nav .navbar-nav .nav-link{font-size:.95rem;padding:8px 16px!important;margin:0 2px;border-radius:8px;transition:all .3s ease;color:rgba(255,255,255,.85)!important;}
.edu-nav .navbar-nav .nav-link:hover{background:rgba(255,255,255,.1);color:#fff!important;}
.edu-nav .navbar-nav .nav-link::after{display:none;} /* Override global nav-link underline */
.edu-back-link{border:1px solid rgba(255,255,255,.25);font-size:.85rem!important;padding:8px 14px!important;}
.edu-back-link:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.4);}
.edu-nav .navbar-toggler, .online-nav .navbar-toggler {
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  padding: 6px 10px !important;
  outline: none !important;
}
.edu-nav .navbar-toggler:focus, .online-nav .navbar-toggler:focus {
  box-shadow: none !important;
}
.edu-nav .navbar-toggler-icon, .online-nav .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
.edu-nav .navbar-collapse{padding-top:10px;}

@media(min-width:992px){.edu-nav .navbar-collapse{padding-top:0;}}

/* Ghost buttons */
.btn-ghost-white{display:inline-flex;align-items:center;background:transparent;color:rgba(255,255,255,.85);border:2px solid rgba(255,255,255,.3);padding:12px 26px;border-radius:8px;font-weight:600;font-size:.95rem;transition:all .3s;}
.btn-ghost-white:hover{border-color:#fff;color:#fff;}
.btn-ghost-dark{display:inline-flex;align-items:center;background:transparent;color:var(--primary);border:2px solid var(--primary);padding:12px 26px;border-radius:8px;font-weight:600;font-size:.95rem;transition:all .3s;}
.btn-ghost-dark:hover{background:var(--primary);color:#fff;}

/* ===================== EDU HOME – HOW STEPS ===================== */
.how-home{background:#f8fafc;}
.how-steps-row{display:flex;align-items:flex-start;justify-content:center;gap:0;flex-wrap:wrap;margin-top:40px;}
.how-home-step{flex:1;min-width:160px;max-width:200px;text-align:center;padding:0 10px;}
.hhs-num{font-size:2.5rem;font-weight:900;color:var(--primary);opacity:.2;line-height:1;}
.hhs-icon{width:60px;height:60px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;margin:10px auto 12px;font-size:1.4rem;color:var(--primary);}
.how-home-step h5{font-size:.95rem;font-weight:700;margin-bottom:6px;color:#1a1a1a;}
.how-home-step p{font-size:.8rem;color:#666;line-height:1.6;}
.how-connector{flex-shrink:0;width:48px;border-top:2px dashed rgba(61,126,100,.3);margin-top:30px;}

/* ===================== TESTIMONIAL SLIDER ===================== */
.testimonial-home{background:linear-gradient(135deg,#0d2b1a,#1a4a35);padding:80px 0;}
.testimonials-slider{position:relative;overflow:hidden;}
.testimonial-slide{display:none;}
.testimonial-slide.active{display:block;}
.testimonial-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:32px;}
.testimonial-quote{font-size:1.05rem;color:rgba(255,255,255,.85);line-height:1.8;font-style:italic;margin-bottom:20px;}
.testimonial-author{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.65);font-size:.85rem;}
.testimonial-avatar{width:44px;height:44px;border-radius:50%;background:var(--gold);color:#000;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0;}
.t-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.25);display:inline-block;margin:0 4px;cursor:pointer;transition:background .3s;}
.t-dot.active{background:var(--gold);}

/* ===================== CTA HOME ===================== */
.cta-home{padding:60px 0;background:#fff;}
.cta-home-inner{background:linear-gradient(135deg,var(--primary),var(--primary-dark));border-radius:24px;padding:48px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.cta-home-inner h2{font-size:1.9rem;font-weight:800;color:#fff;margin-bottom:6px;}
.cta-home-inner p{color:rgba(255,255,255,.75);}
.cta-home-btns{display:flex;gap:12px;flex-wrap:wrap;}

/* ===================== EDU – WHY CHOOSE US ===================== */
.edu-why-section{background:linear-gradient(135deg,#0d2b1a 0%,#1a4a35 100%);padding:80px 0;}
.edu-why-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:28px 24px;height:100%;transition:all .3s;}
.edu-why-card:hover{border-color:rgba(212,175,55,.4);transform:translateY(-4px);}
.edu-why-icon{width:56px;height:56px;border-radius:14px;background:rgba(212,175,55,.15);display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--gold);margin-bottom:16px;}
.edu-why-card h5{color:#fff;font-weight:700;margin-bottom:8px;}
.edu-why-card p{color:rgba(255,255,255,.55);font-size:.85rem;line-height:1.65;}

/* ===================== EDU – ELIGIBILITY CHECKER ===================== */
.edu-eligibility-wrap{background:#f8faf9;border:1.5px solid #e2e8e5;border-radius:24px;padding:48px 40px;overflow:hidden;}
.edu-elig-badge{display:inline-flex;align-items:center;background:var(--primary-light);color:var(--primary);font-size:.78rem;font-weight:700;padding:5px 14px;border-radius:50px;margin-bottom:16px;}
.edu-elig-list{list-style:none;padding:0;margin:0;}
.edu-elig-list li{padding:6px 0;font-size:.9rem;color:#555;display:flex;align-items:center;gap:10px;}
.edu-elig-list i{color:var(--primary);font-size:.85rem;}
.edu-elig-preview{background:#fff;border:1.5px solid #e2e8e5;border-radius:18px;padding:28px;position:relative;}
.edu-elig-q{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start;}
.edu-elig-qn{width:32px;height:32px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:700;flex-shrink:0;}
.edu-elig-q strong{display:block;color:#333;font-size:.88rem;margin-bottom:8px;}
.edu-elig-opts{display:flex;flex-wrap:wrap;gap:6px;}
.edu-elig-opts span{background:#f1f5f1;color:#555;border:1.5px solid #e2e8e5;padding:5px 14px;border-radius:20px;font-size:.78rem;font-weight:500;transition:all .2s;cursor:default;}
.edu-elig-opts span.selected{background:var(--primary-light);color:var(--primary);border-color:var(--primary);}
.edu-elig-result{background:#d1fae5;border:1.5px solid #6ee7b7;border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px;}
.edu-elig-result i{font-size:1.5rem;color:#059669;}
.edu-elig-result strong{display:block;color:#065f46;font-size:.9rem;}
.edu-elig-result span{color:#10b981;font-size:.8rem;}

/* ===================== EDU – POPULAR PROGRAMMES ===================== */
.edu-prog-card{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1.5px solid #e8ebe9;border-radius:16px;padding:22px;transition:all .3s;height:100%;}
.edu-prog-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.08);}
.edu-prog-icon{width:48px;height:48px;border-radius:12px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--primary);flex-shrink:0;}
.edu-prog-card h5{font-size:.95rem;font-weight:700;color:#222;margin-bottom:4px;}
.edu-prog-card p{font-size:.78rem;color:#888;margin-bottom:0;}
.edu-prog-intake{font-size:.75rem;font-weight:600;color:var(--primary);}

/* ===================== EDU – FAQ ===================== */
.edu-faq-section{padding:80px 0;background:#f8faf9;}
.edu-faq-item{background:#fff;border:1.5px solid #e2e8e5;border-radius:14px;margin-bottom:12px;overflow:hidden;transition:border-color .3s;}
.edu-faq-item.open{border-color:var(--primary);}
.edu-faq-q{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;cursor:pointer;transition:background .2s;}
.edu-faq-q:hover{background:#f1f5f1;}
.edu-faq-q span{font-weight:600;font-size:.92rem;color:#222;}
.edu-faq-q i{color:var(--primary);transition:transform .3s;flex-shrink:0;margin-left:12px;}
.edu-faq-item.open .edu-faq-q i{transform:rotate(180deg);}
.edu-faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.edu-faq-item.open .edu-faq-a{max-height:300px;}
.edu-faq-a p{padding:0 22px 18px;color:#666;font-size:.88rem;line-height:1.7;margin:0;}
