/* =========================================
   1. FONTS & VARIABLES
   ========================================= */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
    /* --- COLOR PALETTE --- */
    --primary-color: #006d5b;       /* Deep Teal */
    --primary-dark: #004d40;        /* Darker Teal for Hover */
    --primary-glow: rgba(0, 109, 91, 0.15);
    
    --soft-accent: #e0f2f1;         /* Mint Backgrounds */
    --bg-grey: #f8f9fa;             /* Section Backgrounds */
    --white: #ffffff;
    
    --text-dark: #111111;
    --text-grey: #666666;


    
    --glass-border: rgba(255, 255, 255, 0.5);
    --border-color: #e0e0e0;
}

/* =========================================
   2. RESET & GLOBAL STYLES
   ========================================= */
* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    background-color: var(--white);
    font-family: 'Outfit', sans-serif;
    color: var(--text-dark);
    overflow-x: hidden;
    position: relative;
    line-height: 1.6;
}

/* --- NOISE TEXTURE (Premium Paper Feel) --- */
body::before {
    content: "";
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E");
    opacity: 0.5;
    pointer-events: none;
    z-index: 9999;
}

/* --- AMBIENT GLOW ORBS --- */
.glow-orb {
    position: fixed; border-radius: 50%; filter: blur(80px); z-index: -1;
    animation: pulse 8s ease-in-out infinite alternate;
}
.orb-1 { top: -10%; left: -10%; width: 50vw; height: 50vw; background: var(--primary-glow); opacity: 0.6; }
.orb-2 { bottom: 10%; right: -10%; width: 40vw; height: 40vw; background: rgba(128, 222, 234, 0.3); animation-delay: 2s; }

/* --- GLOBAL SECTION UTILITIES --- */
section {
    padding: 80px 5%;
    max-width: 1400px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.section-head {
    text-align: center;
    max-width: 600px;
    margin: 0 auto 60px auto;
}

.section-head h2 {
    font-size: 2.5rem;
    margin-bottom: 15px;
    color: var(--text-dark);
}

.section-head p {
    color: var(--text-grey);
    font-size: 1.1rem;
}

/* --- ANIMATIONS --- */
@keyframes pulse { 0% { transform: scale(1); opacity: 0.6; } 100% { transform: scale(1.1); opacity: 0.4; } }
@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes morph {
    0%, 100% { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
    34% { border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%; }
    67% { border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%; }
}