 :root {
            --maroon: #70181f;
            --green: #427d3a;
            --black: #000000;
            --white: #ffffff;
            --light-bg: #f5f5f5;
            --text-gray: #555555;
            --border-light: #e0e0e0;
            --gold: #c9a84c;
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Poppins', sans-serif;
            line-height: 1.6;
            color: var(--text-gray);
            background: var(--white);
        }

        /* ── Hero ── */
        .hero-section {
            min-height: 100vh;
            position: relative;
            overflow: hidden;
            display: flex;
            align-items: center;
            padding: 80px 0;
        }

        .hero-bg {
            position: absolute; inset: 0;
            background: linear-gradient(rgba(0, 0, 0, 0.34), rgba(0, 0, 0, 0.68)), url(../assets/image/bg.webp?w=1200&h=600&fit=crop) center / cover;
        }

        /* .hero-overlay {
            position: absolute; inset: 0;
            background: linear-gradient(135deg,
                rgba(112,24,31,0.94) 0%,
                rgba(112,24,31,0.80) 50%,
                rgba(66,125,58,0.75) 100%);
        } */

        .hero-pattern {
            position: absolute; inset: 0;
            background-image:
                linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
                linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
            background-size: 60px 60px;
            animation: patternMove 20s linear infinite;
        }

        @keyframes patternMove {
            0%   { background-position: 0 0, 0 0; }
            100% { background-position: 60px 60px, 60px 60px; }
        }

        .hero-content { position: relative; z-index: 10; text-align: center; }

        .hero-badge {
            display: inline-flex; align-items: center; gap: 10px;
            background: rgba(255,255,255,.15);
            backdrop-filter: blur(12px);
            color: var(--white);
            border: 1px solid rgba(255,255,255,.3);
            padding: 10px 28px; border-radius: 50px;
            font-weight: 600; font-size: 14px;
            margin-bottom: 30px;
            animation: floatBadge 3s ease-in-out infinite;
        }

        @keyframes floatBadge {
            0%,100% { transform: translateY(0); }
            50%     { transform: translateY(-8px); }
        }

        .hero-badge i { color: var(--gold); animation: starPulse 2s ease-in-out infinite; }

        @keyframes starPulse {
            0%,100% { transform: scale(1); }
            50%     { transform: scale(1.4); }
        }

        .hero-title {
            font-size: clamp(3.5rem,9vw,7rem);
            font-weight: 900; color: var(--white);
            line-height: 1.05; margin-bottom: 20px;
            text-shadow: 0 10px 40px rgba(0,0,0,.4);
            animation: titleFadeIn 1s ease-out;
        }

        @keyframes titleFadeIn {
            from { opacity:0; transform:translateY(40px); }
            to   { opacity:1; transform:translateY(0); }
        }

        .hero-title span {
            background: linear-gradient(135deg,var(--gold) 0%,#f0d080 50%,var(--gold) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            background-size: 200% 200%;
            animation: goldShimmer 3s ease infinite;
        }

        @keyframes goldShimmer {
            0%,100% { background-position: 0% 50%; }
            50%     { background-position: 100% 50%; }
        }

        .hero-subtitle {
            font-size: clamp(1.1rem,2vw,1.4rem);
            color: rgba(255,255,255,.92);
            max-width: 750px; margin: 0 auto 50px;
        }

        .hero-actions {
            display: flex; gap: 20px; justify-content: center; flex-wrap: wrap;
        }

        .hero-btn-primary {
            display: inline-flex; align-items: center; gap: 10px;
            background: linear-gradient(135deg,var(--maroon),#8b1f28);
            color: var(--white); padding: 18px 45px; border-radius: 50px;
            font-weight: 700; font-size: 1rem; text-decoration: none;
            box-shadow: 0 10px 30px rgba(112,24,31,.5);
            transition: all .4s cubic-bezier(.175,.885,.32,1.275);
            position: relative; overflow: hidden;
        }

        .hero-btn-primary::before {
            content:''; position:absolute; top:50%; left:50%;
            width:0; height:0; border-radius:50%; background:var(--green);
            transform:translate(-50%,-50%);
            transition:width .6s ease,height .6s ease;
        }

        .hero-btn-primary span,
        .hero-btn-primary i { position:relative; z-index:1; }
        .hero-btn-primary:hover::before { width:300px; height:300px; }
        .hero-btn-primary:hover { transform:translateY(-8px); color:var(--white); }

        .hero-btn-secondary {
            display: inline-flex; align-items: center; gap: 10px;
            background: rgba(255,255,255,.15);
            backdrop-filter: blur(10px);
            color: var(--white);
            border: 2px solid rgba(255,255,255,.4);
            padding: 18px 45px; border-radius: 50px;
            font-weight: 700; font-size: 1rem; text-decoration: none;
            transition: all .4s ease;
        }

        .hero-btn-secondary:hover {
            background: var(--white); color: var(--maroon);
            transform: translateY(-8px); border-color: var(--white);
        }

        .scroll-indicator {
            position: absolute; bottom: 40px; left: 50%;
            transform: translateX(-50%); z-index: 10;
            animation: scrollBounce 2s ease-in-out infinite;
        }

        @keyframes scrollBounce {
            0%,100% { transform:translateX(-50%) translateY(0); }
            50%     { transform:translateX(-50%) translateY(12px); }
        }

        .scroll-indicator i { font-size: 2rem; color: rgba(255,255,255,.7); }

        /* ── Stats ── */
        .stats-section { padding: 80px 0; background: var(--light-bg); }

        .stats-container {
            background: var(--white); border-radius: 20px;
            padding: 50px 30px; box-shadow: 0 10px 50px rgba(0,0,0,.1);
        }

        .stats-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 40px; }

        .stat-item {
            text-align: center; padding: 20px;
            opacity: 0; animation: fadeInScale .6s ease forwards;
        }

        .stat-item:nth-child(1){animation-delay:.2s;}
        .stat-item:nth-child(2){animation-delay:.4s;}
        .stat-item:nth-child(3){animation-delay:.6s;}
        .stat-item:nth-child(4){animation-delay:.8s;}

        @keyframes fadeInScale {
            from { opacity:0; transform:scale(.8) translateY(20px); }
            to   { opacity:1; transform:scale(1) translateY(0); }
        }

        .stat-icon {
            width:80px; height:80px;
            background:linear-gradient(135deg,var(--maroon),#8b1f28);
            border-radius:50%; margin:0 auto 20px;
            display:flex; align-items:center; justify-content:center;
            transition:all .5s cubic-bezier(.175,.885,.32,1.275);
            box-shadow:0 5px 20px rgba(112,24,31,.3);
            position:relative; overflow:hidden;
        }

        .stat-icon::before {
            content:''; position:absolute; inset:-10px;
            background:linear-gradient(45deg,var(--green),var(--maroon));
            opacity:0; transition:opacity .5s ease;
            animation:rotate 3s linear infinite;
        }

        @keyframes rotate { from{transform:rotate(0)} to{transform:rotate(360deg)} }

        .stat-item:hover .stat-icon::before { opacity:1; }
        .stat-item:hover .stat-icon {
            background:var(--green);
            transform:scale(1.15) translateY(-10px);
            box-shadow:0 15px 40px rgba(66,125,58,.5);
        }

        .stat-icon i { font-size:2.2rem; color:var(--white); position:relative; z-index:1; }
        .stat-number { font-size:2.5rem; font-weight:800; color:var(--maroon); margin-bottom:8px; }
        .stat-label  { font-size:.95rem; color:var(--text-gray); font-weight:500; }

        /* ── Section Header ── */
        .section-header { text-align:center; margin-bottom:60px; }

        .section-tag {
            display:inline-block; background:var(--maroon); color:var(--white);
            padding:8px 20px; border-radius:50px;
            font-size:13px; font-weight:600;
            text-transform:uppercase; letter-spacing:1px; margin-bottom:15px;
        }

        .section-title { font-size:clamp(2.5rem,5vw,3.5rem); font-weight:800; color:var(--black); margin-bottom:15px; }
        .section-desc  { font-size:1.1rem; color:var(--text-gray); max-width:600px; margin:0 auto; }

        /* ── Upcoming Events ── */
        .upcoming-section { padding: 80px 0; background: var(--white); }

        .events-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }

        .event-card {
            background: var(--white); border-radius: 20px; overflow: hidden;
            box-shadow: 0 5px 25px rgba(0,0,0,.09);
            transition: all .4s cubic-bezier(.175,.885,.32,1.275);
            border: 2px solid transparent; position: relative;
        }

        .event-card::before {
            content:''; position:absolute; top:0; left:0; right:0;
            height:4px;
            background:linear-gradient(90deg,var(--maroon),var(--green));
            transform:scaleX(0); transition:transform .4s ease;
        }

        .event-card:hover::before { transform:scaleX(1); }

        .event-card:hover {
            transform:translateY(-18px) scale(1.02);
            border-color:var(--maroon);
            box-shadow:0 25px 60px rgba(112,24,31,.18);
        }

        .event-image {
            height: 220px; overflow: hidden; position: relative;
        }

        .event-image img {
            width:100%; height:100%; object-fit:cover;
            transition:transform .5s ease;
        }

        .event-card:hover .event-image img { transform:scale(1.12); }

        .event-type-badge {
            position:absolute; top:18px; left:18px;
            padding:7px 16px; border-radius:30px;
            font-size:.8rem; font-weight:700; letter-spacing:.5px;
        }

        .type-reunion    { background:linear-gradient(135deg,var(--gold),#e8c060); color:var(--black); }
        .type-webinar    { background:linear-gradient(135deg,#2c5282,#3a6fa8); color:var(--white); }
        .type-award      { background:linear-gradient(135deg,var(--maroon),#8b1f28); color:var(--white); }
        .type-workshop   { background:linear-gradient(135deg,var(--green),#5fa94d); color:var(--white); }
        .type-networking { background:linear-gradient(135deg,#6b2fa0,#8e44ad); color:var(--white); }
        .type-sports     { background:linear-gradient(135deg,#c0392b,#e74c3c); color:var(--white); }

        .event-date-badge {
            position:absolute; top:18px; right:18px;
            background:rgba(0,0,0,.75);
            backdrop-filter:blur(8px);
            color:var(--white); border-radius:12px;
            padding:8px 14px; text-align:center;
        }

        .event-date-badge .day { font-size:1.5rem; font-weight:900; line-height:1; display:block; }
        .event-date-badge .month { font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:1px; }

        .event-content { padding: 25px; }

        .event-content h4 { font-size:1.3rem; font-weight:800; color:var(--black); margin-bottom:10px; }

        .event-meta { display:flex; flex-direction:column; gap:6px; margin-bottom:15px; }

        .meta-row {
            display:flex; align-items:center; gap:8px;
            font-size:.88rem; color:var(--text-gray);
        }

        .meta-row i { color:var(--maroon); font-size:.95rem; width:16px; flex-shrink:0; }

        .event-desc { font-size:.9rem; color:var(--text-gray); line-height:1.6; margin-bottom:20px; }

        .event-footer {
            display:flex; align-items:center; justify-content:space-between;
            padding-top:18px; border-top:1px solid var(--border-light);
        }

        .spots-left {
            display:flex; flex-direction:column;
        }

        .spots-count { font-size:1.2rem; font-weight:800; color:var(--maroon); }
        .spots-label { font-size:.75rem; color:var(--text-gray); }

        .register-btn {
            display:inline-flex; align-items:center; gap:7px;
            background:linear-gradient(135deg,var(--maroon),#8b1f28);
            color:var(--white); padding:11px 22px; border-radius:25px;
            font-size:.88rem; font-weight:700; text-decoration:none;
            transition:all .4s cubic-bezier(.175,.885,.32,1.275);
            position:relative; overflow:hidden;
        }

        .register-btn::before {
            content:''; position:absolute; top:50%; left:50%;
            width:0; height:0; border-radius:50%; background:var(--green);
            transform:translate(-50%,-50%);
            transition:width .6s ease,height .6s ease;
        }

        .register-btn span,
        .register-btn i { position:relative; z-index:1; }
        .register-btn:hover::before { width:200px; height:200px; }
        .register-btn:hover { transform:translateY(-4px); color:var(--white); }

        /* ── Featured Event ── */
        .featured-section { padding: 80px 0; background: var(--light-bg); }

        .featured-card {
            background: linear-gradient(135deg,var(--maroon) 0%,#8b1f28 40%,var(--green) 100%);
            background-size: 300% 300%;
            border-radius: 25px; overflow: hidden;
            box-shadow: 0 20px 60px rgba(112,24,31,.3);
            animation: gradientShift 12s ease infinite;
            position: relative;
        }

        @keyframes gradientShift {
            0%,100% { background-position: 0% 50%; }
            50%     { background-position: 100% 50%; }
        }

        .featured-card::before {
            content:''; position:absolute; top:-50%; left:-50%;
            width:200%; height:200%;
            background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);
            animation:rotateGlow 10s linear infinite;
        }

        @keyframes rotateGlow {
            from { transform:rotate(0); }
            to   { transform:rotate(360deg); }
        }

        .featured-inner {
            display:grid; grid-template-columns:1fr 1fr;
            gap:0; position:relative; z-index:1;
        }

        .featured-image {
            height:500px; overflow:hidden;
        }

        .featured-image img {
            width:100%; height:100%; object-fit:cover;
            transition:transform .5s ease;
            opacity:.85;
        }

        .featured-card:hover .featured-image img { transform:scale(1.08); }

        .featured-content {
            padding: 60px 50px;
            display:flex; flex-direction:column; justify-content:center;
        }

        .featured-tag {
            display:inline-flex; align-items:center; gap:8px;
            background:rgba(255,255,255,.2);
            backdrop-filter:blur(10px);
            color:var(--white);
            border:1px solid rgba(255,255,255,.3);
            padding:8px 20px; border-radius:30px;
            font-size:.85rem; font-weight:700;
            margin-bottom:25px; width:fit-content;
            animation:floatBadge 3s ease-in-out infinite;
        }

        .featured-tag i { color:var(--gold); }

        .featured-content h2 {
            font-size:2.8rem; font-weight:900;
            color:var(--white); line-height:1.2;
            margin-bottom:20px;
            text-shadow:0 5px 20px rgba(0,0,0,.3);
        }

        .featured-content p {
            font-size:1.05rem; color:rgba(255,255,255,.92);
            line-height:1.8; margin-bottom:30px;
        }

        .featured-details { display:flex; flex-direction:column; gap:12px; margin-bottom:35px; }

        .featured-detail {
            display:flex; align-items:center; gap:15px;
            background:rgba(255,255,255,.15);
            backdrop-filter:blur(8px);
            padding:14px 20px; border-radius:12px;
            border:1px solid rgba(255,255,255,.2);
            transition:all .3s ease;
        }

        .featured-detail:hover { background:rgba(255,255,255,.25); transform:translateX(8px); }
        .featured-detail i { font-size:1.4rem; color:var(--gold); }
        .featured-detail span { font-size:.95rem; color:var(--white); font-weight:500; }

        .featured-cta {
            display:inline-flex; align-items:center; gap:10px;
            background:var(--white); color:var(--maroon);
            padding:16px 40px; border-radius:50px;
            font-weight:800; font-size:1rem; text-decoration:none;
            box-shadow:0 10px 30px rgba(0,0,0,.2);
            transition:all .4s cubic-bezier(.175,.885,.32,1.275);
            width:fit-content; position:relative; overflow:hidden;
        }

        .featured-cta::before {
            content:''; position:absolute; top:50%; left:50%;
            width:0; height:0; border-radius:50%;
            background:linear-gradient(135deg,var(--green),#5fa94d);
            transform:translate(-50%,-50%);
            transition:width .6s ease,height .6s ease;
        }

        .featured-cta span,
        .featured-cta i { position:relative; z-index:1; transition:all .4s ease; }
        .featured-cta:hover::before { width:400px; height:400px; }
        .featured-cta:hover { transform:translateY(-5px); color:var(--white); }
        .featured-cta:hover i { animation:arrowBounce .6s ease infinite; }

        @keyframes arrowBounce {
            0%,100%{transform:translateX(5px);}
            50%{transform:translateX(10px);}
        }

        /* ── Past Events ── */
        .past-section { padding: 80px 0; background: var(--black); }

        .section-header.light .section-tag  { background:var(--white); color:var(--black); }
        .section-header.light .section-title{ color:var(--white); }
        .section-header.light .section-desc { color:rgba(255,255,255,.8); }

        .past-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; }

        .past-card {
            border-radius:15px; overflow:hidden;
            box-shadow:0 5px 20px rgba(0,0,0,.3);
            transition:all .4s cubic-bezier(.175,.885,.32,1.275);
            position:relative;
        }

        .past-card:hover { transform:translateY(-12px) scale(1.03); box-shadow:0 20px 50px rgba(0,0,0,.5); }

        .past-image { height:200px; overflow:hidden; position:relative; }

        .past-image img {
            width:100%; height:100%; object-fit:cover;
            transition:transform .5s ease; filter:brightness(.85);
        }

        .past-card:hover .past-image img { transform:scale(1.12); filter:brightness(1); }

        .past-overlay {
            position:absolute; inset:0;
            background:linear-gradient(to top,rgba(112,24,31,.95) 0%,rgba(0,0,0,.2) 60%,transparent 100%);
            display:flex; flex-direction:column; justify-content:flex-end; padding:20px;
        }

        .past-year {
            font-size:.75rem; font-weight:700;
            color:var(--gold); text-transform:uppercase;
            letter-spacing:2px; margin-bottom:6px;
        }

        .past-title { font-size:1.05rem; font-weight:700; color:var(--white); margin-bottom:6px; }

        .past-attendees {
            display:inline-flex; align-items:center; gap:5px;
            background:rgba(255,255,255,.2);
            color:var(--white); padding:4px 12px; border-radius:15px;
            font-size:.75rem; font-weight:600;
        }

        /* ── Testimonials ── */
        .testimonials-section { padding:80px 0; background:var(--white); }

        .testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }

        .testimonial-card {
            background:var(--white);
            border:2px solid var(--border-light);
            border-radius:20px; padding:35px;
            transition:all .4s cubic-bezier(.175,.885,.32,1.275);
            position:relative; overflow:hidden;
        }

        .testimonial-card::before {
            content:'';
            position:absolute; inset:0;
            background:linear-gradient(135deg,var(--maroon),var(--green));
            opacity:0; transition:opacity .4s ease;
        }

        .testimonial-card > * { position:relative; z-index:1; }

        .testimonial-card:hover::before { opacity:1; }
        .testimonial-card:hover { transform:translateY(-12px) scale(1.02); border-color:transparent; box-shadow:0 20px 60px rgba(112,24,31,.25); }

        .quote-icon { font-size:3.5rem; color:var(--maroon); line-height:1; margin-bottom:15px; transition:color .4s; }
        .testimonial-card:hover .quote-icon { color:rgba(255,255,255,.4); }

        .testimonial-text { font-size:.95rem; color:var(--text-gray); line-height:1.8; margin-bottom:25px; font-style:italic; transition:color .4s; }
        .testimonial-card:hover .testimonial-text { color:rgba(255,255,255,.95); }

        .testimonial-author { display:flex; align-items:center; gap:15px; }

        .author-avatar {
            width:55px; height:55px; border-radius:50%;
            overflow:hidden; flex-shrink:0;
            border:3px solid var(--maroon); transition:border-color .4s;
        }

        .testimonial-card:hover .author-avatar { border-color:var(--white); }
        .author-avatar img { width:100%; height:100%; object-fit:cover; }

        .author-name { font-size:1rem; font-weight:700; color:var(--black); margin-bottom:2px; transition:color .4s; }
        .testimonial-card:hover .author-name { color:var(--white); }

        .author-batch { font-size:.82rem; color:var(--text-gray); transition:color .4s; }
        .testimonial-card:hover .author-batch { color:rgba(255,255,255,.85); }

        /* ── Registration ── */
        .registration-section { padding:80px 0; background:var(--light-bg); }

        .reg-container {
            background:linear-gradient(135deg,var(--maroon) 0%,#8b1f28 25%,var(--green) 75%,#5fa94d 100%);
            background-size:400% 400%;
            border-radius:20px; padding:60px 50px;
            position:relative; overflow:hidden;
            animation:gradientAnimation 15s ease infinite;
        }

        @keyframes gradientAnimation {
            0%,100% { background-position:0% 50%; }
            50%     { background-position:100% 50%; }
        }

        .reg-container::before {
            content:''; position:absolute; top:-50%; left:-50%;
            width:200%; height:200%;
            background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);
            animation:rotateGlow 10s linear infinite;
        }

        .reg-container > * { position:relative; z-index:1; }

        .reg-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }

        .reg-info h3 { font-size:2.8rem; font-weight:800; color:var(--white); margin-bottom:20px; text-shadow:0 5px 20px rgba(0,0,0,.3); }
        .reg-info p  { font-size:1.1rem; color:rgba(255,255,255,.95); line-height:1.8; margin-bottom:30px; }

        .reg-perks { display:flex; flex-direction:column; gap:12px; }

        .perk-item {
            display:flex; align-items:center; gap:15px;
            background:rgba(255,255,255,.15); backdrop-filter:blur(8px);
            padding:16px 22px; border-radius:12px;
            border:1px solid rgba(255,255,255,.25);
            transition:all .3s ease;
        }

        .perk-item:hover { background:rgba(255,255,255,.25); transform:translateX(10px); }
        .perk-item i { font-size:1.6rem; color:var(--gold); flex-shrink:0; }
        .perk-item span { font-size:.95rem; color:var(--white); font-weight:500; }

        .reg-form-card {
            background:var(--white); border-radius:20px; padding:40px;
            box-shadow:0 20px 60px rgba(0,0,0,.2);
        }

        .reg-form-card h4 { font-size:1.8rem; font-weight:800; color:var(--maroon); margin-bottom:30px; text-align:center; }

        .form-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }

        .form-group { margin-bottom:18px; }

        .form-label { font-size:.88rem; font-weight:600; color:var(--black); margin-bottom:7px; display:block; }

        .form-control, .form-select {
            width:100%; padding:13px 17px;
            border:2px solid var(--border-light); border-radius:10px;
            font-size:.92rem; font-family:'Poppins',sans-serif;
            outline:none; transition:all .3s ease; background:var(--light-bg);
        }

        .form-control:focus, .form-select:focus {
            border-color:var(--maroon); background:var(--white);
            box-shadow:0 0 0 4px rgba(112,24,31,.1);
        }

        .submit-btn {
            width:100%; padding:16px;
            background:linear-gradient(135deg,var(--maroon),#8b1f28);
            color:var(--white); border:none; border-radius:12px;
            font-size:1.05rem; font-weight:700;
            font-family:'Poppins',sans-serif; cursor:pointer;
            transition:all .4s cubic-bezier(.175,.885,.32,1.275);
            position:relative; overflow:hidden; margin-top:5px;
        }

        .submit-btn::before {
            content:''; position:absolute; top:50%; left:50%;
            width:0; height:0; border-radius:50%; background:var(--green);
            transform:translate(-50%,-50%);
            transition:width .6s ease,height .6s ease;
        }

        .submit-btn span { position:relative; z-index:1; }
        .submit-btn:hover::before { width:500px; height:500px; }
        .submit-btn:hover { transform:translateY(-5px); box-shadow:0 15px 40px rgba(112,24,31,.4); }

        /* ── CTA ── */
        .cta-section { padding:80px 0; background:var(--green); text-align:center; }

        .cta-content h3 { font-size:clamp(2rem,5vw,3.5rem); font-weight:800; color:var(--white); margin-bottom:20px; }
        .cta-content p  { font-size:1.2rem; color:var(--white); margin-bottom:35px; }

        .cta-btn {
            display:inline-flex; align-items:center; gap:10px;
            background:var(--white); color:var(--green);
            padding:18px 45px; border-radius:50px;
            font-weight:700; font-size:1.1rem; text-decoration:none;
            transition:all .4s cubic-bezier(.175,.885,.32,1.275);
            position:relative; overflow:hidden;
            box-shadow:0 10px 30px rgba(0,0,0,.2);
        }

        .cta-btn::before {
            content:''; position:absolute; top:50%; left:50%;
            width:0; height:0; border-radius:50%;
            background:linear-gradient(135deg,var(--maroon),#8b1f28);
            transform:translate(-50%,-50%);
            transition:width .6s ease,height .6s ease;
        }

        .cta-btn span,
        .cta-btn i { position:relative; z-index:1; transition:all .4s ease; }
        .cta-btn:hover::before { width:400px; height:400px; }
        .cta-btn:hover { transform:translateY(-8px) scale(1.05); box-shadow:0 20px 50px rgba(0,0,0,.3); color:var(--white); }
        .cta-btn:hover i { animation:arrowBounce .6s ease infinite; }

        /* ── Responsive ── */
        @media (max-width:1200px) {
            .stats-grid         { grid-template-columns:repeat(2,1fr); }
            .events-grid        { grid-template-columns:repeat(2,1fr); }
            .past-grid          { grid-template-columns:repeat(2,1fr); }
            .testimonials-grid  { grid-template-columns:repeat(2,1fr); }
            .featured-inner     { grid-template-columns:1fr; }
            .featured-image     { height:350px; }
        }

        @media (max-width:768px) {
            .stats-grid         { grid-template-columns:1fr; }
            .events-grid        { grid-template-columns:1fr; }
            .past-grid          { grid-template-columns:1fr 1fr; }
            .testimonials-grid  { grid-template-columns:1fr; }
            .reg-grid           { grid-template-columns:1fr; }
            .form-row           { grid-template-columns:1fr; }
            .hero-actions       { flex-direction:column; align-items:center; }
            .reg-container      { padding:30px 20px; }
        }