/* ZERO1 GRANDSLAM 2026 */
.zg2026{
    --zg-black:#161616;
    --zg-gold:#d7a61f;
    --zg-gold2:#f0c84d;
    --zg-purple:#7b2c7f;
    --zg-gray:#f5f5f3;
    --zg-line:#e7e3dc;
    color:#222;
}
.zg2026-hero{
    padding:clamp(48px,7vw,96px) 0 clamp(54px,7vw,90px);
    background:
        radial-gradient(circle at 20% 8%,rgba(240,200,77,.18),transparent 28%),
        radial-gradient(circle at 80% 12%,rgba(123,44,127,.09),transparent 30%),
        linear-gradient(180deg,#fff 0%,#faf8f2 100%);
}
.zg2026-eyebrow{
    margin:0 0 12px;
    text-align:center;
    font-weight:700;
    letter-spacing:.04em;
}
.zg2026-title{
    max-width:940px;
    margin:0 auto;
    text-align:center;
    font-size:clamp(2rem,1.35rem + 2.2vw,3.6rem);
    line-height:1.28;
    letter-spacing:.01em;
}
.zg2026-hero-grid{
    display:grid;
    grid-template-columns:minmax(260px,36%) 1fr;
    gap:clamp(34px,6vw,82px);
    max-width:1040px;
    margin:clamp(40px,5vw,66px) auto 0;
}
.zg2026-logo-wrap{
    display:flex;
    align-items:center;
    justify-content:center;
}
.zg2026-logo-wrap img{
    display:block;
    width:min(100%,330px);
    height:auto;
}
.zg2026-intro{
    padding:clamp(24px,3vw,36px);
    /* border:1px solid var(--zg-line); */
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.055);
    line-height:1.95;
}
.zg2026-intro p{margin:0}
.zg2026-intro p+p{margin-top:1em}
.zg2026-organizer{
    color:#666;
    font-size:.86em;
    line-height:1.7;
}
.zg2026-event-info{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    max-width:860px;
    margin:30px auto 0;
}
.zg2026-info-card{
    padding:20px 24px;
    text-align:center;
    border-radius:12px;
    background:var(--zg-black);
    color:#fff;
}
.zg2026-info-label{
    display:block;
    margin-bottom:7px;
    color:var(--zg-gold2);
    font-size:.75em;
    font-weight:700;
    letter-spacing:.16em;
}
.zg2026-info-card strong{
    font-size:clamp(1.05rem,.96rem + .35vw,1.3rem);
    line-height:1.55;
}
.zg2026 .block{
    border-top:1px solid var(--zg-line);
}
.zg2026-section-head{
    display:flex;
    align-items:flex-end;
    gap:22px;
    margin-bottom:clamp(28px,4vw,46px);
}
.zg2026-section-no{
    flex:0 0 auto;
    color:var(--zg-gold);
    font-size:clamp(3rem,4.5vw,4.7rem);
    font-weight:800;
    line-height:.9;
    letter-spacing:-.04em;
}
.zg2026-kicker{
    margin:0 0 5px;
    color:var(--zg-purple);
    font-size:.9em;
    font-weight:700;
    letter-spacing:.18em;
}
.zg2026-section-head h2,
.zg2026-cta h2{
    margin:0;
    font-size:clamp(1.55rem,1.25rem + 1vw,2.25rem);
    line-height:1.45;
}
.zg2026-lead{
    max-width:900px;
    margin:0 0 30px;
    line-height:1.95;
}
.zg2026-photo-pair{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
}
.zg2026-photo-pair img{
    display:block;
    width:100%;
    aspect-ratio:3/2;
    object-fit:cover;
    border-radius:12px;
    box-shadow:0 10px 24px rgba(0,0,0,.07);
}
.zg2026-games{
    background:#f7f6f2;
}
.zg2026-game-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(24px,3vw,38px);
}
.zg2026-game-card{
    overflow:hidden;
    border-radius:16px;
    background:#fff;
    border:1px solid var(--zg-line);
    box-shadow:0 12px 30px rgba(0,0,0,.055);
}
.zg2026-game-image{
    aspect-ratio:16/9;
    overflow:hidden;
    background:#111;
}
.zg2026-game-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.zg2026-game-body{
    padding:clamp(22px,3vw,32px);
}
.zg2026-game-type{
    margin:0 0 8px;
    color:var(--zg-purple);
    font-size:.78em;
    font-weight:800;
    letter-spacing:.14em;
}
.zg2026-game-body h3{
    margin:0 0 14px;
    font-size:clamp(1.18rem,1.05rem + .42vw,1.48rem);
    line-height:1.55;
}
.zg2026-game-body p:last-child{
    margin:0;
    line-height:1.9;
}
.zg2026-person{
    display:grid;
    grid-template-columns:minmax(240px,34%) 1fr;
    gap:clamp(30px,5vw,66px);
    align-items:center;
    padding:clamp(30px,4vw,50px) 0;
    border-bottom:1px solid var(--zg-line);
}
.zg2026-person:last-child{border-bottom:0}
.zg2026-person-reverse{
    grid-template-columns:1fr minmax(240px,34%);
}
.zg2026-person-reverse .zg2026-person-photo{order:2}
.zg2026-person-reverse .zg2026-person-body{order:1}
.zg2026-person-photo{
    overflow:hidden;
    border-radius:14px;
    background:#f4f4f4;
}
.zg2026-person-photo img{
    display:block;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
}
.zg2026-person-role{
    margin:0 0 7px;
    color:var(--zg-purple);
    font-weight:700;
}
.zg2026-person-body h3{
    margin:0 0 16px;
    font-size:clamp(1.25rem,1.1rem + .45vw,1.55rem);
}
.zg2026-person-body p:last-child{
    margin:0;
    line-height:1.95;
}
.zg2026-cta{
    background:linear-gradient(135deg,#171717,#26211b);
    color:#fff;
}
.zg2026-cta-box{
    max-width:880px;
    margin:0 auto;
    text-align:center;
}
.zg2026-cta .zg2026-kicker{
    color:var(--zg-gold2);
}
.zg2026-cta p:not(.zg2026-kicker){
    margin:20px 0 0;
    line-height:1.8;
    color:#ddd;
}
.zg2026-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:260px;
    min-height:56px;
    margin-top:28px;
    padding:.9em 1.7em;
    border-radius:999px;
    background:linear-gradient(90deg,#c99712,#e8c150);
    color:#111 !important;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 8px 22px rgba(0,0,0,.2);
}
.zg2026-button:after{
    content:"→";
    margin-left:.8em;
}
.zg2026-button:hover,
.zg2026-button:focus{
    color:#111 !important;
    opacity:.9;
    text-decoration:none;
}

@media(max-width:767px){
    .zg2026-hero{
        padding-top:34px;
        padding-bottom:52px;
    }
    .sp-none{display:none}
    .zg2026-hero-grid,
    .zg2026-event-info,
    .zg2026-photo-pair,
    .zg2026-game-grid,
    .zg2026-person,
    .zg2026-person-reverse{
        display:block;
    }
    .zg2026-logo-wrap{
        margin-bottom:24px;
    }
    .zg2026-logo-wrap img{
        width:min(72vw,270px);
    }
    .zg2026-intro{
        padding:20px;
    }
    .zg2026-info-card+.zg2026-info-card{
        margin-top:12px;
    }
    .zg2026-section-head{
        gap:14px;
        align-items:center;
        margin-bottom:22px;
    }
    .zg2026-section-no{
        font-size:3rem;
    }
    .zg2026-photo-pair img+img{
        margin-top:16px;
    }
    .zg2026-game-card+.zg2026-game-card{
        margin-top:20px;
    }
    .zg2026-person{
        padding:28px 0;
    }
    .zg2026-person-photo{
        margin-bottom:20px;
    }
    .zg2026-person-reverse .zg2026-person-photo,
    .zg2026-person-reverse .zg2026-person-body{
        order:initial;
    }
}

/* Hero intro emphasis */
.zg2026-intro-copy{
    font-size:1em;
    line-height:1.9;
}
.zg2026-emphasis{
    color:var(--zg-purple);
    font-size:1.5em;
    font-weight:800;
}
.zg2026-intro-copy strong{
    color:var(--zg-black);
    font-size:1.06em;
    font-weight:800;
}
.zg2026-final-line{
    margin-top:16px !important;
    padding-top:15px;
    border-top:1px solid var(--zg-line);
    line-height:1.8;
}
.zg2026-final-tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-right:.7em;
    padding:.32em .82em;
    border-radius:999px;
    background:var(--zg-purple);
    color:#fff;
    font-size:.76em;
    font-weight:800;
    letter-spacing:.12em;
    vertical-align:.08em;
}
.zg2026-date-emphasis{
    color:var(--zg-gold);
    font-size:1.18em;
    font-weight:800;
}
@media(max-width:767px){
    .zg2026-intro-copy br{
        display:none;
    }
    .zg2026-final-tag{
        margin-bottom:.35em;
    }
}

