*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:#18212f;background:#fff;line-height:1.6}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 22px}header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e9edf3}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;max-width:430px}.brand img{width:50px;height:50px}.nav nav,nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.nav nav a,nav>a{font-weight:650;font-size:14px}.admin{padding:8px 13px;border:1px solid #d7dee8;border-radius:8px}.hero{height:610px;position:relative;overflow:hidden;background:#111}.hero video{width:100%;height:100%;object-fit:cover;opacity:.7}.hero-overlay{position:absolute;inset:0;display:flex;align-items:center;background:linear-gradient(90deg,rgba(8,18,35,.82),rgba(8,18,35,.22))}.hero h1{font-size:clamp(38px,6vw,72px);line-height:1.05;color:#fff;margin:12px 0}.hero p{color:#eef3fa;font-size:19px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:800;color:#b87913}.btn{display:inline-block;background:#c98a1b;color:#fff;padding:13px 21px;border-radius:8px;font-weight:800;margin:8px 8px 0 0}.btn.ghost{background:transparent;border:1px solid #fff}.btn.dark{background:#17283d}.ticker{background:#182b43;color:#fff;padding:15px 20px;text-align:center;font-weight:650}.section{padding:76px 0}.alt{background:#f5f7fa}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.section h2{font-size:36px;margin:5px 0 0}.stat{display:flex;gap:10px;align-items:baseline}.stat strong{font-size:42px;color:#c98a1b}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.card,.leader{background:#fff;border:1px solid #e5e9ef;border-radius:14px;overflow:hidden;box-shadow:0 8px 25px rgba(20,40,65,.06)}.card img,.leader img{width:100%;height:170px;object-fit:cover}.card h3,.card p,.leader h3,.leader p{margin:12px 16px}.leader{text-align:center;padding-bottom:15px}.leader img{height:210px}.cta{padding:38px;background:#fff8e9;border:1px solid #f0dfb7;border-radius:18px;display:flex;justify-content:space-between;align-items:center;gap:20px}.cta h2{margin:5px 0}.form{max-width:850px;margin:55px auto;padding:32px;background:#fff;border:1px solid #e2e7ed;border-radius:15px;box-shadow:0 10px 35px #10243a0d}.form h1{margin-top:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:15px}.field.full{grid-column:1/-1}label{display:block;font-weight:700;margin-bottom:6px}input,select,textarea{width:100%;padding:12px;border:1px solid #ccd4df;border-radius:8px;font:inherit}textarea{min-height:120px}footer{background:#14253a;color:#dbe4ee;padding-top:50px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:35px}.footer-grid a{display:block;margin:7px 0}.footer-logo{width:58px}.copyright{text-align:center;border-top:1px solid #334459;padding:18px}.notice{padding:15px;border-radius:8px;background:#fff8e9;border-left:4px solid #c98a1b;margin:15px 0}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #e3e7ec;text-align:left}.pill{display:inline-block;padding:4px 9px;border-radius:99px;background:#edf3f8;font-size:12px;font-weight:700}@media(max-width:850px){.nav{align-items:flex-start;padding-top:12px;padding-bottom:12px;flex-direction:column}.hero{height:560px}.cards{grid-template-columns:1fr 1fr}.grid,.footer-grid{grid-template-columns:1fr}.cta{flex-direction:column;align-items:flex-start}.nav nav{gap:10px}.section{padding:55px 0}}@media(max-width:520px){.cards{grid-template-columns:1fr}.hero h1{font-size:42px}.section h2{font-size:30px}.brand span{font-size:13px}}
/* Homepage content carousels and expanded leadership */
.section-sub{margin:7px 0 0;color:#657386;max-width:760px}.leader-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.leader-card{background:#fff;border:1px solid #e5e9ef;border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(20,40,65,.06)}.leader-card img{display:block;width:100%;height:250px;object-fit:cover}.leader-info{padding:16px}.leader-info h3{margin:5px 0 3px;font-size:21px}.leader-info p{margin:6px 0 0;color:#687587;font-size:14px}.leader-designation{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.1px;color:#b87913}.empty-content{display:flex;align-items:center;gap:25px;padding:25px;background:#fff;border:1px dashed #ccd5e0;border-radius:16px}.empty-content img{width:170px;height:170px;object-fit:cover;border-radius:12px}.empty-content h3{margin:0 0 6px}.empty-content p{margin:0;color:#657386}.school-carousel,.achievement-carousel{position:relative;overflow:hidden;border-radius:18px;background:#101923;box-shadow:0 12px 35px rgba(20,40,65,.12)}.school-track,.achievement-track{display:flex;transition:transform .65s ease;will-change:transform}.school-slide,.achievement-slide{min-width:100%;position:relative;height:430px}.school-slide>img,.achievement-slide>img{width:100%;height:100%;object-fit:cover;display:block}.school-slide:after,.achievement-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 25%,rgba(0,0,0,.78) 100%)}.school-caption,.achievement-overlay{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px 32px;color:#fff}.school-caption h3,.achievement-overlay h3{margin:5px 0;font-size:30px}.school-caption p,.achievement-overlay p{margin:4px 0 0;color:#eef3f8;max-width:780px}.achievement-slide{height:500px}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border:1px solid rgba(255,255,255,.65);background:rgba(10,20,32,.55);color:#fff;border-radius:50%;font-size:34px;line-height:38px;cursor:pointer}.carousel-arrow.prev{left:18px}.carousel-arrow.next{right:18px}.carousel-dots{position:absolute;z-index:5;left:0;right:0;bottom:15px;display:flex;justify-content:center;gap:7px}.carousel-dots button{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:rgba(255,255,255,.55);cursor:pointer}.carousel-dots button.active{width:24px;border-radius:8px;background:#fff}.admin-panel{max-width:1180px;margin:40px auto}.admin-nav{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.admin-nav a{padding:9px 13px;border:1px solid #d7dee8;border-radius:8px;background:#fff}.admin-table img{width:70px;height:55px;object-fit:cover;border-radius:7px}.form .small{font-size:12px;color:#687587}.two-col-admin{display:grid;grid-template-columns:1fr 1fr;gap:22px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}.file-input{padding:9px;background:#f7f9fb}
@media(max-width:1000px){.leader-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.leader-grid{grid-template-columns:1fr 1fr}.school-slide{height:360px}.achievement-slide{height:390px}.school-caption,.achievement-overlay{padding:22px}.school-caption h3,.achievement-overlay h3{font-size:24px}.two-col-admin{grid-template-columns:1fr}}
@media(max-width:520px){.leader-grid{grid-template-columns:1fr}.empty-content{flex-direction:column;align-items:flex-start}.school-slide{height:330px}.achievement-slide{height:350px}.carousel-arrow{width:40px;height:40px;font-size:28px}}


/* =========================================================
   KPSHVT Professional Registration & Donation Forms
   Presentation-only enhancement: existing form fields,
   names, validation, payment flow and backend endpoints
   remain unchanged.
   ========================================================= */

body.form-page{
    background:#f6f8fb;
    color:#18212f;
}
.form-page .header{
    position:sticky;
    top:0;
    z-index:30;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(12px);
    border-bottom:1px solid #e6ebf2;
}
.form-page .header .container{
    max-width:1180px;
    margin:auto;
    padding:0 22px;
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}
.form-page .logo{
    display:flex;
    align-items:center;
    gap:10px;
    line-height:1.1;
}
.form-page .logo h1{
    margin:0;
    font-size:22px;
    letter-spacing:.5px;
    color:#17283d;
}
.form-page .logo p{
    margin:3px 0 0;
    color:#7b8797;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}
.form-page .nav ul{
    display:flex;
    align-items:center;
    gap:6px;
    list-style:none;
    padding:0;
    margin:0;
}
.form-page .nav a{
    display:inline-flex;
    align-items:center;
    padding:9px 12px;
    border-radius:8px;
    font-size:13px;
    font-weight:750;
    color:#435064;
    transition:.2s ease;
}
.form-page .nav a:hover,
.form-page .nav a.active{
    background:#fff5df;
    color:#9a680d;
}
.form-page .nav a.admin-link{
    border:1px solid #d9e0e9;
    margin-left:4px;
}
.form-page .page-title{
    position:relative;
    overflow:hidden;
    padding:68px 22px 76px;
    background:
        radial-gradient(circle at 85% 20%,rgba(201,138,27,.22),transparent 32%),
        linear-gradient(135deg,#14253a 0%,#203852 60%,#17283d 100%);
    color:#fff;
}
.form-page .page-title:after{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
    right:-80px;
    bottom:-160px;
}
.form-page .page-title .container{
    max-width:1180px;
    margin:auto;
    position:relative;
    z-index:1;
}
.form-page .page-title h2{
    margin:0 0 10px;
    font-size:clamp(34px,5vw,54px);
    line-height:1.08;
    letter-spacing:-1px;
}
.form-page .page-title p{
    margin:0;
    max-width:680px;
    color:#dbe5ef;
    font-size:17px;
}
.form-page .registration-section,
.form-page .donation-section{
    padding:48px 22px 80px;
}
.form-page .form-container{
    max-width:1180px;
    margin:-68px auto 0;
    position:relative;
    z-index:5;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:24px;
    align-items:start;
}
.form-page .form-wrapper{
    background:#fff;
    border:1px solid #e3e8ef;
    border-radius:20px;
    padding:34px;
    box-shadow:0 18px 55px rgba(16,36,58,.10);
}
.form-page .form-wrapper>h2{
    margin:0 0 7px;
    font-size:28px;
    color:#17283d;
}
.form-page .form-subtitle{
    color:#687587;
    margin:0 0 25px;
}
.form-page fieldset{
    margin:0 0 22px;
    padding:24px;
    border:1px solid #e2e7ee;
    border-radius:15px;
    background:#fbfcfe;
}
.form-page fieldset legend{
    padding:0 9px;
    color:#17283d;
    font-size:16px;
    font-weight:850;
}
.form-page .form-group{
    margin:0 0 17px;
}
.form-page .form-group:last-child{margin-bottom:0}
.form-page .form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}
.form-page label{
    display:block;
    margin-bottom:7px;
    color:#354256;
    font-size:13px;
    font-weight:800;
}
.form-page input,
.form-page select,
.form-page textarea{
    width:100%;
    border:1px solid #cfd7e2;
    border-radius:10px;
    background:#fff;
    color:#18212f;
    padding:12px 13px;
    font:inherit;
    outline:none;
    transition:border-color .2s,box-shadow .2s,background .2s;
}
.form-page input,
.form-page select{min-height:46px}
.form-page textarea{min-height:110px;resize:vertical}
.form-page input:focus,
.form-page select:focus,
.form-page textarea:focus{
    border-color:#c98a1b;
    box-shadow:0 0 0 4px rgba(201,138,27,.12);
}
.form-page input[type="file"]{
    padding:9px;
    background:#f7f9fc;
}
.form-page small{
    display:block;
    margin-top:6px;
    color:#7a8797;
    font-size:12px;
}
.form-page .checkbox-group{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}
.form-page .checkbox-label{
    display:flex;
    align-items:center;
    gap:9px;
    margin:0;
    padding:12px;
    border:1px solid #dfe5ec;
    border-radius:10px;
    background:#fff;
    font-weight:650;
    cursor:pointer;
}
.form-page .checkbox-label input{
    width:17px;
    height:17px;
    min-height:0;
    accent-color:#c98a1b;
}
.form-page .amount-display{
    margin-top:18px;
    padding:18px;
    border:1px solid #ead9ae;
    border-radius:13px;
    background:linear-gradient(135deg,#fffaf0,#fffdf8);
}
.form-page .amount-display p{
    margin:0 0 5px;
    color:#7a6a49;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.8px;
}
.form-page .amount-box{
    color:#9a680d;
    font-size:32px;
    font-weight:900;
}
.form-page .payment-info{
    padding:20px;
    border:1px solid #e0e7ef;
    border-radius:14px;
    background:#fff;
}
.form-page .payment-info>p{
    margin:0 0 18px;
    color:#59677a;
}
.form-page .upi-payment-actions{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px;
    margin:15px 0;
}
.form-page .gpay-button,
.form-page .btn-gpay{
    border:0;
    cursor:pointer;
    background:#17283d;
    color:#fff;
    padding:12px 17px;
    border-radius:9px;
    font-weight:800;
}
.form-page .gpay-button:disabled{
    opacity:.45;
    cursor:not-allowed;
}
.form-page .upi-fallback-link,
.form-page .btn-upi{
    display:inline-flex;
    padding:11px 16px;
    border:1px solid #cfd7e2;
    border-radius:9px;
    color:#34445a;
    font-weight:800;
    background:#fff;
}
.form-page .payment-help{
    margin:8px 0 0;
    color:#7a8797;
    font-size:12px;
}
.form-page .qr-code-container{
    min-height:330px;
    display:flex;
    justify-content:center;
    align-items:center;
    margin-top:18px;
    padding:18px;
    border:1px dashed #ccd6e1;
    border-radius:14px;
    background:#f8fafc;
}
.form-page .qr-code-container img{
    display:block;
    max-width:300px;
    width:100%;
    height:auto;
    border-radius:8px;
}
.form-page .form-info-sidebar{
    position:sticky;
    top:98px;
    padding:25px;
    border:1px solid #e3e8ef;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 35px rgba(20,40,65,.07);
}
.form-page .form-info-sidebar h3{
    margin:0 0 13px;
    color:#17283d;
    font-size:17px;
}
.form-page .form-info-sidebar h3:not(:first-child){
    margin-top:27px !important;
}
.form-page .form-info-sidebar ul{
    margin:0;
    padding:0;
    list-style:none;
}
.form-page .form-info-sidebar li{
    position:relative;
    padding:9px 0 9px 23px;
    border-bottom:1px solid #edf0f4;
    color:#5e6b7c;
    font-size:13px;
}
.form-page .form-info-sidebar li:before{
    content:"✓";
    position:absolute;
    left:0;
    top:9px;
    color:#c98a1b;
    font-weight:900;
}
.form-page .form-info-sidebar p{
    color:#667487;
    font-size:13px;
}
.form-page .form-actions{
    display:flex;
    align-items:center;
    gap:8px;
    padding-top:3px;
}
.form-page .form-actions .btn{
    margin:0;
    border:0;
    cursor:pointer;
}
.form-page .btn-primary{
    background:#c98a1b;
}
.form-page .btn-primary:hover{
    background:#ad7310;
}
.form-page .btn-secondary{
    background:#eef2f6;
    color:#34445a;
}
.form-page .alert{
    padding:13px 15px;
    margin:0 0 20px;
    border-radius:10px;
    font-weight:700;
}
.form-page .alert-success{
    background:#eaf7ef;
    color:#17663a;
    border:1px solid #b9e2c8;
}
.form-page .alert-error{
    background:#fff0f0;
    color:#a52626;
    border:1px solid #efc0c0;
}
.form-page .error-message{
    display:block;
    color:#b3261e;
    font-size:12px;
    margin-top:4px;
}
.form-page .membership-confirmation-note,
.form-page .donation-confirmation-notice{
    box-shadow:0 8px 24px rgba(130,90,0,.06);
}
.form-page .impact{
    padding:65px 22px;
    background:#fff;
    border-top:1px solid #e9edf3;
}
.form-page .impact .container{
    max-width:1180px;
    margin:auto;
}
.form-page .impact h2{
    text-align:center;
    margin:0 0 30px;
    font-size:32px;
    color:#17283d;
}
.form-page .impact-grid{
    max-width:1000px;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
}
.form-page .impact-item{
    padding:22px 18px;
    text-align:center;
    border:1px solid #e3e8ef;
    border-radius:14px;
    background:#fbfcfe;
}
.form-page .impact-item h4{
    margin:0 0 7px;
    color:#c98a1b;
    font-size:24px;
}
.form-page .impact-item p{
    margin:0;
    color:#687587;
    font-size:12px;
}
.form-page .footer{
    background:#14253a;
    color:#dbe4ee;
    padding:45px 22px 0;
}
.form-page .footer .container{
    max-width:1180px;
    margin:auto;
}
.form-page .footer-content{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;
    padding-bottom:30px;
}
.form-page .footer h4{margin:0 0 10px;color:#fff}
.form-page .footer p{color:#b9c7d5;font-size:13px}
.form-page .footer ul{list-style:none;padding:0;margin:0}
.form-page .footer li{margin:7px 0;font-size:13px}
.form-page .footer-bottom{
    border-top:1px solid #334459;
    text-align:center;
    padding:17px 0;
    font-size:12px;
    color:#aebccc;
}
@media(max-width:900px){
    .form-page .form-container{grid-template-columns:1fr;margin-top:-45px}
    .form-page .form-info-sidebar{position:static}
    .form-page .impact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
    .form-page .header .container{
        align-items:flex-start;
        flex-direction:column;
        padding-top:13px;
        padding-bottom:13px;
    }
    .form-page .nav ul{flex-wrap:wrap}
    .form-page .page-title{padding:52px 22px 65px}
    .form-page .registration-section,
    .form-page .donation-section{padding:35px 15px 55px}
    .form-page .form-wrapper{padding:20px}
    .form-page fieldset{padding:18px}
    .form-page .form-row,
    .form-page .checkbox-group{grid-template-columns:1fr}
    .form-page .impact-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
    .form-page .nav a{padding:7px 8px;font-size:12px}
    .form-page .page-title h2{font-size:34px}
    .form-page .form-wrapper>h2{font-size:24px}
    .form-page .form-actions{flex-direction:column;align-items:stretch}
    .form-page .form-actions .btn{width:100%;text-align:center}
    .form-page .upi-payment-actions{flex-direction:column;align-items:stretch}
    .form-page .gpay-button,
    .form-page .upi-fallback-link{justify-content:center;text-align:center}
}
