/* ================================================================
   RexonLogics – Custom Stylesheet
   ================================================================ */

:root {
    --rl-primary:      #0a5cf5;
    --rl-primary-dark: #0843b8;
    --rl-accent:       #00c6d7;
    --rl-dark:         #0d1b2a;
    --rl-dark-2:       #1a2c42;
    --rl-text-muted:   #8899aa;
    --rl-border:       rgba(255,255,255,0.08);
    --rl-section-alt:  #f8faff;
    --rl-gradient:     linear-gradient(135deg, #0a5cf5 0%, #00c6d7 100%);
    --rl-gradient-dark:linear-gradient(135deg, #0d1b2a 0%, #0a5cf5 100%);
    --transition:      0.3s ease;
    --shadow-sm:       0 2px 10px rgba(10,92,245,0.1);
    --shadow-md:       0 8px 30px rgba(10,92,245,0.15);
    --shadow-lg:       0 20px 60px rgba(10,92,245,0.2);
    --radius-sm:       8px;
    --radius-md:       16px;
    --radius-lg:       24px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;font-size:1rem;line-height:1.7;color:#334155;background:#fff;overflow-x:hidden}
.fw-600{font-weight:600!important}.fw-700{font-weight:700!important}.fw-800{font-weight:800!important}
h1,h2,h3,h4,h5,h6{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;line-height:1.2;color:var(--rl-dark)}
a{color:var(--rl-primary);text-decoration:none;transition:color var(--transition)}
a:hover{color:var(--rl-primary-dark)}
img{max-width:100%;height:auto}

/* ── Light-text utility (for dark/gradient sections) ── */
.text-muted-light{color:rgba(255,255,255,.72)!important}
a.text-muted-light{color:rgba(255,255,255,.72)!important;text-decoration:none}
a.text-muted-light:hover{color:#fff!important}
/* Override Bootstrap text-muted inside dark sections */
.section-dark .text-muted,
.page-hero .text-muted,
.cta-section .text-muted,
.stats-section .text-muted,
.hero-section .text-muted,
.contact-info-side .text-muted{color:rgba(255,255,255,.65)!important}

/* Topbar */
.topbar{background:var(--rl-dark);border-bottom:1px solid var(--rl-border);font-size:.8rem}
.topbar-link{color:rgba(255,255,255,.65);transition:color var(--transition)}
.topbar-link:hover{color:var(--rl-accent)}
.social-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:rgba(255,255,255,.08);border-radius:50%;color:rgba(255,255,255,.65);font-size:.75rem;transition:all var(--transition)}
.social-icon:hover{background:var(--rl-primary);color:#fff;transform:translateY(-2px)}

/* Navbar */
.main-navbar{background:var(--rl-dark) !important;padding:.85rem 0;box-shadow:0 4px 20px rgba(0,0,0,.3);transition:all var(--transition)}
.main-navbar.scrolled{background:rgba(13,27,42,.97) !important;backdrop-filter:blur(10px);padding:.5rem 0}
.brand-logo{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.5rem;font-weight:800;color:#fff;letter-spacing:-.5px}
.brand-accent{color:var(--rl-accent)}
.main-navbar .nav-link{color:rgba(255,255,255,.8) !important;font-weight:500;font-size:.9rem;padding:.5rem .8rem !important;border-radius:var(--radius-sm);transition:all var(--transition)}
.main-navbar .nav-link:hover,.main-navbar .nav-link.active{color:#fff !important;background:rgba(10,92,245,.15)}
.dropdown-menu.dropdown-menu-dark{background:#1a2c42;border:1px solid var(--rl-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:.5rem;min-width:220px}
.dropdown-menu.dropdown-menu-dark .dropdown-item{color:rgba(255,255,255,.75);border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.875rem;font-weight:500;transition:all var(--transition)}
.dropdown-menu.dropdown-menu-dark .dropdown-item:hover{background:rgba(10,92,245,.2);color:#fff}
.dropdown-divider{border-color:var(--rl-border) !important}
.btn-cta{background:var(--rl-primary);border-color:var(--rl-primary);color:#fff;font-weight:600;padding:.5rem 1.25rem;border-radius:50px;font-size:.875rem;transition:all var(--transition)}
.btn-cta:hover{background:var(--rl-primary-dark);border-color:var(--rl-primary-dark);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}

/* Hero – fill remaining viewport after sticky nav (topbar ≈2rem + navbar ≈4rem = 6rem on desktop) */
.hero-section{background:var(--rl-gradient-dark);min-height:calc(100vh - 6.5rem);display:flex;align-items:center;position:relative;overflow:hidden;padding:3.5rem 0 4.5rem}
.hero-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,rgba(10,92,245,.15) 0%,transparent 70%),radial-gradient(ellipse 40% 60% at 20% 80%,rgba(0,198,215,.1) 0%,transparent 60%)}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(10,92,245,.15);border:1px solid rgba(10,92,245,.3);color:var(--rl-accent);padding:.4rem 1rem;border-radius:50px;font-size:.78rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:1.5rem}
.hero-title{font-size:clamp(2.5rem,5vw,4.5rem);color:#fff;line-height:1.1;margin-bottom:1.5rem;font-weight:800}
.hero-subtitle{font-size:1.1rem;color:rgba(255,255,255,.65);margin-bottom:2.5rem;max-width:540px;font-weight:400}
.hero-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-hero-primary{background:var(--rl-primary);border:2px solid var(--rl-primary);color:#fff;padding:.8rem 2rem;border-radius:50px;font-weight:700;font-size:1rem;transition:all var(--transition);display:inline-flex;align-items:center;gap:.4rem}
.btn-hero-primary:hover{background:var(--rl-primary-dark);border-color:var(--rl-primary-dark);color:#fff;transform:translateY(-3px);box-shadow:0 10px 30px rgba(10,92,245,.4)}
.btn-hero-outline{background:transparent;border:2px solid rgba(255,255,255,.3);color:#fff;padding:.8rem 2rem;border-radius:50px;font-weight:600;font-size:1rem;transition:all var(--transition);display:inline-flex;align-items:center;gap:.4rem}
.btn-hero-outline:hover{border-color:#fff;background:rgba(255,255,255,.1);color:#fff;transform:translateY(-3px)}
.hero-stats{display:flex;gap:2rem;flex-wrap:wrap;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}
.hero-stat-item .stat-num{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:1.75rem;font-weight:800;color:#fff}
.hero-stat-item .stat-lbl{font-size:.78rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px}
.hero-visual-card{background:rgba(255,255,255,.07);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:1.75rem}
.tech-tag{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.8);padding:.25rem .7rem;border-radius:50px;font-size:.73rem;font-weight:600;display:inline-block;margin:.2rem}

/* Sections */
.section-padding{padding:5rem 0}
.section-alt{background:var(--rl-section-alt)}
.section-dark{background:var(--rl-dark);color:#fff}
.section-label{display:inline-flex;align-items:center;gap:.4rem;background:rgba(10,92,245,.08);color:var(--rl-primary);padding:.35rem .9rem;border-radius:50px;font-size:.75rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;margin-bottom:.75rem}
.section-dark .section-label{background:rgba(10,92,245,.2);color:var(--rl-accent)}
.section-title{font-size:clamp(1.8rem,3.5vw,2.75rem);font-weight:800;margin-bottom:1rem}
.section-dark .section-title{color:#fff}
.section-subtitle{font-size:1.05rem;color:#64748b;max-width:600px;margin:0 auto 1rem}
.section-dark .section-subtitle{color:rgba(255,255,255,.6)}
.divider{height:3px;width:60px;background:var(--rl-gradient);border-radius:2px}
.gradient-text{background:var(--rl-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Service Cards */
.service-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-md);padding:2rem;height:100%;transition:all var(--transition);position:relative;overflow:hidden}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--rl-gradient);transform:scaleX(0);transition:transform var(--transition)}
.service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.service-card:hover::after{transform:scaleX(1)}
.service-icon-wrap{width:64px;height:64px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:1.25rem;background:rgba(10,92,245,.08);color:var(--rl-primary);transition:all var(--transition)}
.service-card:hover .service-icon-wrap{background:var(--rl-primary);color:#fff}
.service-card h5{font-size:1.1rem;margin-bottom:.5rem}
.service-card p{color:#64748b;font-size:.9rem;margin-bottom:1rem}
.service-link{color:var(--rl-primary);font-weight:600;font-size:.875rem;display:inline-flex;align-items:center;gap:.3rem;transition:gap var(--transition)}
.service-card:hover .service-link{gap:.6rem}

/* Project Cards */
.project-card{border-radius:var(--radius-md);overflow:hidden;background:#fff;box-shadow:0 2px 15px rgba(0,0,0,.06);transition:all var(--transition);height:100%}
.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.project-img-wrap{position:relative;overflow:hidden;height:220px}
.project-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.project-card:hover .project-img-wrap img{transform:scale(1.06)}
.project-overlay{position:absolute;inset:0;background:rgba(13,27,42,.85);display:flex;align-items:center;justify-content:center;gap:1rem;opacity:0;transition:opacity var(--transition)}
.project-card:hover .project-overlay{opacity:1}
.project-overlay-btn{background:#fff;color:var(--rl-dark);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all var(--transition)}
.project-overlay-btn:hover{background:var(--rl-primary);color:#fff}
.project-body{padding:1.5rem}
.project-category{font-size:.73rem;font-weight:700;text-transform:uppercase;color:var(--rl-primary);letter-spacing:.5px;margin-bottom:.3rem}
.project-body h5{font-size:1rem;margin-bottom:.4rem}
.project-body p{color:#64748b;font-size:.875rem}
.tech-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.75rem}
.tech-pill{background:rgba(10,92,245,.07);color:var(--rl-primary);padding:.18rem .55rem;border-radius:50px;font-size:.72rem;font-weight:600}

/* Portfolio Filter */
.filter-btns{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2.5rem}
.filter-btn{background:transparent;border:1.5px solid #e2e8f0;color:#64748b;padding:.4rem 1.2rem;border-radius:50px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition)}
.filter-btn:hover,.filter-btn.active{background:var(--rl-primary);border-color:var(--rl-primary);color:#fff}

/* Blog Cards */
.blog-card{border-radius:var(--radius-md);overflow:hidden;background:#fff;box-shadow:0 2px 15px rgba(0,0,0,.05);transition:all var(--transition);height:100%}
.blog-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.blog-img-wrap{overflow:hidden;height:200px}
.blog-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.blog-card:hover .blog-img-wrap img{transform:scale(1.05)}
.blog-body{padding:1.5rem}
.blog-cat-tag{background:rgba(10,92,245,.08);color:var(--rl-primary);padding:.22rem .7rem;border-radius:50px;font-size:.72rem;font-weight:700;text-transform:uppercase}
.blog-body h5{font-size:1rem;margin:.7rem 0 .5rem;font-weight:700;line-height:1.4}
.blog-body p{color:#64748b;font-size:.875rem}
.blog-meta{color:#94a3b8;font-size:.8rem;margin-top:1rem}

/* Course Cards */
.course-card{border-radius:var(--radius-md);overflow:hidden;background:#fff;border:1px solid rgba(0,0,0,.06);transition:all var(--transition);height:100%}
.course-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.course-img-wrap{position:relative;overflow:hidden;height:200px}
.course-img-wrap img{width:100%;height:100%;object-fit:cover}
.course-badge-tag{position:absolute;top:.75rem;right:.75rem;padding:.25rem .75rem;border-radius:50px;font-size:.75rem;font-weight:700}
.badge-free{background:#10b981;color:#fff}
.badge-paid{background:var(--rl-primary);color:#fff}
.course-body{padding:1.25rem}
.course-meta{display:flex;flex-wrap:wrap;gap:.75rem;color:#64748b;font-size:.8rem;margin:.5rem 0 .75rem}
.course-price{font-size:1.5rem;font-weight:800;color:var(--rl-primary)}
.course-price-original{font-size:1rem;color:#94a3b8;text-decoration:line-through;margin-left:.5rem;font-weight:400}

/* Testimonials */
.testimonial-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:2rem;height:100%;transition:all var(--transition)}
.testimonial-card:hover{background:rgba(255,255,255,.08);border-color:rgba(10,92,245,.3);transform:translateY(-4px)}
.testimonial-stars{color:#f59e0b;font-size:.875rem;margin-bottom:1rem}
.testimonial-text{color:rgba(255,255,255,.8);font-size:.95rem;line-height:1.8;margin-bottom:1.5rem}
.testimonial-author{display:flex;align-items:center;gap:.75rem}
.testimonial-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--rl-primary)}
.testimonial-name{font-weight:700;color:#fff;font-size:.9rem}
.testimonial-role{color:rgba(255,255,255,.5);font-size:.78rem}

/* Stats */
.stats-section{background:var(--rl-gradient);color:#fff;padding:4rem 0}
.stat-number{font-family:'Plus Jakarta Sans',sans-serif;font-size:3rem;font-weight:800;color:#fff;display:block;line-height:1;margin-bottom:.5rem}
.stat-label{color:rgba(255,255,255,.75);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}

/* Team */
.team-card{text-align:center;background:#fff;border-radius:var(--radius-md);overflow:hidden;box-shadow:0 2px 15px rgba(0,0,0,.05);transition:all var(--transition)}
.team-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.team-img-wrap{overflow:hidden;height:240px}
.team-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.team-card:hover .team-img-wrap img{transform:scale(1.05)}
.team-body{padding:1.5rem}
.team-role{color:var(--rl-primary);font-size:.875rem;font-weight:600}
.team-socials{margin-top:1rem;display:flex;justify-content:center;gap:.5rem}
.team-social-btn{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(10,92,245,.08);color:var(--rl-primary);font-size:.85rem;transition:all var(--transition)}
.team-social-btn:hover{background:var(--rl-primary);color:#fff}

/* Pricing */
.pricing-card{background:#fff;border:2px solid transparent;border-radius:var(--radius-md);padding:2.5rem 2rem;height:100%;text-align:center;transition:all var(--transition);position:relative}
.pricing-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:var(--rl-primary)}
.pricing-card.popular{border-color:var(--rl-primary);box-shadow:var(--shadow-md)}
.popular-badge{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--rl-gradient);color:#fff;padding:.25rem 1.25rem;border-radius:50px;font-size:.73rem;font-weight:700;white-space:nowrap}
.pricing-name{font-size:1.2rem;font-weight:700;margin-bottom:.25rem}
.pricing-price .amount{font-size:3rem;font-weight:800;line-height:1}
.pricing-price .currency{font-size:1.5rem;vertical-align:top;margin-top:.5rem;display:inline-block}
.pricing-price .period{font-size:.875rem;color:#64748b}
.pricing-features{list-style:none;padding:0;margin:1.5rem 0;text-align:left}
.pricing-features li{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;color:#475569;font-size:.875rem;border-bottom:1px solid #f1f5f9}
.pricing-features li:last-child{border-bottom:none}
.pricing-features li i{color:#10b981;flex-shrink:0}
.pricing-features li.unavailable i{color:#ef4444}
.pricing-features li.unavailable{color:#94a3b8}

/* FAQ */
.faq-accordion .accordion-button{font-weight:600;color:var(--rl-dark);background:transparent;box-shadow:none}
.faq-accordion .accordion-button:not(.collapsed){color:var(--rl-primary);background:rgba(10,92,245,.04)}
.faq-accordion .accordion-item{border:1px solid rgba(0,0,0,.07);border-radius:var(--radius-sm) !important;margin-bottom:.5rem;overflow:hidden}

/* CTA */
.cta-section{background:var(--rl-gradient-dark);padding:5rem 0;text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 50% 50%,rgba(10,92,245,.2) 0%,transparent 70%)}

/* Admin topbar – breadcrumb should use muted tones, not the bright site primary */
.admin-topbar .breadcrumb-item a{color:#64748b;font-weight:500}
.admin-topbar .breadcrumb-item a:hover{color:#0a5cf5}
.admin-topbar .breadcrumb-item.active{color:#334155;font-weight:600}
.admin-topbar .breadcrumb-item+.breadcrumb-item::before{color:#94a3b8}

/* Admin */
.admin-sidebar{width:260px;background:var(--rl-dark);position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:1030;display:flex;flex-direction:column;transition:transform var(--transition);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}
.admin-sidebar-brand{padding:1.5rem;border-bottom:1px solid var(--rl-border);display:flex;align-items:center;gap:.75rem}
.admin-nav{padding:1rem 0;flex:1}
.admin-nav-section{padding:.5rem 1rem .25rem;font-size:.68rem;font-weight:700;text-transform:uppercase;color:rgba(255,255,255,.3);letter-spacing:1px}
.admin-nav-link{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;color:rgba(255,255,255,.65);font-size:.875rem;font-weight:500;transition:all var(--transition);border-left:3px solid transparent}
.admin-nav-link:hover,.admin-nav-link.active{color:#fff;background:rgba(10,92,245,.15);border-left-color:var(--rl-primary)}
.admin-nav-link i{width:20px;text-align:center;font-size:1rem}
.admin-main{margin-left:260px;flex:1;background:#f1f5f9;min-height:100vh;display:flex;flex-direction:column}
.admin-topbar{background:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 8px rgba(0,0,0,.06);position:sticky;top:0;z-index:100}
.admin-content{padding:1.75rem;flex:1}
.admin-card{background:#fff;border-radius:var(--radius-md);box-shadow:0 1px 8px rgba(0,0,0,.06);overflow:hidden}
.admin-card-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}
.admin-card-body{padding:1.5rem}
.stat-box{background:#fff;border-radius:var(--radius-md);padding:1.5rem;box-shadow:0 1px 8px rgba(0,0,0,.06);display:flex;align-items:center;gap:1.25rem;transition:transform var(--transition)}
.stat-box:hover{transform:translateY(-3px)}
.stat-box-icon{width:54px;height:54px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.stat-box-value{font-size:1.75rem;font-weight:800;color:var(--rl-dark);line-height:1}
.stat-box-label{font-size:.8rem;color:#64748b;font-weight:500}

/* Footer */
.site-footer{background:#0d1b2a;color:rgba(255,255,255,.7)}
.footer-main{border-bottom:1px solid rgba(255,255,255,.08)}
.footer-heading{color:#fff;font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1.25rem}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin-bottom:.5rem}
.footer-links a{color:rgba(255,255,255,.55);font-size:.875rem;transition:color var(--transition)}
.footer-links a:hover{color:var(--rl-accent)}
.footer-contact-list{list-style:none;padding:0;margin:0}
.footer-contact-list li{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;color:rgba(255,255,255,.55)}
.footer-contact-list a{color:rgba(255,255,255,.55);transition:color var(--transition)}
.footer-contact-list a:hover{color:var(--rl-accent)}
.footer-social{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:rgba(255,255,255,.07);border-radius:50%;color:rgba(255,255,255,.6);transition:all var(--transition)}
.footer-social:hover{background:var(--rl-primary);color:#fff;transform:translateY(-2px)}
.footer-bottom{background:rgba(0,0,0,.2)}
.footer-legal-link{color:rgba(255,255,255,.4);font-size:.8rem;transition:color var(--transition)}
.footer-legal-link:hover{color:var(--rl-accent)}

/* Back to top */
.back-to-top{position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:var(--rl-primary);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(20px);transition:all var(--transition);z-index:999;box-shadow:var(--shadow-md)}
.back-to-top.visible{opacity:1;transform:translateY(0)}
.back-to-top:hover{background:var(--rl-primary-dark);transform:translateY(-3px)}

/* Page hero */
.page-hero{background:var(--rl-gradient-dark);padding:5rem 0 4rem;text-align:center;color:#fff}
.page-hero h1{color:#fff;font-size:clamp(2rem,4vw,3rem)}
.page-hero .breadcrumb{justify-content:center;background:transparent;padding:0}
.breadcrumb-item a{color:rgba(255,255,255,.6)}
.breadcrumb-item.active{color:var(--rl-accent)}
.breadcrumb-item+.breadcrumb-item::before{color:rgba(255,255,255,.4)}

/* Contact */
.contact-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.contact-info-side{background:var(--rl-gradient-dark);padding:3rem;color:#fff;height:100%}
.contact-info-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.75rem}
.contact-info-icon{width:44px;height:44px;background:rgba(10,92,245,.3);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--rl-accent);flex-shrink:0}
.contact-form-side{padding:3rem}
.form-control,.form-select{border:1.5px solid #e2e8f0;border-radius:var(--radius-sm);padding:.65rem 1rem;font-size:.9rem;transition:all var(--transition)}
.form-control:focus,.form-select:focus{border-color:var(--rl-primary);box-shadow:0 0 0 .2rem rgba(10,92,245,.12)}
.form-label{font-weight:600;font-size:.875rem;color:var(--rl-dark);margin-bottom:.4rem}
.validation-summary-valid{display:none!important}

/* ── About Us ─────────────────────────────────────────── */
.about-intro-img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);object-fit:cover;height:460px;width:100%}
.value-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-md);padding:2rem;text-align:center;transition:all var(--transition);height:100%}
.value-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.value-icon{width:60px;height:60px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.6rem;margin:0 auto 1rem;background:rgba(10,92,245,.08);color:var(--rl-primary)}
.timeline-item{display:flex;gap:1.5rem;padding-bottom:2rem;position:relative}
.timeline-item::before{content:'';position:absolute;left:19px;top:44px;bottom:0;width:2px;background:rgba(10,92,245,.15)}
.timeline-item:last-child::before{display:none}
.timeline-dot{width:40px;height:40px;border-radius:50%;background:var(--rl-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}
.timeline-content h6{font-weight:700;margin-bottom:.25rem}
.tech-stack-icon{width:50px;height:50px;border-radius:var(--radius-sm);background:#fff;border:1px solid rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--rl-primary);transition:all var(--transition)}
.tech-stack-icon:hover{background:var(--rl-primary);color:#fff;transform:translateY(-3px)}

/* ── Consultation Booking ────────────────────────────── */
.booking-step{background:#fff;border-radius:var(--radius-md);padding:2rem;border:2px solid rgba(0,0,0,.06);transition:all var(--transition)}
.booking-step.active{border-color:var(--rl-primary);box-shadow:var(--shadow-md)}
.time-slot-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#475569;cursor:pointer;transition:all var(--transition);text-align:center}
.time-slot-btn:hover,.time-slot-btn.selected{background:var(--rl-primary);border-color:var(--rl-primary);color:#fff}
.duration-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:var(--radius-sm);padding:.6rem 1.5rem;font-size:.875rem;font-weight:600;color:#475569;cursor:pointer;transition:all var(--transition)}
.duration-btn:hover,.duration-btn.selected{background:var(--rl-primary);border-color:var(--rl-primary);color:#fff}
.flatpickr-calendar{border-radius:var(--radius-md)!important;border:1px solid rgba(0,0,0,.1)!important;box-shadow:var(--shadow-lg)!important}
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--rl-primary)!important;border-color:var(--rl-primary)!important}
.flatpickr-day:hover{background:rgba(10,92,245,.1)!important;border-color:transparent!important}
.booking-confirm-box{background:rgba(10,92,245,.05);border:2px dashed rgba(10,92,245,.2);border-radius:var(--radius-md);padding:1.5rem}
.consult-feature-item{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.consult-feature-item:last-child{border-bottom:none}

/* ── Enhanced Contact ────────────────────────────────── */
.contact-method-card{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--radius-md);padding:1.5rem;text-align:center;transition:all var(--transition)}
.contact-method-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.contact-method-icon{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin:0 auto .75rem}
.map-embed{border-radius:var(--radius-lg);overflow:hidden;height:320px}
.map-embed iframe{width:100%;height:100%;border:0}
.whatsapp-btn{background:#25D366;border-color:#25D366;color:#fff}
.whatsapp-btn:hover{background:#1da851;border-color:#1da851;color:#fff}

/* ── Page Content (dynamic pages) ───────────────────── */
.page-content{font-size:1rem;line-height:1.9;color:#334155}
.page-content h2{font-size:1.6rem;font-weight:700;margin:2.5rem 0 .75rem;color:var(--rl-dark)}
.page-content h3{font-size:1.25rem;font-weight:700;margin:2rem 0 .5rem;color:var(--rl-dark)}
.page-content ul,.page-content ol{padding-left:1.5rem;margin-bottom:1.25rem}
.page-content li{margin-bottom:.4rem}
.page-content p{margin-bottom:1.25rem}
.page-content a{color:var(--rl-primary)}
.page-content blockquote{border-left:4px solid var(--rl-primary);padding:1rem 1.5rem;background:rgba(10,92,245,.04);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1.5rem 0;font-style:italic}
.page-content table{width:100%;border-collapse:collapse;margin-bottom:1.5rem}
.page-content th,.page-content td{padding:.6rem .9rem;border:1px solid #e2e8f0;font-size:.9rem}
.page-content th{background:#f8faff;font-weight:700}
/* Sticky sidebars – column stretches to row height (default), wrapper sticks just below navbar */
.sidebar-sticky{position:sticky;top:4.75rem}
.legal-sidebar{position:sticky;top:4.75rem}
.legal-toc a{color:#475569;font-size:.875rem;display:block;padding:.3rem .5rem;border-radius:4px;transition:all var(--transition);border-left:2px solid transparent}
.legal-toc a:hover,.legal-toc a.active{color:var(--rl-primary);border-left-color:var(--rl-primary);padding-left:.75rem}

/* ── Responsive ──────────────────────────────────────── */
@media(max-width:991.98px){
    .admin-sidebar{transform:translateX(-100%)}
    .admin-sidebar.show{transform:translateX(0)}
    .admin-main{margin-left:0}
    .hero-section{min-height:calc(100vh - 4rem);padding:3rem 0 4rem}
    .sidebar-sticky,.legal-sidebar{top:4rem}
    .hero-stats{gap:1.25rem}
    .contact-form-side,.contact-info-side{padding:2rem}
    .about-intro-img{height:300px}
    .legal-sidebar{position:relative;top:0}
}
@media(max-width:767.98px){
    .section-padding{padding:3.5rem 0}
    .hero-title{font-size:2.25rem}
    .stat-number{font-size:2.25rem}
    .hero-subtitle{font-size:.95rem}
    .section-title{font-size:1.75rem}
    .section-subtitle{font-size:.95rem}
    .project-img-wrap{height:180px}
    .team-img-wrap{height:200px}
    .blog-img-wrap{height:170px}
}
@media(max-width:575.98px){
    .hero-stats{gap:.75rem}
    .hero-stat-item .stat-num{font-size:1.4rem}
    .contact-info-side,.contact-form-side{padding:1.5rem}
    .contact-card{border-radius:var(--radius-md)}
    .course-body{padding:1rem}
    .blog-body{padding:1.25rem}
    .team-body{padding:1rem}
    .service-card{padding:1.5rem}
    .pricing-card{padding:2rem 1.5rem}
    .page-hero{padding:3.5rem 0 2.5rem}
    .page-hero h1{font-size:1.9rem}
    .admin-content{padding:1rem}
    .stat-box{padding:1rem}
    .stat-box-value{font-size:1.4rem}
    .hero-btns{flex-direction:column;gap:.75rem}
    .btn-hero-primary,.btn-hero-outline{justify-content:center;width:100%;max-width:300px}
    .testimonial-card{padding:1.5rem}
    .section-label{font-size:.7rem}
}
