:root{
    --navy:#16264a;
    --navy2:#0d1830;
    --red:#9e2a2b;
    --gold:#e0ab28;
    --cream:#f5f2ea;
    --white:#ffffff;
    --ink:#182033;
    --muted:#687085;
    --line:#dfe3ea;
    --green:#1f7a3e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    background:#eef1f5;
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif;
    -webkit-font-smoothing:antialiased;
}
.site-header{
    background:linear-gradient(135deg,var(--navy2),var(--navy));
    border-bottom:4px solid var(--red);
    color:#fff;
}
.header-inner{
    width:min(1040px,100%);
    margin:0 auto;
    padding:18px 20px;
    display:flex;
    align-items:center;
    gap:18px;
}
.header-logo{
    width:108px;
    max-height:88px;
    object-fit:contain;
    background:#fff;
    border-radius:12px;
    padding:5px;
}
.snake-logo{object-position:center}
.header-kicker{
    color:#f0c85e;
    font-size:12px;
    font-weight:900;
    letter-spacing:2px;
}
.header-title{
    margin-top:3px;
    font-size:29px;
    line-height:1.05;
    font-weight:900;
}
.header-subtitle{
    margin-top:5px;
    color:#dce3f1;
    font-size:14px;
}
.compact-header .header-inner{padding-top:12px;padding-bottom:12px}
.compact-header .header-logo{width:82px;max-height:56px}
.compact-header .header-title{font-size:23px}
.logo-link{display:block}
.page{
    width:min(1040px,100%);
    margin:0 auto;
    padding:24px 18px 60px;
}
.form-page{width:min(880px,100%)}
.admin-page{width:min(1200px,100%)}
.card,.path-card{
    background:#fff;
    border-radius:16px;
    box-shadow:0 6px 20px rgba(17,29,52,.08);
}
.card{padding:26px}
.intro-card h1{margin:0 0 8px;font-size:32px}
.lead{font-size:17px;line-height:1.55;margin:0}
.alert{
    margin-top:18px;
    padding:14px 16px;
    background:#fff4d8;
    border-left:5px solid var(--gold);
    border-radius:9px;
    line-height:1.45;
}
.small-alert{font-size:14px}
.path-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:18px;
}
.path-card{
    position:relative;
    overflow:hidden;
    padding:24px;
    border-top:6px solid var(--navy);
}
.rattlers-card{border-top-color:var(--red)}
.both-card{border-top-color:var(--gold)}
.jjwa-card{grid-column:1 / -1;border-top-color:var(--navy)}
.path-brand{
    display:flex;
    align-items:center;
    gap:14px;
}
.path-logo{
    width:95px;
    height:78px;
    object-fit:contain;
}
.path-logo.jjwa{width:115px}
.path-eyebrow{
    color:var(--red);
    font-size:11px;
    font-weight:900;
    letter-spacing:1.8px;
}
.path-card h2{
    margin:3px 0 12px;
    font-size:26px;
    line-height:1.1;
}
.price-line{display:flex;align-items:baseline;gap:9px;margin-top:12px}
.price-line strong{font-size:38px;color:var(--navy)}
.price-line span{color:var(--muted);font-weight:700}
.subprice{margin-top:3px;font-weight:700}
.feature-list{
    margin:18px 0;
    padding:0;
    list-style:none;
}
.feature-list li{
    position:relative;
    padding:7px 0 7px 27px;
    line-height:1.4;
}
.feature-list li:before{
    content:"✓";
    position:absolute;
    left:0;
    top:7px;
    width:18px;
    height:18px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#eaf0ff;
    color:var(--navy);
    font-size:12px;
    font-weight:900;
}
.practice-note{
    padding:14px;
    background:#edf5ff;
    border-radius:9px;
    border:1px solid #cddcf0;
    font-size:14px;
    line-height:1.45;
}
.form-practice-note{margin:18px 0}
.dual-logos{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:82px;
}
.dual-logo{
    width:100px;
    height:72px;
    object-fit:contain;
}
.dual-logo.jjwa{width:115px}
.plus{
    font-size:28px;
    font-weight:900;
    color:var(--gold);
}
.defer-banner{
    background:var(--navy);
    color:#fff;
    padding:14px;
    border-radius:10px;
    line-height:1.45;
}
.button{
    display:block;
    width:100%;
    margin-top:18px;
    padding:15px 18px;
    border-radius:10px;
    border:2px solid transparent;
    text-align:center;
    text-decoration:none;
    font-weight:900;
    font-size:15px;
    cursor:pointer;
}
.primary{background:var(--red);color:#fff}
.secondary-action{background:var(--navy);color:#fff}
.outline{border-color:var(--navy);color:var(--navy);background:#fff}
.reminder-card{margin-top:18px}
.reminder-card h2{margin-top:0}
.reminder-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.reminder-grid>div{
    padding:15px;
    border:1px solid var(--line);
    border-radius:10px;
}
.reminder-grid strong,.reminder-grid span{display:block}
.reminder-grid span{margin-top:6px;color:var(--muted);font-size:14px;line-height:1.4}
.site-footer{
    text-align:center;
    padding:22px;
    color:#7a8293;
    font-size:13px;
}

/* Registration form */
.registration-form{padding:26px}
.step-strip{
    display:flex;
    gap:8px;
    margin-bottom:18px;
}
.step-strip span{
    flex:1;
    text-align:center;
    padding:8px;
    border-radius:999px;
    background:#eef1f5;
    color:#80879a;
    font-size:12px;
    font-weight:800;
}
.step-strip span.active{background:#e9edf7;color:var(--navy)}
.selected-program{
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px;
    border-radius:12px;
    background:#f6f8fb;
    border:1px solid var(--line);
}
.selected-program>img{
    width:82px;
    height:62px;
    object-fit:contain;
}
.selected-program strong,.selected-program span{display:block}
.selected-program span{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.35}
.change-link{margin-left:auto;color:var(--red);font-weight:800;font-size:13px}
.mini-dual{display:flex;align-items:center;gap:5px}
.mini-dual img{width:55px;height:48px;object-fit:contain}
.mini-dual span{color:var(--gold);font-size:20px;font-weight:900}
.registration-form h2{margin:26px 0 10px;font-size:22px}
.grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
label{
    display:block;
    font-size:13px;
    font-weight:800;
}
input,select,textarea{
    width:100%;
    margin-top:6px;
    padding:12px;
    border:1px solid #ccd2dc;
    border-radius:9px;
    background:#fff;
    color:var(--ink);
    font:inherit;
}
input:focus,select:focus{
    outline:3px solid rgba(22,38,74,.12);
    border-color:var(--navy);
}
input[type=radio],input[type=checkbox]{width:auto;margin:0}
.muted{color:var(--muted);line-height:1.45}
.add-button,.lookup-button{
    border:0;
    border-radius:9px;
    cursor:pointer;
    font-weight:900;
}
.add-button{
    width:100%;
    padding:13px;
    margin-top:8px;
    background:#edf0f5;
    color:var(--navy);
}
.lookup-button{
    margin-top:12px;
    padding:9px 12px;
    background:var(--navy);
    color:#fff;
    font-size:12px;
}
.wrestler-card{
    margin-top:14px;
    padding:19px;
    border:2px solid #e4e7ed;
    border-radius:13px;
}
.wrestler-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}
.wrestler-label{
    font-size:10px;
    font-weight:900;
    color:var(--red);
    letter-spacing:1.5px;
}
.wrestler-display{margin:3px 0 0;font-size:20px}
.remove-link{
    background:none;
    border:0;
    color:#a42828;
    text-decoration:underline;
    cursor:pointer;
}
.lookup-result{margin-top:9px;font-size:13px;font-weight:700}
.good{color:var(--green)}
.bad{color:#a61f25}
.working,.info-text{color:#596174}
.new-wrestler-box{
    margin-top:12px;
    padding:11px 13px;
    background:#fff6df;
    border-radius:8px;
}
.new-wrestler-box strong,.new-wrestler-box span{display:block}
.new-wrestler-box span{font-size:12px;margin-top:3px}
.new-fields .grid{margin-top:12px}
.gear-block{
    margin-top:18px;
    padding-top:17px;
    border-top:1px solid var(--line);
}
.gear-title{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
}
.gear-title h4{margin:0;font-size:17px}
.gear-title span{color:var(--muted);font-size:12px}
.gear-grid{margin-top:11px}
.singlet-check{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin-top:16px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:9px;
}
.singlet-check strong,.singlet-check small{display:block}
.singlet-check small{font-weight:400;margin-top:3px;color:var(--muted)}
.singlet-size-wrap{max-width:250px;margin-top:10px}
.summary{
    margin-top:22px;
    padding:18px;
    background:#f8f9fb;
    border-radius:12px;
}
.summary h2{margin:0 0 8px}
.summary-row,.summary-total,.defer-total{
    display:flex;
    justify-content:space-between;
    gap:15px;
    padding:8px 0;
}
.summary-total,.defer-total{
    margin-top:7px;
    padding-top:13px;
    border-top:2px solid var(--navy);
    font-size:19px;
}
.defer-total strong{color:var(--green)}
.deferred{
    margin-top:8px;
    color:var(--green);
    font-weight:800;
    font-size:13px;
}
.choice-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.choice{
    display:flex;
    align-items:flex-start;
    gap:10px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:10px;
}
.choice strong,.choice small{display:block}
.choice small{font-weight:400;color:var(--muted);margin-top:3px}
.consent{
    margin:22px 0 0;
    display:flex;
    gap:9px;
    align-items:flex-start;
    line-height:1.4;
}

/* Success */
.success-card h1{margin-top:0}
.success-banner,.notice{
    padding:14px;
    border-radius:9px;
    line-height:1.45;
}
.success-banner{background:#e5f5e9;border-left:5px solid var(--green)}
.notice{background:#fff4d8;border-left:5px solid var(--gold)}
.receipt-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:18px;
}
.receipt-grid>div{
    padding:12px;
    border:1px solid var(--line);
    border-radius:9px;
}
.receipt-grid span,.receipt-grid strong{display:block}
.receipt-grid span{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}
.receipt-grid strong{margin-top:4px}
.clean-list{padding:0;list-style:none}
.clean-list li{
    padding:11px 0;
    border-bottom:1px solid var(--line);
}
.clean-list li strong,.clean-list li span{display:block}
.clean-list li span{font-size:13px;color:var(--muted);margin-top:3px}
.text-link{
    display:block;
    text-align:center;
    margin-top:18px;
    color:var(--navy);
    font-weight:800;
}

/* Admin */
.stat-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
}
.stat{
    padding:17px;
    background:#f5f7fa;
    border-radius:10px;
    text-align:center;
}
.stat strong,.stat span{display:block}
.stat strong{font-size:25px}
.stat span{margin-top:3px;font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:800}
.table-wrap{overflow:auto;margin-top:18px}
table{width:100%;border-collapse:collapse;min-width:850px}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:11px;text-transform:uppercase;color:#646c7d}
.badge{text-transform:uppercase;font-size:11px;font-weight:900}

@media(max-width:760px){
    .header-inner{padding:14px 14px;gap:12px}
    .header-logo{width:82px;max-height:62px}
    .header-title{font-size:23px}
    .header-subtitle{font-size:12px}
    .page{padding:14px 12px 40px}
    .card,.path-card{border-radius:13px}
    .card,.registration-form{padding:18px}
    .path-grid{grid-template-columns:1fr}
    .jjwa-card{grid-column:auto}
    .reminder-grid,.grid,.choice-grid,.receipt-grid,.stat-grid{grid-template-columns:1fr}
    .path-card{padding:19px}
    .path-card h2{font-size:23px}
    .path-logo{width:78px;height:65px}
    .path-logo.jjwa{width:100px}
    .price-line strong{font-size:34px}
    .selected-program{align-items:flex-start;flex-wrap:wrap}
    .change-link{margin-left:0;width:100%;padding-top:5px}
    .gear-title{display:block}
    .gear-title span{display:block;margin-top:4px}
    .step-strip span{font-size:10px;padding:7px 5px}
}
@media(max-width:430px){
    .header-logo{width:68px;max-height:52px}
    .header-title{font-size:20px}
    .header-kicker{font-size:10px}
    .intro-card h1{font-size:27px}
    .lead{font-size:15px}
    .path-brand{align-items:flex-start}
    .dual-logo{width:78px;height:60px}
    .dual-logo.jjwa{width:95px}
    .mini-dual img{width:45px;height:40px}
    .registration-form h2{font-size:20px}
}


.header-about{
    margin-left:auto;
    color:#fff;
    text-decoration:none;
    font-weight:900;
    font-size:13px;
    letter-spacing:1px;
    padding:10px 12px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:8px;
    white-space:nowrap;
}
.header-about:hover{background:rgba(255,255,255,.08)}
.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:18px;
}
@media(max-width:760px){
    .header-about{
        padding:8px 9px;
        font-size:11px;
    }
    .about-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
    .header-inner{flex-wrap:wrap}
    .header-copy{flex:1}
    .header-about{margin-left:0}
}

.about-intro .lead{margin-bottom:22px}
.why-box{padding:18px;margin:20px 0;background:#f5f7fb;border-left:5px solid var(--gold);border-radius:10px}
.why-box h2{margin:0 0 10px;color:var(--navy);font-size:22px}
.why-box p{margin:8px 0;line-height:1.55}
.league-comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}
.league-summary{padding:17px;border:1px solid var(--line);border-radius:10px;background:#fff}
.league-summary strong{display:block;color:var(--navy);font-size:18px;margin-bottom:7px}
.league-summary p{margin:0;line-height:1.5}
.about-bottom{margin-top:18px;padding:15px;background:#fff4d8;border-radius:9px;line-height:1.5}
@media(max-width:700px){.league-comparison{grid-template-columns:1fr}}


.jjwa-next-step{
    margin-top:20px;
    padding:20px;
    background:#f5f7fb;
    border:2px solid var(--navy);
    border-radius:12px;
}
.next-step-kicker{
    color:var(--red);
    font-size:11px;
    font-weight:900;
    letter-spacing:1.5px;
}
.jjwa-next-step h2{
    margin:5px 0 10px;
    color:var(--navy);
}
.jjwa-next-step p{
    line-height:1.5;
}


.registered-list{
    margin-top:20px;
    border-top:1px solid var(--line);
}
.registered-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 2px;
    border-bottom:1px solid var(--line);
}
.registered-row strong,
.registered-row span{display:block}
.registered-row>div>span{
    margin-top:3px;
    color:var(--muted);
    font-size:13px;
}
.program-pill{
    padding:7px 10px;
    border-radius:999px;
    background:#eef1f7;
    color:var(--navy);
    font-size:12px;
    font-weight:800;
    text-align:center;
}
.header-registered{margin-left:auto}
.header-registered + .header-about{margin-left:8px}
@media(max-width:600px){
    .registered-row{align-items:flex-start}
    .program-pill{max-width:150px}
    .header-registered{margin-left:0}
}

.practice-choice-box{
    margin-top:22px;
    padding:18px;
    background:#f7f9fc;
    border:1px solid var(--line);
    border-radius:12px;
}
.practice-choice-box h2{
    margin-top:0;
}
.practice-location-grid{
    grid-template-columns:repeat(3,1fr);
}
@media(max-width:760px){
    .practice-location-grid{
        grid-template-columns:1fr;
    }
}
