@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');
:root{--ink:#18233b;--blue:#183b68;--gold:#c89b45;--cream:#f7f4ee;--white:#fff;--muted:#687385;--line:#e3e5e8}
*{box-sizing:border-box}

html{
    scroll-behavior:smooth
}

body{
    margin:0;
    color:var(--ink);
    font:16px/1.65 'DM Sans',sans-serif
}

.container{
    width:min(1120px,92%);
    margin:auto
}

.site-header{
    position:sticky;
    top:0;
    z-index:10;
    background:#fff;
    border-bottom:1px solid var(--line)
}

.nav{
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

.brand{
    display:flex;
    gap:10px;
    align-items:center;
    color:var(--ink);
    text-decoration:none;
    font-size:18px;
    line-height:1.1
}

.brand-mark{
    display:grid;
    place-items:center;
    background:var(--blue);
    color:#fff;
    width:42px;
    height:42px;
    border-radius:50%;
    font-family:serif
}

.brand small{
    display:block;
    color:var(--muted);
    font-size:10px;
    margin-top:4px
}

nav{
    display:flex;
    align-items:center;
    gap:20px
}

nav a{
    color:var(--ink);
    text-decoration:none;
    font-size:14px;
    font-weight:600
}

.nav-cta,.btn{
    background:var(--blue);
    color:#fff!important;
    padding:11px 18px;
    border-radius:4px
}

.menu-toggle{
    display:none;
    border:0;
    background:none;
    font-size:26px
}

.hero{
    padding:92px 0;
    background:linear-gradient(115deg,#f7f4ee 0%,#edf1f6 55%,#dce7f0 100%)
}

.hero-grid,.two-col,.form-layout{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:55px;
    align-items:center
}

.eyebrow,.section-kicker{
    text-transform:uppercase;
    letter-spacing:2px;
    font-size:12px;
    font-weight:700;
    color:#cb5b11
}

h1,h2,h3{
    font-family:'Playfair Display',serif;
    line-height:1.18
}

h1{
    font-size:clamp(42px,6vw,72px);
    margin:12px 0
}

h1 em{
    color:var(--blue);
    font-style:normal
}

.hero-sub{
    font-size:22px;
    color:var(--gold);
    font-weight:700
}

.lead{
    font-size:18px;
    max-width:700px
}

.hero-actions{
    display:flex;
    gap:14px;
    margin-top:28px
}

.btn{
    display:inline-block;
    border:0;
    text-decoration:none;
    font-weight:700;
    cursor:pointer
}

.nav-cta-light{
    background:#fff;
    color:var(--blue)!important;
    padding:11px 18px;
    border:1px solid var(--blue);
    border-radius:4px
}

.btn-light{
    background:#fff;
    color:var(--blue)!important;
    border:1px solid var(--blue)
}

.event-card,.info-panel,.payment-card{
    background:#fff;
    padding:32px;
    box-shadow:0 14px 45px #17243b14
}

.date-badge{
    display:flex;
    gap:14px;
    align-items:center
}

.date-badge strong{
    font-size:55px;
    color:var(--blue);
    line-height:1
}

.date-badge span{
    font-weight:700;
    color:#cb5b11
}

.event-card a{
    color:var(--blue);
    font-weight:700
}

.section{
    padding:82px 0
}

.section-tint,.partners{
    background:var(--cream)
}

.partners{
    padding:35px 0
}

.partner-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:15px
}

.partner-grid div{
    font-weight:700;
    padding:10px;
    border-left:2px solid var(--gold)
}

.partner-grid small,.note{
    color:var(--muted)
}

.info-panel li{
    margin:9px 0
}

.theme-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px
}

.theme-grid div,.person{
    background:#fff;
    padding:22px;
    border:1px solid var(--line);
    border-radius:4px
}

.section-dark{
    background:var(--blue);
    color:#fff
}

.light{
    color:#e5bd70
}

.date-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px
}

.date-grid div{
    border:1px solid #ffffff40;
    padding:24px
}

.date-grid span{
    display:block;
    color:#e5bd70;
    font-weight:700;
    font-size:20px
}

.date-grid b{
    display:block;
    margin:8px 0
}

.date-grid small{
    color:#ccd5e0
}

.people-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.person small{
    color:#cb5b11;
    font-weight:700
}

.person h3{
    margin:7px 0
}

.person p{
    margin:0;
    color:var(--muted)
}

details{
    margin-top:25px;
    background:var(--cream);
    padding:20px
}

summary{
    cursor:pointer;
    font-weight:700
}

.committee-text{
    padding-top:10px
}

.table-wrap{
    overflow:auto;
    background:#fff
}

table{
    border-collapse:collapse;
    width:100%;
    min-width:700px
}

th,td{
    padding:18px;
    border:1px solid var(--line);
    text-align:left
}

th{
    background:var(--blue);
    color:#fff
}

.programme{
    border-top:1px solid var(--line)
}

.programme div{
    display:grid;
    grid-template-columns:220px 1fr;
    padding:18px;
    border-bottom:1px solid var(--line)
}

.programme b{
    color:var(--blue)
}

.registration-section{
    background:linear-gradient(180deg,#f7f4ee,#fff)
}

.registration-form{
    background:#fff;
    padding:28px;
    box-shadow:0 10px 40px #17243b12
}

.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px
}

label{
    font-size:13px;
    font-weight:700
}

input,select,textarea{
    width:100%;
    margin-top:6px;
    padding:11px;
    border:1px solid #ccd2da;
    border-radius:3px;
    font:inherit
}

.full{
    grid-column:1/-1
}

textarea{
    min-height:80px
}

.consent{
    display:block;
    margin:18px 0
}

.consent input{
    width:auto;
    margin-right:8px
}

.btn-wide{
    width:100%;
    font-size:16px
}

.payment-card{
    margin-top:24px
}

footer{
    background:#101a2c;
    color:#d8dce3;
    padding:45px 0 15px
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px
}

.footer-grid b{
    color:#fff
}

.footer-grid p{
    margin-top:8px
}

.footer-grid a{
    color:#e5bd70
}

.copyright{
    border-top:1px solid #ffffff1c;
    padding-top:15px;
    font-size:13px;
    margin-top:25px;
    display:grid;
    grid-template-columns:repeat(2,1fr);
}

@media(max-width:850px){
    nav{
        display:none;
        position:absolute;
        top:76px;
        left:0;
        right:0;
        background:#fff;
        padding:20px;
        flex-direction:column;
        align-items:flex-start
    }

    nav.open{
        display:flex
    }

    .menu-toggle{
        display:block
    }

    .hero-grid,.two-col,.form-layout{
        grid-template-columns:1fr
    }

    .partner-grid{
        grid-template-columns:1fr 1fr
    }

    .theme-grid,.people-grid{
        grid-template-columns:1fr 1fr
    }

    .date-grid{
        grid-template-columns:1fr 1fr
    }
}

@media(max-width:560px){
    .hero{
        padding:60px 0
    }

    .section{
        padding:60px 0
    }

    .partner-grid,.theme-grid,.people-grid,.date-grid,.form-grid,.footer-grid{
        grid-template-columns:1fr
    }

    .programme div{
        grid-template-columns:1fr;
        gap:6px
    }
}

.designer{
    text-align:center;
    color:#fff;
}

.text-light{
    color:rgb(216,220,227);
    font-weight:bold;
}

#qrcode{
    width:250;
    height:250px;
}

table.neft-table{
    border-bottom: 1px solid #eee;
    padding:5px;
    width:auto;
    border-top:2px solid black;
    border-bottom:2px solid black
}

table.neft-table tr td{
    padding:5px;
    text-align:left;
}

table.neft-table tr:nth-child(even){
    background:#efefef
}

