/* ===== Jagali shared layer: unified nav, new sections, responsive ===== */
html{-webkit-text-size-adjust:100%}
img,video,svg{max-width:100%}
body{overflow-x:hidden}
.back-to-top,.announce-bar,.hero-scroll,.exh-scroll-hint,.scroll-hint,.live-ticker,.vcs-marquee-wrap,.nav-time,.audio-bars{display:none!important}
body.jg-page,body.jg-page a,body.jg-page button{cursor:auto!important}
/* nav: same on every page */
.site-nav .nav-right{gap:16px}
.site-nav .nav-social-icon{display:inline-flex;align-items:center;justify-content:center;font-size:17px;color:var(--nav-text-on-hero,#fff);opacity:.8;transition:color .3s,opacity .3s}
.site-nav .nav-social-icon:hover{color:var(--gold);opacity:1}
.site-nav .brand-name img{display:block;height:auto}
.site-nav[data-mode="white"] .nav-social-icon{color:var(--gold)}
.site-nav .nav-link.active span,.site-nav .nav-link.active em{color:var(--gold)}
.site-nav .nav-link.active b{width:100%}
.overlay-socials a i{margin-right:6px}
@media(max-width:900px){.site-nav .nav-menu{display:none}.site-nav .nav-hamburger{display:flex}.site-nav .nav-cta{padding:9px 14px}}
@media(max-width:420px){.site-nav .nav-cta{display:none}.site-nav .brand-name img{width:80px!important}}
/* founder (simple) */
.founder-simple{margin-top:20px;max-width:60ch}
.founder-simple p{font-size:1.05rem;line-height:1.75;margin:0 0 .9rem;color:var(--dark-muted)}
.founder-simple .founder-cta{display:inline-block;margin-top:8px}
/* video logo cover */
.gp2-vid{position:relative}
.vid-wm{position:absolute;right:10px;bottom:10px;width:54px;height:54px;object-fit:contain;padding:8px;background:rgba(16,11,7,.92);border-radius:50%;z-index:6;pointer-events:none}
/* generic page blocks for new pages */
.jg-wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.jg-hero{position:relative;padding:calc(var(--nav-h) + 70px) 0 80px;background:radial-gradient(120% 90% at 80% 0%,#3d1d10 0%,var(--dark-bg) 60%);overflow:hidden}
.jg-hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(2.2rem,6vw,4.6rem);line-height:1.08;color:var(--dark-text);margin:0 0 18px}
.jg-hero h1 em{font-style:normal;color:var(--gold-bright)}
.jg-hero p{max-width:60ch;font-size:1.1rem;color:var(--dark-muted);line-height:1.7}
.jg-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,5vw,70px);align-items:center}
.jg-hero-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid rgba(196,154,82,.35)}
.jg-sec{padding:clamp(56px,8vw,110px) 0;background:var(--dark-bg)}
.jg-sec.alt{background:var(--dark-bg2)}
.jg-h{font-family:var(--f-display);font-weight:400;font-size:clamp(1.8rem,4vw,3.1rem);line-height:1.12;color:var(--dark-text);margin:0 0 16px}
.jg-h em{font-style:normal;color:var(--gold-bright)}
.jg-lead{max-width:62ch;color:var(--dark-muted);font-size:1.08rem;line-height:1.75;margin:0 0 36px}
.jg-text p{max-width:66ch;color:var(--dark-muted);font-size:1.05rem;line-height:1.8;margin:0 0 1rem}
.jg-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
.jg-split img{width:100%;border:1px solid rgba(196,154,82,.3)}
.jg-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.jg-card{background:var(--dark-bg3);border:1px solid rgba(196,154,82,.18);padding:26px 24px;transition:border-color .3s,transform .3s}
.jg-card:hover{border-color:var(--gold);transform:translateY(-4px)}
.jg-card h3{font-family:var(--f-display);font-weight:400;color:var(--gold-bright);font-size:1.4rem;margin:0 0 8px}
.jg-card p{color:var(--dark-muted);font-size:.98rem;line-height:1.65;margin:0}
.jg-card a.more{display:inline-block;margin-top:12px;color:var(--gold);font-size:.95rem}
.jg-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
.jg-num{text-align:center;padding:24px 10px;border:1px solid rgba(196,154,82,.2);background:var(--dark-bg3)}
.jg-num b{display:block;font-family:var(--f-display);font-weight:400;font-size:clamp(2.2rem,4.5vw,3.6rem);color:var(--gold-bright);line-height:1}
.jg-num span{display:block;margin-top:8px;color:var(--dark-muted);font-size:.9rem}
.jg-steps{display:grid;gap:22px;max-width:760px}
.jg-step{border-left:2px solid var(--gold);padding:2px 0 2px 22px}
.jg-step h3{font-family:var(--f-display);font-weight:400;color:var(--gold-bright);font-size:1.5rem;margin:0 0 6px}
.jg-step p{color:var(--dark-muted);line-height:1.7;margin:0;font-size:1.05rem}
.jg-quote{font-family:var(--f-display);font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.35;color:var(--dark-text);max-width:30ch;margin:0 0 10px}
.jg-chips{display:flex;flex-wrap:wrap;gap:10px}
.jg-chips span{border:1px solid var(--gold-dim);color:var(--dark-text);padding:8px 18px;border-radius:40px;font-size:.95rem}
.jg-btn{display:inline-block;background:var(--gold);color:#1a0e06;padding:13px 28px;font-size:1rem;letter-spacing:.5px;transition:background .3s}
.jg-btn:hover{background:var(--gold-bright)}
.jg-btn.ghost{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.jg-btn.ghost:hover{background:var(--gold);color:#1a0e06}
.jg-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:22px}
.jg-cta{text-align:center;padding:clamp(56px,8vw,100px) var(--pad);background:linear-gradient(135deg,var(--maroon),#4a1010);color:#fff}
.jg-cta h2{font-family:var(--f-display);font-weight:400;font-size:clamp(1.8rem,4vw,3rem);margin:0 0 12px}
.jg-cta p{max-width:56ch;margin:0 auto 24px;line-height:1.7}
.jg-cert img{width:100%;max-width:520px;border:1px solid var(--gold);background:var(--dark-bg3);min-height:160px}
/* gallery */
.gl-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.gl-filters button{background:transparent;border:1px solid var(--gold-dim);color:var(--dark-text);padding:9px 20px;border-radius:40px;font:inherit;font-size:.95rem;cursor:pointer;transition:all .3s}
.gl-filters button:hover,.gl-filters button.on{background:var(--gold);color:#1a0e06;border-color:var(--gold)}
.gl-grid{columns:4 260px;column-gap:16px}
.gl-item{break-inside:avoid;margin:0 0 16px;position:relative;overflow:hidden;background:var(--dark-bg3);cursor:zoom-in}
.gl-item img,.gl-item video{display:block;width:100%;height:auto;transition:transform .6s var(--ease)}
.gl-item:hover img{transform:scale(1.05)}
.gl-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(transparent,rgba(10,6,3,.88));color:#fff;font-size:.9rem;opacity:0;transition:opacity .3s}
.gl-item:hover figcaption,.gl-item:focus-within figcaption{opacity:1}
.gl-item.hide{display:none}
.gl-lb{position:fixed;inset:0;z-index:1000000;background:rgba(8,5,3,.95);display:none;align-items:center;justify-content:center;padding:20px}
.gl-lb.open{display:flex}
.gl-lb img{max-width:92vw;max-height:84vh;object-fit:contain}
.gl-lb button{position:absolute;background:rgba(16,11,7,.7);border:1px solid var(--gold);color:var(--gold-bright);width:46px;height:46px;border-radius:50%;font-size:26px;cursor:pointer;line-height:1}
.gl-lb .x{top:18px;right:18px}.gl-lb .p{left:14px;top:50%}.gl-lb .n{right:14px;top:50%}
.gl-lb p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:var(--dark-muted)}
/* events: tabs + schools */
.ev-tabs{position:sticky;top:var(--nav-h-sm,68px);z-index:60;display:flex;gap:10px;overflow-x:auto;padding:12px var(--pad);background:rgba(16,11,7,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(196,154,82,.2);scrollbar-width:none}
.ev-tabs::-webkit-scrollbar{display:none}
.ev-tabs a{flex:none;border:1px solid var(--gold-dim);color:var(--dark-text);padding:8px 18px;border-radius:40px;font-size:.95rem;transition:all .3s}
.ev-tabs a:hover,.ev-tabs a.hl{background:var(--gold);color:#1a0e06;border-color:var(--gold)}
#schools,#corporate,#weddings,#birthdays,#special,#achievements,#annualday{scroll-margin-top:120px}
.ev-schools{padding:clamp(56px,8vw,100px) 0;background:linear-gradient(180deg,#2a1208,var(--dark-bg2))}
/* ===== responsive ===== */
@media(max-width:900px){
 .jg-hero-grid,.jg-split{grid-template-columns:1fr}
 .jg-hero-grid img{aspect-ratio:4/3;max-height:420px}
 .hero-typewriter{margin-left:0!important;white-space:normal!important}
 .hero-body{right:0!important}
 .hero{min-height:620px}
 .ev-inner,.ec-inner,.about-inner,.kala-head,.gp2-head{grid-template-columns:1fr!important}
}
@media(max-width:600px){
 .jg-wrap{padding:0 5vw}
 .gl-grid{columns:2 140px;column-gap:10px}
 .gl-item{margin-bottom:10px}
 .jg-btn{width:100%;text-align:center}
 table{display:block;overflow-x:auto}
}
.kmc-section{display:block!important;max-width:1180px;margin:0 auto}
.kb-grid{display:none!important}
.kmc-wrap{display:block!important}
.kmc-slide img{width:100%;height:100%;object-fit:cover}
@media(min-width:992px){.kmc-slide{aspect-ratio:16/8}.kmc-slide .slide-bg,.kmc-slide .slide-bg img{height:100%}}
@media(min-width:1700px){html{font-size:20px}:root{--pad:7vw}.jg-wrap{max-width:1500px}}
@media(min-width:2200px){html{font-size:24px}.jg-wrap{max-width:1900px}.kmc-section{max-width:1500px}}
@media(min-width:3000px){html{font-size:30px}.jg-wrap{max-width:2400px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.site-nav,.site-nav.announce-gone{top:0!important}

/* nav fit: never overlap at any width */
.site-nav .nav-brand{flex:none}
.site-nav .nav-right{flex:none}
.site-nav .nav-cta{white-space:nowrap;flex:none}
.site-nav .nav-menu{min-width:0;flex-wrap:nowrap;gap:clamp(16px,2vw,44px)}
.site-nav .nav-link span,.site-nav .nav-link em{white-space:nowrap;font-size:clamp(11px,.9vw,15px);letter-spacing:clamp(1px,.16vw,3px)}
.site-nav .nav-social-icon{display:none}
@media(min-width:1500px){.site-nav .nav-social-icon{display:inline-flex}}
@media(max-width:1180px){.site-nav .nav-cta{padding:9px 14px;letter-spacing:2px}.site-nav .nav-sep{display:none}}
/* answer-first blocks, tables, steps, faq */
.jg-answer{background:var(--dark-bg3);border:1px solid var(--gold);border-left:5px solid var(--gold);padding:22px 26px;max-width:900px}
.jg-answer strong{display:block;color:var(--gold-bright);letter-spacing:2px;text-transform:uppercase;font-size:.8rem;margin-bottom:8px}
.jg-answer p{margin:0;color:var(--dark-text);font-size:1.12rem;line-height:1.7}
.jg-tablewrap{overflow-x:auto}
.jg-table{width:100%;border-collapse:collapse;min-width:560px}
.jg-table th,.jg-table td{text-align:left;padding:14px 16px;border-bottom:1px solid rgba(196,154,82,.2);color:var(--dark-muted);font-size:1rem}
.jg-table th{color:var(--gold-bright);font-weight:400;letter-spacing:1px}
.jg-table td:first-child{color:var(--dark-text)}
.jg-ol{max-width:760px;padding-left:22px;color:var(--dark-muted);font-size:1.08rem;line-height:1.8}
.jg-ol li{margin-bottom:10px}.jg-ol strong{color:var(--gold-bright);font-weight:400}
.jg-q{max-width:860px;padding:18px 0;border-bottom:1px solid rgba(196,154,82,.18)}
.jg-q h3{font-family:var(--f-display);font-weight:400;color:var(--gold-bright);font-size:clamp(1.15rem,2vw,1.45rem);margin:0 0 8px}
.jg-q p{margin:0;color:var(--dark-muted);font-size:1.05rem;line-height:1.75}
