:root{
    --page-bg-1:#7b12c8;
    --page-bg-2:#a114b8;
    --page-bg-3:#f72585;

    --green:#15803d;
    --green-dark:#166534;
    --green-soft:#dcfce7;
    --green-border:#86efac;

    --white:#ffffff;
    --text:#1f2937;
    --muted:#475569;
    --nav-bg:rgba(11,16,32,.82);

    --shadow-lg:0 20px 45px rgba(15,23,42,.18);
    --shadow-md:0 12px 28px rgba(15,23,42,.14);
    --shadow-sm:0 8px 18px rgba(15,23,42,.10);

    --radius-xl:28px;
    --radius-lg:22px;
    --radius-md:16px;
    --radius-sm:12px;
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0 !important;
    min-height:100vh;
    font-family:"Poppins","Segoe UI",Tahoma,sans-serif;
    color:var(--text);
    background:
        radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 22%),
        radial-gradient(circle at top right, rgba(255,255,255,.08), transparent 18%),
        linear-gradient(135deg, var(--page-bg-1) 0%, var(--page-bg-2) 46%, var(--page-bg-3) 100%);
    background-attachment:fixed;
    line-height:1.7;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
    transition:all .2s ease;
}

/* =========================
   NAVIGATION
   ========================= */
header{
    width:100%;
}

nav{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 20px;
    background:var(--nav-bg);
    border-bottom:1px solid rgba(255,255,255,.10);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 8px 24px rgba(2,6,23,.18);
}

#homemenu,
#closehere{
    width:28px;
    height:28px;
    cursor:pointer;
    display:none;
}

#ul{
    list-style:none;
    display:flex;
    align-items:center;
    gap:8px;
    margin:0;
    padding:0;
    flex:1;
}

#ul > li{
    position:relative;
    display:block;
}

#ul > li > a{
    display:inline-flex;
    align-items:center;
    padding:10px 14px;
    border-radius:12px;
    color:#f8fafc;
    font-weight:600;
    font-size:.96rem;
}

#ul > li > a:hover,
#ul > li > a.active,
#homee{
    background:rgba(255,255,255,.10);
    color:#fff;
}

#ul ul{
    list-style:none;
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:220px;
    padding:8px;
    margin:0;
    background:#ffffff;
    border:1px solid rgba(15,23,42,.08);
    border-radius:16px;
    box-shadow:var(--shadow-md);
    z-index:1200;
}

#ul > li{
    position:relative;
}

#ul > li:hover > ul,
#ul > li:focus-within > ul{
    display:block;
}

#ul ul li a{
    display:block;
    padding:10px 12px;
    border-radius:10px;
    color:#1f2937;
    font-weight:600;
    font-size:.93rem;
}

#ul ul li a:hover{
    background:#f3f4f6;
    color:var(--green-dark);
}

#nav_img{
    display:none;
}

#nav_float{
    display:flex;
    align-items:center;
    gap:10px;
    margin-left:auto;
}

#nav_float li{
    list-style:none;
    display:flex;
    align-items:center;
    gap:6px;
}

#nav_float li span{
    color:#fff;
    font-weight:600;
}

#nav_float li a{
    display:inline-flex;
    align-items:center;
    padding:10px 14px;
    border-radius:12px;
    background:rgba(255,255,255,.08);
    color:#fff;
    font-weight:700;
}

#nav_float li a:hover{
    background:rgba(255,255,255,.16);
}

/* =========================
   MAIN ABOUT LAYOUT
   ========================= */
#cover_main{
    max-width:1180px;
    margin:120px auto 40px !important;
    padding:0 16px;
}

main{
    background:none !important;
}

#after_main{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:22px;
    padding:22px !important;
    background:rgba(255,255,255,.18) !important;
    border:4px solid var(--green) !important;
    border-radius:32px !important;
    box-shadow:var(--shadow-lg);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    margin:0 !important;
}

#after_main > div{
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding:24px 20px 26px 20px !important;
    background:rgba(255,255,255,.96) !important;
    border:2px solid rgba(22,101,52,.10);
    box-shadow:var(--shadow-md) !important;
    overflow:hidden;
    min-height:320px;
}

/* Preserve distinct original shapes */
#sub_home1{
    border-radius:28px 12px 12px 28px !important;
}

#sub_home2{
    border-radius:18px !important;
}

#sub_home3{
    border-radius:14px 26% 12% 14px !important;
}

#after_main > div::before{
    content:"";
    position:absolute;
    inset:0 auto auto 0;
    width:100%;
    height:6px;
    background:linear-gradient(90deg, var(--green), #22c55e);
}

#after_main > div h2{
    margin:0 0 18px;
    text-align:center;
    color:var(--white);
    background:linear-gradient(135deg, var(--green-dark), var(--green));
    border-radius:14px;
    padding:12px 14px;
    font-size:1.28rem;
    font-weight:800;
    letter-spacing:.2px;
    box-shadow:0 10px 18px rgba(21,128,61,.18);
}

#after_main > div p{
    margin:0;
    color:var(--text);
    font-size:1rem;
    text-align:center;
}

#after_main > div > div{
    background:none !important;
    box-shadow:none !important;
    padding:0 !important;
}

#after_main > div > div:first-of-type{
    flex:1;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 4px 0 !important;
}

#after_main > div > div:last-child{
    margin-top:26px !important;
    min-height:48px;
    background:linear-gradient(90deg, var(--green), #16a34a) !important;
    border-radius:999px !important;
    box-shadow:0 10px 16px rgba(21,128,61,.18) !important;
    opacity:.98;
}

/* decorative hidden image rows */
#after_main img[style*="height:0px"]{
    display:none !important;
}

/* =========================
   FOOTER
   ========================= */
footer{
    margin-top:26px;
    padding:0 16px 26px;
    background:none !important;
    border:none !important;
}

.footer-bottom,
footer p{
    margin:0 auto;
    max-width:1180px;
    text-align:center;
    color:#fff;
    background:rgba(11,16,32,.35);
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    padding:16px 18px;
    font-weight:600;
    box-shadow:var(--shadow-sm);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

/* =========================
   RESPONSIVE
   ========================= */
@media (max-width: 980px){
    #after_main{
        grid-template-columns:1fr;
    }

    #after_main > div{
        min-height:unset;
        border-radius:22px !important;
    }
}

@media (max-width: 860px){
    nav{
        padding:12px 14px;
        flex-wrap:wrap;
    }

    #homemenu{
        display:block;
    }

    #closehere{
        display:block;
        margin-left:auto;
        margin-bottom:10px;
    }

    #ul{
        position:fixed;
        top:0;
        left:-100%;
        width:300px;
        max-width:85vw;
        height:100vh;
        background:#ffffff;
        flex-direction:column;
        align-items:flex-start;
        gap:4px;
        padding:18px 14px;
        box-shadow:var(--shadow-lg);
        transition:left .25s ease;
        overflow-y:auto;
        z-index:1100;
    }

    #ul.show{
        left:0;
    }

    #ul > li{
        width:100%;
    }

    #ul > li > a{
        width:100%;
        color:#111827;
    }

    #ul > li > a:hover,
    #ul > li > a.active,
    #homee{
        background:#f3f4f6;
        color:var(--green-dark);
    }

    #ul ul{
        position:static;
        display:block;
        min-width:0;
        width:100%;
        margin:6px 0 0;
        padding:0 0 0 8px;
        border:none;
        box-shadow:none;
        background:transparent;
    }

    #ul ul li a{
        color:#475569;
        padding:8px 10px;
    }

    #nav_float{
        width:100%;
        justify-content:flex-end;
        flex-wrap:wrap;
    }

    #cover_main{
        margin-top:110px !important;
        padding:0 12px;
    }

    #after_main{
        padding:16px !important;
        border-radius:24px !important;
    }
}

@media (max-width: 640px){
    #nav_float{
        justify-content:flex-start;
    }

    #nav_float li a{
        padding:9px 12px;
        font-size:.92rem;
    }

    #after_main > div{
        padding:18px 16px 20px !important;
    }

    #after_main > div h2{
        font-size:1.12rem;
    }

    #after_main > div p{
        font-size:.96rem;
    }

    .footer-bottom,
    footer p{
        border-radius:14px;
        font-size:.92rem;
    }
}