/* KDA_PUBLIC_LANDING_V1320 */

:root{
    --green-950:#062d20;
    --green-900:#073b28;
    --green-800:#075033;
    --green-700:#0b6842;
    --green-100:#eaf4ee;
    --green-50:#f5f9f6;
    --gold:#c5a13b;
    --ink:#15251d;
    --muted:#64736b;
    --line:#dce6df;
    --white:#ffffff;
    --shadow:0 16px 42px rgba(7,59,40,.09);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:#fff;
    color:var(--ink);
    font-family:Inter,Segoe UI,Arial,sans-serif;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
}

a{
    color:inherit;
}

.site-header{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(255,255,255,.97);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(12px);
}

.site-bar{
    width:min(1180px,calc(100% - 36px));
    min-height:76px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.brand{
    display:flex;
    align-items:center;
    gap:11px;
    text-decoration:none;
    min-width:0;
}

.brand img{
    width:48px;
    height:48px;
    object-fit:contain;
}

.brand span{
    min-width:0;
}

.brand strong{
    display:block;
    color:var(--green-900);
    font-size:14px;
    line-height:1.15;
    letter-spacing:.2px;
}

.brand small{
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-size:9px;
    font-weight:700;
    letter-spacing:.85px;
    text-transform:uppercase;
}

.site-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:4px;
    flex-wrap:wrap;
}

.site-nav a{
    padding:9px 11px;
    border-radius:8px;
    color:#3f5047;
    font-size:12px;
    font-weight:750;
    text-decoration:none;
}

.site-nav a:hover{
    color:var(--green-800);
    background:var(--green-50);
}

.site-nav .nav-login{
    margin-left:5px;
    padding-left:15px;
    padding-right:15px;
    background:var(--green-800);
    color:#fff;
}

.site-nav .nav-login:hover{
    color:#fff;
    background:var(--green-900);
}

.hero{
    background:
        radial-gradient(circle at 86% 18%,rgba(197,161,59,.18) 0 70px,transparent 71px),
        radial-gradient(circle at 88% 16%,transparent 0 105px,rgba(255,255,255,.055) 106px 107px,transparent 108px),
        linear-gradient(125deg,var(--green-950),var(--green-700));
    color:#fff;
}

.hero-inner{
    width:min(1180px,calc(100% - 36px));
    min-height:510px;
    margin:auto;
    padding:70px 0;
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
    align-items:center;
    gap:70px;
}

.hero-kicker,
.section-kicker{
    color:var(--gold);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.5px;
}

.hero h1{
    max-width:720px;
    margin:14px 0 18px;
    color:#fff;
    font-size:clamp(38px,5.2vw,68px);
    line-height:1.02;
    letter-spacing:-2.2px;
}

.hero-copy>p{
    max-width:620px;
    margin:0;
    color:#d5e3da;
    font-size:16px;
}

.hero-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:30px;
}

.btn{
    min-height:44px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 17px;
    border:1px solid transparent;
    border-radius:9px;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
    cursor:pointer;
}

.btn.primary{
    background:var(--gold);
    color:#2d2715;
}

.btn.primary:hover{
    filter:brightness(1.04);
}

.btn.light{
    border-color:rgba(255,255,255,.3);
    background:rgba(255,255,255,.08);
    color:#fff;
}

.btn.outline{
    border-color:#cadbd1;
    background:#fff;
    color:var(--green-800);
}

.btn.compact{
    min-height:36px;
    padding:7px 11px;
}

.hero-service-card{
    padding:13px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px;
    background:rgba(255,255,255,.08);
    box-shadow:0 24px 60px rgba(0,0,0,.13);
    backdrop-filter:blur(12px);
}

.service-title{
    padding:6px 8px 11px;
    color:#d9e7de;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.hero-service-card>a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 13px;
    border-top:1px solid rgba(255,255,255,.1);
    color:#fff;
    text-decoration:none;
    font-size:12px;
}

.hero-service-card>a:hover{
    background:rgba(255,255,255,.06);
}

.hero-service-card>a strong{
    color:#efcb62;
    font-size:11px;
}

.section{
    width:min(1180px,calc(100% - 36px));
    margin:auto;
    padding:74px 0;
}

.section-soft{
    width:100%;
    max-width:none;
    padding-left:max(18px,calc((100% - 1180px)/2));
    padding-right:max(18px,calc((100% - 1180px)/2));
    background:var(--green-50);
}

.section-head{
    margin-bottom:25px;
}

.section-head.split{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
}

.section h2{
    margin:7px 0 0;
    color:var(--green-950);
    font-size:30px;
    letter-spacing:-.7px;
}

.text-link{
    color:var(--green-800);
    font-size:12px;
    font-weight:850;
    text-decoration:none;
}

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

.service-card{
    min-height:225px;
    padding:23px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
    text-decoration:none;
    transition:.18s ease;
}

.service-card:hover{
    transform:translateY(-2px);
    border-color:#bdd3c6;
    box-shadow:var(--shadow);
}

.service-number{
    color:var(--gold);
    font-size:11px;
    font-weight:900;
    letter-spacing:.8px;
}

.service-card h3{
    margin:30px 0 9px;
    color:var(--green-900);
    font-size:18px;
}

.service-card p{
    min-height:48px;
    margin:0 0 25px;
    color:var(--muted);
    font-size:13px;
}

.service-card span{
    color:var(--green-700);
    font-size:12px;
    font-weight:850;
}

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

.tournament-card{
    padding:20px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
}

.tournament-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.tag{
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    background:var(--green-100);
    color:var(--green-800);
    font-size:9px;
    font-weight:900;
    letter-spacing:.5px;
}

.tournament-date{
    color:var(--muted);
    font-size:11px;
    font-weight:750;
}

.tournament-card h3{
    margin:17px 0 8px;
    color:var(--green-950);
    font-size:18px;
}

.tournament-meta{
    min-height:42px;
    color:var(--muted);
    font-size:12px;
}

.tournament-actions{
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin-top:18px;
}

.closed-label{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:7px 10px;
    border-radius:8px;
    background:#eef1ef;
    color:#7a857f;
    font-size:11px;
    font-weight:800;
}

.empty-state{
    grid-column:1/-1;
    padding:30px;
    border:1px dashed #c8d6cd;
    border-radius:12px;
    color:var(--muted);
    text-align:center;
    background:#fff;
}

.verify-panel{
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(350px,1.1fr);
    gap:60px;
    align-items:center;
    padding:38px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:var(--shadow);
}

.verify-copy h2{
    margin-top:7px;
}

.verify-copy p{
    max-width:470px;
    margin:10px 0 0;
    color:var(--muted);
    font-size:13px;
}

.verify-form label{
    display:block;
    margin-bottom:7px;
    color:#526158;
    font-size:10px;
    font-weight:900;
    letter-spacing:.4px;
    text-transform:uppercase;
}

.verify-control{
    display:flex;
    gap:8px;
}

.verify-control input{
    min-width:0;
    flex:1;
    height:46px;
    padding:0 13px;
    border:1px solid #cbd8d0;
    border-radius:9px;
    outline:none;
    font:inherit;
    font-size:13px;
}

.verify-control input:focus{
    border-color:var(--green-700);
    box-shadow:0 0 0 3px rgba(11,104,66,.1);
}

.verify-control button{
    min-width:100px;
    border:0;
    border-radius:9px;
    background:var(--green-800);
    color:#fff;
    font-weight:850;
    cursor:pointer;
}

.form-error{
    margin-top:7px;
    color:#a12828;
    font-size:11px;
}

.portal-grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
}

.portal-card{
    min-height:120px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff;
}

.portal-card strong{
    display:block;
    color:var(--green-900);
    font-size:13px;
}

.portal-card span{
    display:block;
    margin-top:9px;
    color:var(--muted);
    font-size:11px;
    line-height:1.45;
}

.portal-action{
    margin-top:22px;
}

.site-footer{
    border-top:1px solid var(--line);
    background:var(--green-950);
    color:#d8e4dc;
}

.footer-inner{
    width:min(1180px,calc(100% - 36px));
    min-height:100px;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.footer-inner strong{
    display:block;
    color:#fff;
    font-size:13px;
}

.footer-inner span{
    display:block;
    margin-top:3px;
    color:#91a99b;
    font-size:10px;
}

.footer-links{
    display:flex;
    gap:16px;
    flex-wrap:wrap;
}

.footer-links a{
    color:#c4d6cb;
    font-size:11px;
    text-decoration:none;
}

@media(max-width:980px){
    .hero-inner{
        grid-template-columns:1fr;
        gap:35px;
        padding:58px 0;
    }

    .hero-service-card{
        max-width:620px;
    }

    .service-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .tournament-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .portal-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .verify-panel{
        grid-template-columns:1fr;
        gap:25px;
    }
}

@media(max-width:720px){
    .site-bar{
        padding:11px 0;
        align-items:flex-start;
        flex-direction:column;
    }

    .site-nav{
        width:100%;
        justify-content:flex-start;
    }

    .site-nav a{
        padding:7px 8px;
    }

    .site-nav .nav-login{
        margin-left:0;
    }

    .hero-inner{
        min-height:0;
        padding:46px 0;
    }

    .hero h1{
        font-size:40px;
        letter-spacing:-1.3px;
    }

    .section{
        padding-top:52px;
        padding-bottom:52px;
    }

    .section-head.split{
        align-items:flex-start;
        flex-direction:column;
    }

    .service-grid,
    .tournament-grid,
    .portal-grid{
        grid-template-columns:1fr;
    }

    .service-card{
        min-height:0;
    }

    .service-card h3{
        margin-top:18px;
    }

    .service-card p{
        min-height:0;
    }

    .verify-panel{
        padding:25px 20px;
    }

    .verify-control{
        flex-direction:column;
    }

    .verify-control button{
        min-height:44px;
    }

    .footer-inner{
        padding:25px 0;
        align-items:flex-start;
        flex-direction:column;
    }
}


/* KDA_SELF_REGISTRATION_V1330 */
.public-flash-wrap{
    width:min(1180px,calc(100% - 36px));
    margin:18px auto 0;
}
.public-flash{
    padding:12px 15px;
    border:1px solid #bcd8c7;
    border-radius:10px;
    background:#edf8f1;
    color:#155a38;
    font-size:12px;
    font-weight:800;
}
.public-form-shell{
    width:min(900px,calc(100% - 36px));
    margin:auto;
    padding:58px 0 72px;
}
.public-form-head{
    margin-bottom:20px;
}
.public-form-head h1{
    margin:7px 0 7px;
    color:var(--green-950);
    font-size:34px;
    letter-spacing:-.8px;
}
.public-form-head p{
    margin:0;
    color:var(--muted);
    font-size:13px;
}
.public-form-card{
    padding:28px;
    border:1px solid var(--line);
    border-radius:15px;
    background:#fff;
    box-shadow:var(--shadow);
}
.public-form-card .fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.public-form-card label{
    display:block;
    margin-bottom:6px;
    color:#526158;
    font-size:10px;
    font-weight:900;
    letter-spacing:.35px;
    text-transform:uppercase;
}
.public-form-card input,
.public-form-card select,
.public-form-card textarea{
    width:100%;
    min-height:44px;
    padding:9px 11px;
    border:1px solid #cad8cf;
    border-radius:8px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    font-size:13px;
    outline:none;
}
.public-form-card input:focus,
.public-form-card select:focus,
.public-form-card textarea:focus{
    border-color:var(--green-700);
    box-shadow:0 0 0 3px rgba(11,104,66,.09);
}
.public-form-section{
    margin-top:25px;
    padding-top:22px;
    border-top:1px solid var(--line);
}
.public-form-section h2{
    margin:0 0 14px;
    font-size:18px;
}
.public-form-note{
    margin-top:18px;
    padding:10px 12px;
    border-radius:8px;
    background:var(--green-50);
    color:#526158;
    font-size:11px;
}
.public-form-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:20px;
}
.public-error{
    margin-bottom:14px;
    padding:12px 14px;
    border:1px solid #efc3c3;
    border-radius:9px;
    background:#fff2f2;
    color:#8d2828;
    font-size:12px;
}
.public-error ul{
    margin:0 0 0 18px;
    padding:0;
}
@media(max-width:720px){
    .public-form-card{
        padding:20px 16px;
    }
    .public-form-card .fields{
        grid-template-columns:1fr;
    }
}
