/* Oludupe Nursery & Primary School - Modern Design Inspired */
:root{
  --primary:#4ECDC4; /* Modern teal */
  --primary-600:#3db5ad;
  --secondary:#FF6B6B; /* Coral accent */
  --accent:#FFE66D; /* Yellow accent */
  --success:#4ECDC4;
  --bg:#E8F6F3; /* Light mint background */
  --bg-secondary:#F0FDFA;
  --ink:#2D3748; /* Dark gray text */
  --muted:#718096;
  --card:#FFFFFF;
  --border:#E2E8F0;
  --shadow:0 20px 60px rgba(78, 205, 196, 0.15);
  --shadow-lg:0 25px 80px rgba(78, 205, 196, 0.25);
  --gradient-primary:linear-gradient(135deg, #4ECDC4 0%, #44A08D 100%);
  --gradient-secondary:linear-gradient(135deg, #FF6B6B 0%, #FF8E53 100%);
  --gradient-bg:linear-gradient(135deg, #E8F6F3 0%, #F0FDFA 50%, #E8F6F3 100%);
}
*{box-sizing:border-box}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Poppins:wght@300;400;500;600;700;800;900&display=swap');
html,body{margin:0;padding:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--gradient-bg);line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6{font-family:'Poppins',sans-serif;font-weight:700;line-height:1.25;margin:0 0 1.5rem;color:var(--ink);letter-spacing:-.03em}
h1{font-size:clamp(2.8rem,6vw,4.5rem);font-weight:800;line-height:1.1}
h2{font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:700;line-height:1.2}
h3{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:600;line-height:1.3}
h4{font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:600}
h5{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600}
h6{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:600}
p{margin:0 0 1.5rem;color:var(--muted);line-height:1.7;font-size:1.1rem;font-weight:400;max-width:75ch}
.lead{font-size:1.25rem;font-weight:400;line-height:1.7;color:var(--muted);margin-bottom:2rem}
.small{font-size:.9rem;color:var(--muted);line-height:1.6}
.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.font-display{font-family:'Poppins',sans-serif}
.font-body{font-family:'Inter',sans-serif}
img{max-width:100%;display:block;border-radius:12px;object-fit:cover;object-position:top}
a{color:var(--primary);text-decoration:none;transition:all 0.3s ease}
a:hover{color:var(--primary-600)}
.container{width:min(1200px,95%);margin-inline:auto;padding:0 1rem}
.btn{display:inline-flex;align-items:center;gap:.8rem;padding:1.2rem 2.5rem;border-radius:60px;font-weight:600;letter-spacing:.3px;border:2px solid transparent;transition:all .4s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;position:relative;overflow:hidden;font-size:1rem;text-decoration:none}
.btn::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);transition:left .6s ease}
.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow);border:2px solid transparent}
.btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}
.btn-primary:hover::before{left:100%}
.btn-outline{border-color:var(--primary);color:var(--primary);background:rgba(255,255,255,.9);backdrop-filter:blur(15px);box-shadow:0 8px 32px rgba(78, 205, 196, 0.1)}
.btn-outline:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:translateY(-4px) scale(1.02)}
.btn-icon{font-size:.9rem;transition:transform .3s ease}
.btn:hover .btn-icon{transform:scale(1.15) rotate(5deg)}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);z-index:1000;transition:all .4s ease;border-bottom:1px solid rgba(78, 205, 196, 0.1);padding:0 1rem}
.site-header.scrolled{background:rgba(255,255,255,.99);box-shadow:var(--shadow);padding:0 1rem}

/* Add padding to header on non-home pages */
body:not(.home-page) .site-header{padding-top:1rem;padding-bottom:1rem}
body:not(.home-page) .site-header.scrolled{padding-top:1rem;padding-bottom:1rem}

/* Add top padding to main content on non-home pages only */
body:not(.home-page) main {
  padding-top: 120px !important;
}

/* Force consistent mobile padding across all devices */
@media screen and (max-width: 768px) {
  body:not(.home-page) main {
    padding-top: 120px !important;
    margin-top: 0 !important;
  }
  
  /* Ensure header height is consistent */
  .site-header {
    min-height: 80px !important;
    height: auto !important;
  }
  
  .navbar {
    min-height: 60px !important;
    padding: 1rem 0 !important;
  }
}

@media screen and (max-width: 480px) {
  body:not(.home-page) main {
    padding-top: 110px !important;
    margin-top: 0 !important;
  }
  
  .site-header {
    min-height: 70px !important;
  }
  
  .navbar {
    min-height: 50px !important;
    padding: 0.8rem 0 !important;
  }
}
.navbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;position:relative;max-width:1200px;margin:0 auto;width:100%}
.brand{font-size:1.2rem;font-weight:700;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:.6rem;transition:all .3s ease}
.brand img{width:80px;height:80px;object-fit:contain;border-radius:8px;box-shadow:0 4px 12px rgba(78, 205, 196, 0.2);transition:all 0.3s ease}
.brand-title{font-size:1rem;font-weight:600;color:var(--ink)}
.brand:hover{transform:scale(1.05)}
.brand:hover img{box-shadow:0 6px 20px rgba(78, 205, 196, 0.3);transform:scale(1.02)}

/* Navigation Links */
.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:2.5rem}
.nav-links a{color:var(--ink);text-decoration:none;font-weight:600;transition:all .3s ease;position:relative;font-size:1rem;padding:.6rem .8rem;border-radius:8px}
.nav-links a:hover{color:var(--primary);background:rgba(78, 205, 196, 0.08);transform:translateY(-1px)}
.nav-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:0.4rem;opacity:0.7;transition:opacity 0.3s ease}
.nav-links a:hover .nav-icon{opacity:1}
.nav-icon svg{width:16px;height:16px}
.nav-links a.active{color:var(--primary);background:rgba(78, 205, 196, 0.1)}
.nav-links a.active::after{content:'';position:absolute;bottom:-2px;left:50%;transform:translateX(-50%);width:20px;height:2px;background:var(--gradient-primary);border-radius:2px}
.nav-actions{display:flex;align-items:center;gap:1.5rem}
.lang-selector{background:rgba(78, 205, 196, 0.05);border:1px solid rgba(78, 205, 196, 0.2);padding:.7rem 1.2rem;border-radius:12px;color:var(--ink);cursor:pointer;transition:all .3s ease;font-weight:500}
.lang-selector:hover{border-color:var(--primary);color:var(--primary);background:rgba(78, 205, 196, 0.1);transform:translateY(-1px)}
.search-btn{background:var(--gradient-primary);color:#fff;border:none;padding:1rem 1.5rem;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.7rem;font-weight:600;box-shadow:var(--shadow-sm)}
.search-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.mobile-toggle{display:none;border:none;background:transparent;font-size:1.6rem;color:var(--ink);padding:.5rem;border-radius:8px;transition:all .3s ease;position:relative;z-index:1001}
.mobile-toggle:hover{background:rgba(78, 205, 196, 0.1);color:var(--primary)}

/* Responsive Header */
@media (max-width: 1024px) {
  .nav-links{gap:2rem}
}

/* Additional mobile consistency fixes */
@media screen and (max-width: 768px) {
  /* Force consistent flexbox behavior across browsers */
  .navbar {
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    -webkit-box-align: center !important;
    -ms-flex-align: center !important;
    align-items: center !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
  
  .brand {
    -webkit-box-flex: 0 !important;
    -ms-flex: none !important;
    flex: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
  
  /* Ensure mobile toggle stays in position */
  .mobile-toggle {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    -webkit-transform: translateY(-50%) !important;
    -ms-transform: translateY(-50%) !important;
    transform: translateY(-50%) !important;
  }
}

/* iOS Safari specific fixes */
@supports (-webkit-touch-callout: none) {
  @media screen and (max-width: 768px) {
    .navbar {
      -webkit-box-pack: center;
      justify-content: center;
    }
    
    .brand {
      margin: 0 auto;
      position: relative;
      z-index: 1000;
    }
    
    .mobile-toggle {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
    }
  }
}

@media (max-width: 768px) {
  .navbar{
    flex-wrap:wrap;
    gap:1rem;
    justify-content:center;
    position:relative;
    width:100%;
    display:flex;
    align-items:center;
    min-height:60px;
  }
  .mobile-toggle{
    display:block !important;
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:1001;
  }
  .brand{
    order:1;
    margin:0 auto !important;
    position:relative;
    z-index:1000;
    display:flex !important;
    align-items:center;
    justify-content:center;
    flex:none !important;
  }
  
  /* Simple Mobile Navigation */
  .nav-links{
    order:4;
    width:100%;
    flex-direction:column;
    gap:0;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:12px;
    padding:1rem 0;
    margin-top:1rem;
    box-shadow:var(--shadow);
    display:none;
  }
  
  .nav-links.active{
    display:flex;
  }
  
  .nav-links a{
    padding:1rem 1.5rem;
    border-radius:0;
    border-bottom:1px solid var(--border);
    color:var(--ink);
    font-weight:500;
    transition:all 0.3s ease;
    background:transparent;
    text-align:left;
  }
  
  .nav-links a:last-child{
    border-bottom:none;
  }
  
  .nav-links a:hover{
    background:rgba(78, 205, 196, 0.1);
    color:var(--primary);
    transform:none;
    box-shadow:none;
  }
  
  .nav-links a.active{
    background:rgba(78, 205, 196, 0.1);
    color:var(--primary);
    border-left:3px solid var(--primary);
  }
  
  .nav-actions{display:none}
  
  /* Simple Hamburger menu styling */
  .mobile-toggle{
    background:transparent;
    border:none;
    font-size:1.5rem;
    color:var(--ink);
    padding:0.5rem;
    cursor:pointer;
    transition:color 0.3s ease;
  }
  
  .mobile-toggle:hover{
    color:var(--primary);
  }
}

@media screen and (max-width: 480px) {
  .brand{
    font-size:1rem !important;
    margin:0 auto !important;
    position:relative !important;
    z-index:1000 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .brand img{
    width:60px !important;
    height:60px !important;
  }
  .navbar{
    padding:0.8rem 0 !important;
    justify-content:center !important;
    position:relative !important;
    width:100% !important;
  }
  .mobile-toggle{
    font-size:1.3rem !important;
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:1001 !important;
  }
  .nav-links a{
    padding:0.8rem 1rem;
    font-size:0.95rem;
  }
}

/* Hero */
.hero{position:relative;overflow:hidden;min-height:100vh;background:#ffffff;display:flex;align-items:center;padding-top:120px}
.hero-slider{position:relative;width:100%;height:100vh;overflow:hidden;border-radius:0}
.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease-in-out}
.hero-slide.active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:top;filter:brightness(0.4) contrast(1.1)}

/* Hero Content - Modern Clean Design */
.hero-content{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;z-index:5;background:rgba(255,255,255,0.1)}
.hero-content .container{text-align:center;color:#fff;max-width:900px;padding:0 2rem;margin:0 auto}
.hero-text{max-width:100%}
.hero-visual{display:none}

/* Enhanced Typography */
.hero-content h1{font-size:clamp(3rem,6vw,5rem);line-height:1.1;margin:0 0 2rem;font-weight:900;letter-spacing:-0.03em;text-shadow:0 4px 20px rgba(0,0,0,.4);background:linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.9) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-content h1 .highlight{background:linear-gradient(135deg, #fff 0%, rgba(255,255,255,0.9) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}
.hero-content p{margin:0 0 3rem;font-size:clamp(1.2rem,2.5vw,1.5rem);color:rgba(255,255,255,0.95);line-height:1.7;max-width:700px;font-weight:400;text-shadow:0 2px 10px rgba(0,0,0,.3);margin-left:auto;margin-right:auto}

/* Modern Kicker Badge */
.hero-content .kicker{background:linear-gradient(135deg, rgba(78, 205, 196, 0.95) 0%, rgba(85, 230, 193, 0.95) 100%);color:#fff;border:none;font-weight:700;padding:1rem 2rem;border-radius:30px;font-size:1.1rem;letter-spacing:.5px;display:inline-flex;align-items:center;gap:.6rem;margin-bottom:2rem;backdrop-filter:blur(20px);box-shadow:0 8px 32px rgba(78, 205, 196, 0.3)}
.hero-content .kicker::before{content:'🎓';font-size:1rem}

/* Enhanced Action Buttons */
.hero-content .actions{display:flex;gap:2rem;flex-wrap:wrap;margin-top:1rem;justify-content:center;margin-bottom:3rem}
.hero-content .btn{padding:1.2rem 2.5rem;font-size:1.1rem;font-weight:600;border-radius:60px;transition:all .4s cubic-bezier(0.4, 0, 0.2, 1);position:relative;overflow:hidden;border:2px solid transparent}
.hero-content .btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow)}
.hero-content .btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}
.hero-content .btn-outline{background:rgba(255,255,255,.9);color:var(--primary);border-color:var(--primary);backdrop-filter:blur(15px);box-shadow:0 8px 32px rgba(78, 205, 196, 0.1)}
.hero-content .btn-outline:hover{background:var(--primary);color:#fff;transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}

/* Modern Slider Controls */


/* Enhanced Navigation Arrows */
.slider-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.9);color:var(--primary);border:2px solid rgba(78, 205, 196, 0.2);width:60px;height:60px;border-radius:50%;cursor:pointer;font-size:20px;z-index:15;transition:all .4s cubic-bezier(0.4, 0, 0.2, 1);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(78, 205, 196, 0.15)}
.slider-nav:hover{background:var(--primary);color:#fff;transform:translateY(-50%) scale(1.1);box-shadow:var(--shadow-lg)}
.slider-nav:active{transform:translateY(-50%) scale(0.95)}
.slider-prev{left:40px}
.slider-next{right:40px}

/* Animations */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(1.05)}}

/* Content Animation */
.hero-content h1{animation:fadeInUp 1s ease-out both}
.hero-content p{animation:fadeInUp 1s ease-out .2s both}
.hero-content .actions{animation:fadeInUp 1s ease-out .4s both}

/* Features */
.features{padding:6rem 0;background:var(--bg-secondary);position:relative;overflow:hidden}
.features .container{position:relative;z-index:2}
.features-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2.5rem;margin-top:3rem}
.feature{text-align:center;padding:3rem 2rem;background:var(--card);border-radius:24px;box-shadow:var(--shadow);transition:all .4s ease;border:1px solid var(--border);position:relative;overflow:hidden;flex:1 1 320px;max-width:380px}
.feature:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:rgba(78, 205, 196, 0.4)}
.feature-icon{width:80px;height:80px;margin:0 auto 2rem;background:var(--gradient-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2rem;box-shadow:0 10px 30px rgba(78, 205, 196, 0.3);transition:all .4s ease}
.feature:hover .feature-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 15px 40px rgba(78, 205, 196, 0.4)}
.feature h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--ink)}
.feature p{color:var(--muted);line-height:1.7;font-size:1rem;max-width:280px;margin:0 auto}

/* Split welcome */
.section{padding:4rem 0}
.section.compact{padding:3rem 0}
.section.tight{padding:2rem 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:flex-start}
.kicker{display:inline-block;background:rgba(78, 205, 196, 0.1);color:var(--primary);font-weight:600;padding:.8rem 1.5rem;border-radius:30px;font-size:.9rem;letter-spacing:.5px;border:1px solid rgba(78, 205, 196, 0.2);margin-bottom:1.5rem}
h2.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:800;margin:0 0 1.5rem 0;color:var(--ink);line-height:1.3}
.section.compact h2.section-title{margin:0 0 1rem 0}
.lead{color:var(--muted);font-size:1.15rem;line-height:1.8;max-width:65ch;margin-bottom:1.5rem}

/* Cards */
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);padding:2.5rem;transition:all .3s ease;overflow:hidden;margin-bottom:1.5rem}
.card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg);border-color:rgba(78, 205, 196, 0.3)}

/* Single Column Card Variants */
.card.simple{padding:2rem;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.card.minimal{background:transparent;border:none;box-shadow:none;padding:1.5rem 0;margin-bottom:1rem}
.card.content{max-width:750px;margin:0 auto 2rem auto;padding:2rem}
.card img{width:100%;height:auto;border-radius:12px;margin-bottom:1.5rem}

/* Why choose - Modern Design */
.list{margin:2rem 0;padding:0;list-style:none;display:grid;gap:1rem}
.list li{display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border);transition:all .3s ease}
.list li:hover{background:var(--card);transform:translateX(5px);box-shadow:0 10px 30px rgba(0,0,0,0.05);border-color:rgba(78, 205, 196, 0.2)}
.list li .tick{color:#fff;background:var(--gradient-primary);border-radius:50%;width:32px;height:32px;flex-shrink:0;display:inline-grid;place-items:center;margin-top:.3rem;box-shadow:0 5px 15px rgba(78, 205, 196, 0.3);transition:all .3s ease;font-size:.9rem}
.list li:hover .tick{transform:scale(1.1);box-shadow:0 8px 25px rgba(78, 205, 196, 0.4)}
.list li div{color:var(--ink);font-weight:500;line-height:1.7;font-size:1.05rem}

/* CTA - Full Width */
.cta-section{background:#3db5ad;color:#fff;padding:8rem 0;position:relative;overflow:hidden;box-shadow:0 20px 60px rgba(61,181,173,0.3);margin:6rem 0}
.cta-section::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);animation:float 15s ease-in-out infinite}
.cta{display:grid;grid-template-columns:1.4fr .6fr;gap:3rem;align-items:center;position:relative;z-index:2}
.cta h2{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,0.2);margin-bottom:1.5rem;line-height:1.1}
.cta p{font-size:1.4rem;color:#fff;opacity:1;line-height:1.6;margin-bottom:3rem;max-width:600px}
.cta .btn{background:#fff;color:var(--primary);padding:1.5rem 3rem;font-size:1.1rem;font-weight:700;box-shadow:0 8px 30px rgba(0,0,0,0.2)}
.cta .btn:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 12px 40px rgba(0,0,0,0.3)}

/* Footer */
.site-footer{margin-top:3rem;background:linear-gradient(135deg, #0f172a 0%, #1e293b 100%);color:#e5e7eb;padding:6rem 0 3rem;position:relative;overflow:hidden}

/* Footer Logo Styling */
.footer-logo {
    height: 80px;
    width: auto;
    margin-bottom: 1rem;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0, 128, 128, 0.25);
    transition: all 0.3s ease;
}

.footer-logo:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(0, 128, 128, 0.35);
}

/* Footer brand logo styling for support.html */
.site-footer .brand img {
    height: 80px;
    width: auto;
    border-radius: 10px;
    box-shadow: 0 3px 12px rgba(0, 128, 128, 0.25);
    transition: all 0.3s ease;
}

.site-footer .brand img:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(0, 128, 128, 0.35);
}
.site-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary)}
.site-footer::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 30% 70%, rgba(78, 205, 196, 0.05) 0%, transparent 50%);z-index:1}
.footer-inner{padding:2.5rem 0;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:4rem;margin-bottom:3rem;position:relative;z-index:2}
.footer-inner > div:nth-child(2) p {
  margin: 0;
  display: inline-block;
  margin-right: var(--space-4);
}
.footer-inner > div:nth-child(2) p:last-child {
  margin-right: 0;
}
.footer h4{margin:0 0 2.5rem;color:#fff;font-size:1.3rem;font-weight:700;position:relative}
.footer h4::after{content:'';position:absolute;bottom:-10px;left:0;width:40px;height:3px;background:var(--gradient-primary);border-radius:2px}
.footer a{color:#cbd5e1;transition:all .3s ease;font-size:1.05rem;position:relative;line-height:1.8}
.footer a:hover{color:var(--primary);transform:translateX(6px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:3rem 0 1rem;color:#94a3b8;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem;position:relative;z-index:2}
.social-links{display:flex;gap:1.5rem}
.social-links a{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;background:rgba(78, 205, 196, 0.1);border-radius:50%;color:#cbd5e1;text-decoration:none;transition:all .4s ease;border:1px solid rgba(78, 205, 196, 0.2)}
.social-links a:hover{background:var(--primary);color:#fff;transform:translateY(-4px) scale(1.15);box-shadow:0 12px 30px rgba(78, 205, 196, 0.4)}

/* Modern UI Elements */
.floating-card{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);border-radius:24px;box-shadow:var(--shadow);border:1px solid rgba(78, 205, 196, 0.1);transition:all .5s cubic-bezier(0.4, 0, 0.2, 1);position:relative;overflow:hidden}
.floating-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-primary);opacity:0;transition:opacity .3s ease;border-radius:24px}
.floating-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-lg)}
.floating-card:hover::before{opacity:0.02}
.glass-effect{background:rgba(255,255,255,.1);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.2);border-radius:16px}
.gradient-border{position:relative;background:var(--gradient-primary);padding:2px;border-radius:16px}
.gradient-border::before{content:'';position:absolute;inset:2px;background:white;border-radius:14px;z-index:-1}
.pulse-animation{animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}
.fade-in{animation:fadeIn .8s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.slide-up{animation:slideUp .6s ease-out}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.scale-hover{transition:transform .3s ease}
.scale-hover:hover{transform:scale(1.05)}
.glow-effect{box-shadow:0 0 20px rgba(78, 205, 196, 0.3);transition:box-shadow .3s ease}
.glow-effect:hover{box-shadow:0 0 30px rgba(78, 205, 196, 0.5)}

/* Utilities */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;align-items:flex-start;margin-bottom:2rem}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:2rem}

/* Single Column Content - UX Optimized */
.content-block{max-width:800px;margin:0 auto;padding:0 1rem}
.content-compact{max-width:700px;margin:0 auto;text-align:center}
.content-narrow{max-width:600px;margin:0 auto}
.single-column{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}
.two-column{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:2rem}
.actions{display:flex;gap:2rem;flex-wrap:wrap}
.actions.center{justify-content:center}
.round{border-radius:16px}
.shadow{box-shadow:var(--shadow)}
.center{text-align:center}
.spacer{margin-top:1.3rem}
.icon{width:22px;height:22px}

/* Forms */
form{display:grid;gap:.8rem}
.input{display:grid}
.input label{font-weight:600;margin-bottom:.2rem}
.input input,.input textarea, .input select{padding:.8rem;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit}
.input textarea{min-height:120px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}

/* Responsive */
@media (max-width: 1024px) {
    .features-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}
    .split,.grid-2{gap:2.5rem}
    .grid-3{gap:1.5rem}
    .two-column{gap:1.5rem}
}

@media (max-width: 900px) {
    .hero{height:80vh;min-height:500px;padding-top:100px}
    .hero-content h1{font-size:clamp(2.2rem,5vw,3.2rem)}
    .hero-content p{font-size:1.15rem;max-width:500px}
    .hero-content .btn{padding:.9rem 1.8rem;font-size:1rem}
    .slider-nav{width:50px;height:50px;font-size:18px}
    .slider-prev{left:25px}
    .slider-next{right:25px}
    
    .features-grid{grid-template-columns:1fr;gap:2.5rem}
    .feature{padding:2.5rem 1.8rem}
    .feature-icon{font-size:3rem;padding:1.2rem}
    .grid-3{grid-template-columns:repeat(2,1fr);gap:2rem}
    .split{grid-template-columns:1fr}
    .cta{grid-template-columns:1fr}
    .footer-inner{grid-template-columns:1fr 1fr}
    .nav-links{gap:1.5rem}
    .nav-links a{padding:.4rem .8rem;font-size:.95rem}
}

@media (max-width: 768px) {
    .section{padding:3rem 0}
    .section.compact{padding:2rem 0}
    .section.tight{padding:1.5rem 0}
    .hero{min-height:100vh;padding-top:140px;margin-top:20px}
    .hero-content .container{text-align:center;padding:0 1.5rem}
    .hero-content h1{font-size:clamp(2.5rem,8vw,4rem)}
    .hero-content .lead{font-size:clamp(1.1rem,4vw,1.3rem)}
    .hero-content .actions{gap:1.5rem;flex-direction:column;align-items:center}
    .features{padding:5rem 0}
    .features-grid{grid-template-columns:1fr;gap:2rem}
    .feature{padding:2rem 1.5rem}
    .card{padding:2rem}
    .grid-3{grid-template-columns:1fr;gap:1.5rem}
    .split,.grid-2{grid-template-columns:1fr;gap:2rem}
    .two-column{grid-template-columns:1fr;gap:1.5rem}
    .cta-section{padding:5rem 0}
    .cta{grid-template-columns:1fr;text-align:center;gap:2rem}
    .footer-inner{grid-template-columns:1fr;gap:3rem;text-align:center}
    .footer-bottom{flex-direction:column;text-align:center;gap:1.5rem}
    .actions{justify-content:center;gap:1.5rem}
    .list li{padding:1rem;gap:1rem}
    .section-title{text-align:center}
    .kicker{margin-bottom:1rem}
}

@media (max-width: 640px) {
    .hero{height:70vh;min-height:450px;padding-top:120px;margin-top:30px}
    .hero-content h1{font-size:clamp(2rem,4.5vw,2.8rem)}
    .hero-content p{font-size:1.05rem;max-width:400px}
    .hero-content .btn{padding:.8rem 1.5rem;font-size:.95rem;gap:.6rem}
    .hero-content .actions{gap:1rem;flex-direction:column;align-items:center}
    .slider-nav{width:45px;height:45px;font-size:16px}
    .slider-prev{left:20px}
    .slider-next{right:20px}
    
    .slider-dot{width:8px;height:8px}
    /* Mobile nav-links handled by 768px media query above */
    .mobile-toggle{display:block}
    .footer-inner{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .features{padding:4rem 0}
    .features-grid{gap:1.5rem}
    .feature{padding:1.5rem 1.25rem}
    .card{padding:1.5rem}
    .feature-icon{font-size:2.8rem;padding:1rem}
    .feature h3{font-size:1.4rem}
    .feature p{font-size:1rem}
    .btn-icon{font-size:.8rem}
}

@media (max-width: 480px) {
    .section{padding:2.5rem 0}
    .section.compact{padding:1.5rem 0}
    .section.tight{padding:1rem 0}
    .content-block, .content-compact, .content-narrow{padding:0 0.5rem}
    .hero-content .container{padding:0 1rem}
    .hero-content .kicker{padding:.8rem 1.5rem;font-size:.9rem}
    .feature{padding:2rem 1rem}
    .feature-icon{width:70px;height:70px;font-size:1.8rem}
    .cta-section{padding:4rem 0}
    .footer-inner{padding:2rem 0}
    .btn{padding:1rem 2rem;font-size:1rem}
}

:root{
  /* Spacing scale */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 80px;
  --space-10: 96px;
}

/* Neutralize external icon font tags (Font Awesome) to avoid dependency issues */
i[class^="fa-"], i[class*=" fa-"]{ display:none !important; }

/* Provide a consistent hamburger icon without external fonts */
.mobile-toggle{ position: relative; }
.mobile-toggle::before{ content:"\2630"; /* Unicode hamburger */ display:inline-block; font-size:1.4rem; line-height:1; }

/* Global vertical rhythm utility for stacked children */
.stack > * + *{ margin-top: var(--space-4); }

/* Sections: use spacing scale */
.section{ padding: var(--space-10) 0; }
@media (max-width: 768px){ .section{ padding: var(--space-8) 0; } }
@media (max-width: 480px){ .section{ padding: var(--space-7) 0; } }

/* Features spacing refinements */
.features{ padding: var(--space-10) 0; }
.features-grid{ gap: var(--space-6); margin-top: var(--space-6); }
.feature{ padding: var(--space-7) var(--space-6); }
.feature-icon{ margin-bottom: var(--space-5); }

/* Lists: improved spacing and built-in checkmark without external icons */
.list{ gap: var(--space-3); margin: var(--space-6) 0; }
.list li{ gap: var(--space-3); padding: var(--space-4) var(--space-5); }
.list li .tick{ position:relative; }
.list li .tick i{ display:none !important; }
.list li .tick::before{ content:"\2713"; /* checkmark */ font-weight:900; font-size:.9rem; }

/* Footer social links: add a simple fallback glyph inside the circle */
.social-links a{ position:relative; }
.social-links a::before{ content:"\2197"; /* north-east arrow */ color: currentColor; font-weight:700; }

/* Tweak hero/cta paddings to the scale where applicable */
.cta-section{ padding: var(--space-10) 0; margin: var(--space-10) 0; }
@media (max-width: 768px){ .cta-section{ padding: var(--space-8) 0; } }
@media (max-width: 480px){ .cta-section{ padding: var(--space-7) 0; } }




/* Profile Image Styles - Double Size */
.profile-image-container {
  margin: 0 auto 2rem; /* Increased bottom margin */
  width: 300px; /* Doubled from 150px to 300px */
  height: 300px; /* Doubled from 150px to 300px */
  border-radius: 25px; /* Slightly larger radius */
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); /* Enhanced shadow */
  border: 5px solid #f8f9fa; /* Slightly thicker border */
  background: #f3f4f6;
  position: relative;
}

.profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px; /* Increased to match container */
  transition: transform 0.3s ease;
  background: #f3f4f6;
}

/* Fallback avatar - larger for bigger container */
.profile-image-container::before {
  content: "👤";
  font-size: 5rem; /* Increased from 3rem to 5rem */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.3;
  z-index: 1;
  display: none;
}

/* Show fallback only if image is broken */
.profile-image-container:has(img[src=""])::before,
.profile-image-container:not(:has(img[src]))::before {
  display: block;
}

.profile-card:hover .profile-image {
  transform: scale(1.05);
}

/* Adjust card layout for larger images */
.profile-card {
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 2rem; /* Added more padding */
}

.profile-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

/* Responsive adjustments for larger images */
@media (max-width: 1200px) {
  .profile-image-container {
    width: 280px;
    height: 280px;
  }
}

@media (max-width: 992px) {
  .profile-image-container {
    width: 250px;
    height: 250px;
  }
  
  .profile-image-container::before {
    font-size: 4rem;
  }
}

@media (max-width: 768px) {
  .profile-image-container {
    width: 220px;
    height: 220px;
  }
  
  .profile-image-container::before {
    font-size: 3.5rem;
  }
}

@media (max-width: 576px) {
  .profile-image-container {
    width: 200px;
    height: 200px;
    margin: 0 auto 1.5rem;
  }
  
  .profile-image-container::before {
    font-size: 3rem;
  }
}










