*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:#12362c;background:#fff;font:15px/1.6 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);border-bottom:1px solid #dcebe0;backdrop-filter:blur(16px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1240px;margin:auto;padding:12px 24px}.brand{display:flex;align-items:center;gap:10px;color:#064e3b}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover}.brand span{display:grid;line-height:1.05}.brand b{font-size:12px;letter-spacing:.1em}.brand small{margin-top:5px;font-size:10px;color:#6b8176}nav{display:flex;align-items:center;gap:22px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#466257}nav a:hover{color:#087f5b}.menu-btn{display:none;border:0;background:transparent;font-size:24px;color:#064e3b}.hero{overflow:hidden;background:radial-gradient(circle at 84% 20%,rgba(244,183,60,.4),transparent 17rem),linear-gradient(125deg,#eaf8ef,#f7fae9)}.hero-inner{display:flex;align-items:center;justify-content:space-between;gap:50px;max-width:1240px;min-height:610px;margin:auto;padding:80px 24px}.kicker{margin:0 0 12px;color:#087f5b;font-size:11px;font-weight:800;letter-spacing:.24em}.hero h1{margin:0;color:#064e3b;font:700 clamp(48px,8vw,96px)/.82 'Cormorant Garamond',serif}.hero h1 em{color:#087f5b;font-style:normal}.hero-tagline{margin:28px 0 0;color:#064e3b;font:700 30px/1.1 'Cormorant Garamond',serif;font-style:italic}.hero-copy{color:#627a6e;font-size:16px}.actions{display:flex;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:12px;border:1px solid transparent;font-size:12px;font-weight:800;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.primary{color:#fff;background:#087f5b;box-shadow:0 8px 20px #087f5b33}.outline{color:#087f5b;background:#fff;border-color:#b7d8c5}.hero-badge{display:grid;place-items:center;width:300px;height:300px;border-radius:50%;color:#f4b73c;background:linear-gradient(145deg,#064e3b,#0b6b4f);box-shadow:0 25px 50px #064e3b44}.badge-ring{display:grid;place-items:center;width:158px;height:158px;overflow:hidden;border:7px solid white;border-radius:38%;background:#fff;box-shadow:0 0 0 14px #ffffff1f}.badge-ring img{width:100%;height:100%;object-fit:cover}.hero-badge strong{margin-top:-4px;font:700 34px/1 'Cormorant Garamond',serif}.hero-badge span{font-size:22px;font-weight:800;letter-spacing:.2em}.hero-badge small{font-size:9px;letter-spacing:.2em;color:#d1fae5}.section{max-width:1240px;margin:auto;padding:90px 24px}.section h2{margin:0;color:#064e3b;font:700 clamp(40px,5vw,66px)/.9 'Cormorant Garamond',serif}.section-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.about p,.section-head>p:last-child{color:#627a6e;line-height:1.9}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px}.theme-grid div{padding:15px;border:1px solid #dcebe0;border-radius:16px;background:#f0fbf3;color:#e6ad2e;font-size:11px;font-weight:800}.theme-grid strong{display:block;margin-top:18px;color:#064e3b;font:700 24px/1 'Cormorant Garamond',serif}.days{max-width:none;padding-left:max(24px,calc((100vw - 1192px)/2));padding-right:max(24px,calc((100vw - 1192px)/2));background:#064e3b;color:white}.days .section-head h2{color:white}.days .kicker{color:#f4b73c}.day-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}.day-grid article{min-height:280px;padding:24px;border:1px solid #b9efd033;border-radius:26px;background:#ffffff0d}.day-grid article b{color:#f4b73c;font-size:12px;letter-spacing:.14em}.day-grid article span{display:block;margin-top:38px;color:#b9efd0;font-size:30px}.day-grid h3{margin:15px 0 0;color:white;font:700 34px/.9 'Cormorant Garamond',serif}.day-grid p{color:#d1fae5;font-size:13px}.events-section{background:#fbfefb}.section-head{margin-bottom:25px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0}.filter{padding:9px 15px;border:1px solid #cfe4d5;border-radius:999px;background:white;color:#466257;font-size:12px;font-weight:800;cursor:pointer}.filter.active{color:white;background:#087f5b;border-color:#087f5b}.event-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #dcebe0;border-radius:24px;background:#fff;box-shadow:0 15px 35px #064e3b12}.event-art{height:150px;width:100%;object-fit:cover}.event-body{display:flex;flex:1;flex-direction:column;padding:20px}.event-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#087f5b;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.badge{padding:4px 8px;border-radius:999px;color:#087f5b;background:#eaf8ef;letter-spacing:.08em}.event-card h3{margin:12px 0 6px;color:#064e3b;font:700 31px/.9 'Cormorant Garamond',serif}.event-info{margin:0;color:#627a6e;font-size:13px}.card-actions{display:flex;gap:8px;margin-top:auto;padding-top:18px}.card-actions .btn{flex:1;font-size:11px}.rules-section{background:#eef9f0}.rules-layout{display:grid;grid-template-columns:270px 1fr;gap:22px;margin-top:25px}.rules-layout aside{display:grid;align-content:start;gap:16px;padding:20px;border-radius:20px;background:#dff3e5}.rules-layout label,.status-form label,.registration-form label{display:grid;gap:6px;color:#12362c;font-size:12px;font-weight:800}.rules-layout select,.status-form input,.registration-form input,.registration-form select{width:100%;padding:12px;border:1px solid #c8ded0;border-radius:10px;background:#fff;outline:none}.rules-layout article{min-height:290px;padding:28px;border-radius:22px;background:#fff;box-shadow:0 15px 35px #064e3b12}.rules-layout article h3{margin:0;color:#064e3b;font:700 42px/.9 'Cormorant Garamond',serif}.facts{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.fact{padding:10px 13px;border-radius:12px;background:#f0f8f2;color:#466257;font-size:12px}.rule-list{padding-left:20px;color:#466257;font-size:13px;line-height:1.8}.disqualification{margin-top:25px;padding:28px;border-radius:22px;color:#fff;background:#064e3b}.disqualification h3{margin:0;color:#f4b73c;font:700 31px 'Cormorant Garamond',serif}.disqualification p{display:inline-block;margin:10px 8px 0 0;padding:8px 12px;border:1px solid #ffffff22;border-radius:999px;color:#d1fae5;font-size:12px}.disqualification blockquote{margin:24px 0 0;padding-left:18px;border-left:3px solid #f4b73c;color:#fff;font:600 22px/1.3 'Cormorant Garamond',serif}.registration-section{background:#fff}.registration-panel{max-width:900px;margin-top:25px;padding:28px;border:1px solid #dcebe0;border-radius:24px;box-shadow:0 15px 35px #064e3b12}.empty-state{color:#627a6e}.registration-form{display:grid;gap:18px}.registration-form h3{margin:0;color:#064e3b;font:700 34px 'Cormorant Garamond',serif}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.team-member{padding:18px;border-radius:16px;background:#f0f8f2}.team-members{display:grid;gap:12px}.error{color:#a51d2d;font-size:12px;font-weight:700}.notice{padding:15px;border-radius:12px;background:#fff8dd;color:#795100;font-size:13px}.success{padding:24px;border-radius:18px;background:#e6f8e9;color:#135b32}.status-section{background:#f5fbf6}.status-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;max-width:900px}.status-result{max-width:900px;margin-top:20px;padding:22px;border:1px solid #cfe4d5;border-radius:20px;background:#fff}.contact{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact p{color:#466257;line-height:1.9}.muted{color:#82968b!important;font-size:13px}footer{display:flex;justify-content:space-between;gap:15px;padding:22px max(24px,calc((100vw - 1192px)/2));color:#b9efd0;background:#032b22;font-size:11px;font-weight:700;letter-spacing:.08em}.toast{position:fixed;right:20px;bottom:20px;z-index:50;max-width:320px;padding:13px 17px;border-radius:12px;color:#fff;background:#064e3b;box-shadow:0 12px 30px #0003;opacity:0;transform:translateY(12px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:900px){.hero-inner{min-height:auto;padding:70px 24px}.hero-badge{width:230px;height:230px}.badge-ring{width:125px;height:125px}.day-grid,.event-grid{grid-template-columns:repeat(2,1fr)}.section-grid{gap:30px}.status-form{grid-template-columns:1fr 1fr}.status-form button{grid-column:1/-1}.rules-layout{grid-template-columns:1fr}}@media(max-width:640px){.header-inner{padding:10px 16px}.menu-btn{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px 16px;background:#fff;border-bottom:1px solid #dcebe0}nav.open{display:flex}nav a{padding:11px}.hero-inner,.section-grid,.contact{grid-template-columns:1fr;display:grid}.hero-inner{gap:30px;padding:55px 18px}.hero-badge{justify-self:center}.section{padding:58px 18px}.day-grid,.event-grid,.theme-grid,.form-grid,.status-form{grid-template-columns:1fr}.day-grid article{min-height:220px}.rules-layout article h3{font-size:34px}footer{flex-direction:column;padding:20px 18px}}
.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:#032b2277;backdrop-filter:blur(8px)}.modal{position:relative;max-width:720px;max-height:90vh;overflow:auto;padding:30px;border-radius:24px;background:#fff;box-shadow:0 30px 70px #0005}.modal h2{margin:0;color:#064e3b;font:700 50px/.9 'Cormorant Garamond',serif}.modal h3{margin:24px 0 8px;color:#064e3b;font:700 28px 'Cormorant Garamond',serif}.modal h3,.modal p,.modal li{color:#466257}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#064e3b;font-size:28px;cursor:pointer}.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px;padding-top:18px;border-top:1px solid #dcebe0;color:#087f5b;font-weight:800}@media(max-width:640px){.modal h2{font-size:38px}.modal-footer{align-items:stretch;flex-direction:column}}
.brand img{display:none}.hero-badge{position:relative;display:grid;place-items:center;width:300px;height:300px;border:1px solid #f4b73c77;border-radius:50%;color:#f4b73c;background:radial-gradient(circle at 32% 24%,#1b9e70,#064e3b 58%,#032b22 100%);box-shadow:inset 18px 20px 30px #ffffff22,inset -24px -25px 34px #001c1466,0 25px 50px #064e3b44;transform:rotateX(8deg) rotateY(-10deg);isolation:isolate}.hero-badge:before,.hero-badge:after{content:'';position:absolute;border:1px solid #f4b73c88;border-radius:50%;transform:rotateX(70deg) rotateZ(22deg);pointer-events:none}.hero-badge:before{width:355px;height:90px}.hero-badge:after{width:385px;height:120px;transform:rotateX(70deg) rotateZ(-27deg);border-color:#b9efd055}.badge-ring{display:grid;place-items:center;width:176px;height:176px;border:7px solid #f4b73c;border-radius:50%;background:linear-gradient(145deg,#0c7958,#032b22);box-shadow:inset 10px 12px 18px #ffffff22,inset -10px -12px 18px #001c1455,0 0 0 12px #ffffff14;transform:translateZ(20px)}.hero-badge strong{display:block;margin:0;color:#fff;text-shadow:4px 5px 0 #032b22,0 0 18px #f4b73c99;font:700 68px/.7 'Cormorant Garamond',serif;letter-spacing:.04em}.hero-badge span{display:block;margin-top:14px;color:#f4b73c;font-size:25px;font-weight:800;letter-spacing:.27em}.hero-badge small{position:absolute;bottom:46px;font-size:9px;font-weight:800;letter-spacing:.2em;color:#d1fae5}.hero-badge i{position:absolute;right:51px;top:56px;font-style:normal;color:#f4b73c;font-size:12px}.mini-3d-mark{display:grid!important;width:48px;height:48px;place-items:center;border:2px solid #f4b73c;border-radius:50%;color:#f4b73c;background:radial-gradient(circle at 35% 25%,#1aa06e,#064e3b 68%);box-shadow:inset 4px 5px 9px #ffffff55,inset -6px -8px 12px #001c1455,0 6px 14px #064e3b33;transform:rotateX(10deg) rotateY(-12deg)}.mini-3d-mark b{font:700 18px/.8 'Cormorant Garamond',serif;letter-spacing:.04em}.mini-3d-mark small{margin:4px 0 0!important;color:#fff;font-size:7px;letter-spacing:.16em}
.payment-day{border-color:#f4b73c99!important;background:linear-gradient(145deg,#7c4214cc,#ffffff0d)!important}.payment-badge{position:absolute;right:20px;top:20px;padding:5px 8px;border-radius:999px;color:#603b00;background:#f4b73c;font-size:9px;font-weight:800;letter-spacing:.08em}.payment-note{display:block;margin-top:10px;color:#ffe8a6;font-size:11px;font-weight:700}.payment-banner{display:flex;flex-wrap:wrap;gap:12px;align-items:center;max-width:760px;margin-top:20px;padding:14px 17px;border:1px solid #f4b73c88;border-radius:14px;color:#6a4800;background:#fff8dd;font-size:13px}.payment-banner b{color:#a26100;font-size:11px;letter-spacing:.1em}
.day-grid .payment-badge{display:inline-block;margin:0;color:#603b00;font-size:9px}.day-grid .day-icon{display:block;margin-top:38px;color:#b9efd0;font-size:30px}
.countdown-card{display:flex;align-items:center;gap:22px;max-width:620px;margin-top:28px;padding:15px 18px;border:1px solid #087f5b33;border-radius:18px;background:#ffffffaa;box-shadow:0 10px 24px #064e3b12}.countdown-card b{display:block;color:#087f5b;font-size:10px;letter-spacing:.12em}.countdown-card span{display:block;margin-top:3px;color:#064e3b;font-size:12px;font-weight:800}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;min-width:300px}.countdown strong{padding:7px 4px;border-radius:8px;color:#fff;background:#064e3b;text-align:center;font-size:20px;line-height:1}.countdown small{grid-column:1/-1;color:#627a6e;font-size:8px;font-weight:800;letter-spacing:.08em;text-align:center}.day-grid article time{display:block;margin-top:8px;color:#f4b73c;font-size:11px;font-weight:800;letter-spacing:.1em}@media(max-width:640px){.countdown-card{align-items:stretch;flex-direction:column;gap:12px}.countdown{min-width:0}.countdown-card span{font-size:11px}}.institution-logo{display:flex;align-items:center;justify-content:center;width:150px;height:55px;overflow:hidden;border-radius:10px;background:#fff}.institution-logo img{display:block!important;width:100%;height:100%;object-fit:contain}.left-logo img{object-fit:cover}.right-logo img{padding:4px}.header-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{justify-self:center}.right-logo{justify-self:end}.left-logo{justify-self:start}@media(max-width:700px){.institution-logo{width:72px;height:42px}.brand span:last-child{display:none}.mini-3d-mark{width:42px;height:42px}.left-logo img{object-fit:cover}.header-inner{gap:8px}}
.header-inner{display:grid;grid-template-columns:180px 1fr 180px;align-items:center;max-width:1240px}.brand{justify-self:center}.right-logo{justify-self:end}.left-logo{justify-self:start}.institution-logo{display:flex;align-items:center;justify-content:center;width:150px;height:58px;overflow:hidden;border-radius:10px;background:#fff}.institution-logo img{display:block!important;width:100%;height:100%;object-fit:contain}.left-logo img{object-fit:cover}.right-logo img{padding:4px}.mini-3d-mark{display:grid!important;width:50px;height:50px;place-items:center;border:2px solid #f4b73c;border-radius:50%;color:#f4b73c;background:radial-gradient(circle at 35% 25%,#1aa06e,#064e3b 68%);box-shadow:inset 4px 5px 9px #ffffff55,inset -6px -8px 12px #001c1455,0 6px 14px #064e3b33}.day-logo{display:grid!important;width:62px;height:62px;place-items:center;margin-top:30px!important;border:2px solid #b9efd0;border-radius:50%;color:#fff!important;background:radial-gradient(circle at 30% 25%,#2dbb86,#064e3b);box-shadow:inset 5px 6px 10px #ffffff33,inset -6px -7px 12px #001c1455,0 8px 18px #001c1444;font-size:30px!important;line-height:1!important}.music-logo{border-color:#8be0bb;background:radial-gradient(circle at 30% 25%,#159b68,#064e3b)}.art-logo{border-color:#e5b1ff;background:radial-gradient(circle at 30% 25%,#a15bd1,#4a166f)}.tech-logo{border-color:#82dcff;background:radial-gradient(circle at 30% 25%,#248ab6,#073b58);font-size:19px!important}.fun-logo{border-color:#ffd477;background:radial-gradient(circle at 30% 25%,#d78b2d,#6f320d)}.event-art-wrap{position:relative;height:150px;overflow:hidden;background:linear-gradient(135deg,#064e3b,#0b6b4f)}.event-art-wrap .event-art{display:block;height:100%;width:100%;object-fit:cover}.art-fallback-title{display:none;position:absolute;inset:0;place-items:center;padding:20px;color:#fff;text-align:center;font:700 30px/.9 'Cormorant Garamond',serif}.event-art-wrap.art-fallback .art-fallback-title{display:grid}@media(max-width:900px){.header-inner{grid-template-columns:110px 1fr 110px}.institution-logo{width:100px;height:52px}}@media(max-width:640px){.header-inner{grid-template-columns:72px 1fr 72px;gap:6px}.institution-logo{width:66px;height:42px}.right-logo img{padding:2px}.brand{gap:0}.brand span:last-child{display:none}.mini-3d-mark{width:44px;height:44px}.day-logo{width:54px;height:54px}}

/* Final clear institutional and NGK logo treatment */
.header-inner{min-height:82px;grid-template-columns:190px minmax(230px,1fr) 190px}
.institution-logo{width:172px;height:66px;padding:6px;border:1px solid #dcebe0;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(6,78,59,.10)}
.institution-logo img,.left-logo img,.right-logo img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important}
.brand{gap:12px;white-space:nowrap}
.brand>span:last-child{display:grid!important}
.brand>span:last-child b{font-size:13px;letter-spacing:.12em}
.brand>span:last-child small{font-size:10px;color:#087f5b}
.mini-3d-mark{width:58px;height:58px;border-width:3px;flex:0 0 auto;transform:none;box-shadow:inset 5px 6px 10px #ffffff66,inset -7px -8px 13px #001c1466,0 7px 16px #064e3b33}
.mini-3d-mark b{font-size:21px;line-height:.8;text-shadow:1px 2px 0 #032b22}
.mini-3d-mark small{font-size:8px!important;line-height:1!important}
.hero-badge{transform:none}
.badge-ring{width:188px;height:188px;transform:none}
.hero-badge strong{font-size:76px!important;line-height:.78!important;letter-spacing:.05em;white-space:nowrap}
.hero-badge span{font-size:27px!important;line-height:1!important;white-space:nowrap}
@media(max-width:900px){.header-inner{grid-template-columns:130px minmax(170px,1fr) 130px}.institution-logo{width:118px;height:56px}.brand>span:last-child b{font-size:11px}.mini-3d-mark{width:50px;height:50px}.hero-badge{width:250px;height:250px}.badge-ring{width:160px;height:160px}.hero-badge strong{font-size:60px!important}.hero-badge span{font-size:22px!important}}
@media(max-width:640px){.header-inner{grid-template-columns:78px 1fr 78px;min-height:66px}.institution-logo{width:74px;height:44px;padding:3px}.brand{gap:0;justify-self:center}.brand>span:last-child{display:none!important}.mini-3d-mark{width:48px;height:48px}.hero-badge{width:230px;height:230px}.badge-ring{width:148px;height:148px}.hero-badge strong{font-size:52px!important}.hero-badge span{font-size:19px!important}.hero-badge small{bottom:35px;font-size:8px}}
.hero-badge:before,.hero-badge:after{display:none!important}.hero-badge{border:2px solid #f4b73c;background:radial-gradient(circle at 30% 25%,#159b68,#064e3b 62%,#032b22 100%);box-shadow:inset 14px 16px 25px #ffffff24,inset -18px -20px 28px #001c1466,0 22px 42px #064e3b44}.badge-ring{width:190px;height:190px;border:0;border-radius:50%;background:transparent;box-shadow:none;transform:none}.hero-badge strong{font-size:78px!important;text-shadow:3px 4px 0 #032b22,0 0 15px #f4b73c99}.hero-badge span{font-size:28px!important;text-shadow:2px 2px 0 #032b22}.hero-badge small{bottom:30px}.hero-badge i{display:none}@media(max-width:900px){.badge-ring{width:164px;height:164px}.hero-badge strong{font-size:62px!important}.hero-badge span{font-size:23px!important}}@media(max-width:640px){.badge-ring{width:150px;height:150px}.hero-badge strong{font-size:54px!important}.hero-badge span{font-size:20px!important}}
.hero{position:relative;background:radial-gradient(circle at 50% 2%,rgba(244,183,60,.28),transparent 18rem),linear-gradient(135deg,#e9f8ef 0%,#f8f9e9 52%,#d9f0df 100%)}.hero:after{content:'';position:absolute;left:50%;bottom:-90px;width:760px;height:180px;border:1px solid #087f5b22;border-radius:50%;transform:translateX(-50%);pointer-events:none}.hero-inner{display:block;min-height:720px;padding:70px 24px 90px}.hero-content{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;max-width:920px;margin:0 auto;text-align:center}.hero-content .hero-badge{margin-bottom:34px}.hero-content .kicker{margin-bottom:16px}.hero-content h1{font-size:clamp(56px,9vw,108px)}.hero-content .hero-tagline{margin-top:24px}.hero-content .hero-copy{max-width:700px}.hero-content .actions{justify-content:center}.hero-content .countdown-card{margin-top:30px;text-align:left}.hero-content .hero-badge{width:280px;height:280px}.hero-content .badge-ring{width:182px;height:182px}.hero-content .hero-badge strong{font-size:74px!important}.hero-content .hero-badge span{font-size:27px!important}.section:nth-of-type(even){background:#f7fcf8}.about,.events-section,.registration-section,.contact{background:#fff}.section-head h2{letter-spacing:-.01em}.days{background:linear-gradient(135deg,#064e3b,#075e46 55%,#032b22)}.rules-section{background:linear-gradient(135deg,#eaf8ef,#dff3e5)}.status-section{background:#f3fbf5}.event-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.event-card:hover{transform:translateY(-6px);border-color:#8bcfa8;box-shadow:0 22px 45px #064e3b22}.day-grid article{transition:transform .22s ease,background .22s ease}.day-grid article:hover{transform:translateY(-6px);background:#ffffff18}@media(max-width:640px){.hero-inner{min-height:auto;padding:44px 18px 70px}.hero-content .hero-badge{width:230px;height:230px;margin-bottom:27px}.hero-content .badge-ring{width:150px;height:150px}.hero-content .hero-badge strong{font-size:54px!important}.hero-content .hero-badge span{font-size:20px!important}.hero-content h1{font-size:clamp(51px,15vw,78px)}}

.admin-section{background:linear-gradient(135deg,#f2fbf4,#e3f4e8)}.admin-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:24px 0}.admin-toolbar label{display:grid;gap:6px;color:#12362c;font-size:12px;font-weight:800}.admin-toolbar select{min-width:190px;padding:11px 12px;border:1px solid #c8ded0;border-radius:10px;background:#fff}.admin-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.admin-stat{padding:20px;border:1px solid #cfe4d5;border-radius:18px;background:#fff;box-shadow:0 10px 25px #064e3b10}.admin-stat b{display:block;color:#064e3b;font:700 38px/1 'Cormorant Garamond',serif}.admin-stat span{display:block;margin-top:8px;color:#627a6e;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-payment-callout{display:flex;align-items:center;gap:15px;margin:22px 0;padding:17px 20px;border:1px solid #f4b73c99;border-radius:16px;color:#694500;background:#fff8dc}.admin-payment-callout b{color:#a26100;font-size:11px;letter-spacing:.1em}.admin-payment-callout span{font-size:13px}.admin-table-wrap{overflow:auto;border:1px solid #cfe4d5;border-radius:18px;background:#fff;box-shadow:0 12px 28px #064e3b10}.admin-table{width:100%;min-width:920px;border-collapse:collapse;text-align:left}.admin-table th{padding:14px;background:#064e3b;color:#d1fae5;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.admin-table td{padding:14px;border-bottom:1px solid #e4f0e7;color:#466257;font-size:12px}.admin-table tr:last-child td{border-bottom:0}.admin-table tr:hover td{background:#f4fbf6}.status-pill,.payment-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#eaf8ef;color:#087f5b;font-size:10px;font-weight:800;white-space:nowrap}.status-payment-pending,.payment-pill.fantabulous-pill{background:#fff0ca;color:#986000}.status-approved{background:#d9f5df;color:#176c35}.status-rejected{background:#ffe2e2;color:#a51d2d}.admin-empty{padding:20px;text-align:center;color:#627a6e}.admin-security-note{margin-top:18px;color:#73877b;font-size:12px;font-style:italic}@media(max-width:700px){.admin-summary{grid-template-columns:repeat(2,1fr)}.admin-payment-callout{align-items:flex-start;flex-direction:column;gap:6px}}

.admin-nav-link{color:#a26100!important}.admin-access-note{display:flex;align-items:center;gap:12px;margin-top:20px;padding:14px 17px;border-left:4px solid #f4b73c;border-radius:10px;color:#694500;background:#fff8dc}.admin-access-note b{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.admin-access-note span{font-size:12px}.admin-actions{display:flex;gap:5px}.admin-actions button{padding:6px 9px;border:0;border-radius:7px;color:#fff;font-size:10px;font-weight:800;cursor:pointer}.approve-btn{background:#168544}.decline-btn{background:#b83a3a}.approve-btn:hover,.decline-btn:hover{filter:brightness(.9)}@media(max-width:700px){.admin-access-note{align-items:flex-start;flex-direction:column;gap:4px}}

.admin-login{min-height:68vh;display:grid;place-items:center;padding:55px 20px;background:linear-gradient(135deg,#e9f8ef,#f8f9e9)}.admin-login-card{width:min(430px,100%);padding:36px;border:1px solid #cfe4d5;border-radius:24px;background:#fff;box-shadow:0 20px 50px #064e3b22;text-align:center}.login-mark{margin:0 auto 22px}.admin-login-card h1{margin:0;color:#064e3b;font:700 48px/.9 'Cormorant Garamond',serif}.admin-login-card>p:not(.kicker):not(.admin-login-note){color:#627a6e}.admin-login-card form{display:grid;gap:15px;margin-top:22px;text-align:left}.admin-login-card label{display:grid;gap:6px;color:#12362c;font-size:12px;font-weight:800}.admin-login-card input{padding:12px;border:1px solid #c8ded0;border-radius:10px;outline:none}.admin-login-card input:focus{border-color:#087f5b;box-shadow:0 0 0 3px #087f5b22}.admin-login-note{margin:20px 0 0;color:#82968b;font-size:11px;font-style:italic}.admin-workspace{display:none}.admin-main{min-height:80vh}.admin-page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;max-width:1240px;margin:auto;padding:70px 24px 20px}.admin-page-head h1{margin:0;color:#064e3b;font:700 clamp(48px,7vw,78px)/.85 'Cormorant Garamond',serif}.admin-page-head p:not(.kicker){color:#627a6e}.admin-main>.admin-access-note,.admin-main>.admin-toolbar,.admin-main>.admin-summary,.admin-main>.admin-payment-callout,.admin-main>.admin-table-wrap,.admin-main>.admin-empty,.admin-main>.admin-security-note{max-width:1192px;margin-left:auto;margin-right:auto}.admin-main>.admin-access-note{margin-top:10px}.admin-main>.admin-toolbar{margin-top:20px}.admin-main>.admin-summary{margin-top:20px}.admin-main>.admin-payment-callout{margin-top:22px}.admin-main>.admin-table-wrap{margin-top:0}.admin-main>.admin-empty,.admin-main>.admin-security-note{margin-top:18px;margin-bottom:30px}

.team-section{margin-top:28px;padding:22px;border:1px solid #cfe4d5;border-radius:16px;background:#f5fcf7}.team-size-field{display:flex!important;align-items:center;gap:14px;max-width:350px;margin:14px 0!important}.team-size-field input{max-width:100px}.team-member{margin-top:16px;padding:18px;border-left:4px solid #f4b73c;border-radius:12px;background:#fff;box-shadow:0 6px 18px #064e3b0d}.team-member>b{display:block;margin-bottom:10px;color:#064e3b}.team-members:empty{display:none}

.delete-registration{padding:6px 9px;border:0;border-radius:7px;background:#b83a3a;color:#fff;font-size:10px;font-weight:800;cursor:pointer}.delete-registration:hover{filter:brightness(.9)}

.main-ngk-logo {
  width: 600px;
  max-width: 85%;
  height: auto;
  display: block;
  margin: 15px auto 25px;
  object-fit: contain;
}

/* ===== HEADER LOGO LAYOUT ===== */

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: 1400px;
  margin: auto;
  padding: 10px 24px;
}

.left-logos {
  display: flex;
  align-items: center;
  gap: 10px;
}

.left-logos .institution-logo {
  width: 115px;
  height: 66px;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid #dcebe0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(6, 78, 59, 0.08);
}

.left-logos .institution-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.right-logo {
  width: 172px;
  height: 66px;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid #dcebe0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(6, 78, 59, 0.08);
}

.right-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Remove the old center NGK header branding */
.brand {
  display: none !important;
}

/* Mobile */
@media (max-width: 900px) {
  .left-logos {
    gap: 5px;
  }

  .left-logos .institution-logo {
    width: 82px;
    height: 52px;
  }

  .right-logo {
    width: 110px;
    height: 52px;
  }
}

@media (max-width: 640px) {
  .left-logos {
    gap: 3px;
  }

  .left-logos .institution-logo {
    width: 58px;
    height: 40px;
    padding: 3px;
  }

  .right-logo {
    width: 72px;
    height: 40px;
    padding: 3px;
  }
}
/* ================================
   NAVIGATION SIZE & ALIGNMENT
================================ */

.nav-links a {
  font-size: 16px !important;
  font-weight: 600;
  letter-spacing: 1px;
}

.nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  width: 100%;
}

.nav {
  display: flex;
  align-items: center;
}


/* ================================
   HERO CENTER ALIGNMENT
================================ */

.hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.hero-content {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}


/* ================================
   EXPLORE EVENTS BUTTON
================================ */

.hero-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 30px auto 25px;
}

.hero-actions .btn {
  font-size: 15px;
  padding: 14px 28px;
}


/* ================================
   COUNTDOWN CENTER
================================ */

.countdown {
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex;
  justify-content: center;
  align-items: center;
}

.countdown-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}


/* ================================
   MOBILE
================================ */

@media (max-width: 768px) {

  .nav-links {
    gap: 14px;
    flex-wrap: wrap;
  }

  .nav-links a {
    font-size: 13px !important;
  }

  .hero-actions {
    margin-top: 20px;
  }

  .countdown {
    width: 95%;
  }
}
/* =========================================
   NGK 2026 - FINAL HEADER & HERO FIX
========================================= */

.site-header {
  position: relative;
  width: 100%;
  min-height: 140px;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #e5eee9;
}


/* LEFT LOGOS */

.left-logos {
  position: absolute;
  left: 30px;
  top: 10px;

  display: flex;
  align-items: center;
  gap: 10px;
}

.left-logos .institution-logo {
  width: 78px;
  height: 65px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 6px;

  background: #ffffff;

  border: 1px solid #dcebe3;
  border-radius: 13px;

  box-shadow: 0 5px 15px rgba(6, 78, 59, 0.08);

  overflow: hidden;
}

.left-logos .institution-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* RIGHT PK DAS */

.right-logo {
  position: absolute;

  right: 30px;
  top: 30px;

  width: 190px;
  height: 65px;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 6px;

  background: #ffffff;

  border: 1px solid #dcebe3;
  border-radius: 13px;

  box-shadow: 0 5px 15px rgba(6, 78, 59, 0.08);

  overflow: hidden;
}

.right-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


/* =========================================
   NAVIGATION
========================================= */

#mainNav {
  position: absolute;

  left: 50%;
  bottom: 12px;

  transform: translateX(-50%);

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 28px;

  width: max-content;

  white-space: nowrap;
}

#mainNav a {
  color: #355c50;

  font-family: "Manrope", sans-serif;

  font-size: 15px;
  font-weight: 700;

  letter-spacing: 0.8px;

  text-decoration: none;

  transition: color 0.2s ease;
}

#mainNav a:hover {
  color: #008c6b;
}

#mainNav .admin-nav-link {
  color: #ad6800;
}


/* =========================================
   HERO
========================================= */

.hero {
  width: 100%;

  display: flex;

  align-items: center;
  justify-content: center;

  text-align: center;

  box-sizing: border-box;

  padding: 55px 20px 70px;
}

.hero-content {
  width: 100%;
  max-width: 1200px;

  margin: 0 auto;

  display: flex;

  flex-direction: column;

  align-items: center;
  justify-content: center;

  text-align: center;
}


/* =========================================
   MAIN NGK LOGO
========================================= */
.main-ngk-logo {
  display: block;
  width: min(560px, 70vw);
  height: auto;
  margin: 0 auto 32px;
  object-fit: contain;
}

/* =========================================
   EXPLORE EVENTS
========================================= */

.hero-actions {
  width: 100%;

  display: flex;

  align-items: center;
  justify-content: center;

  margin: 0 auto 30px;
}

.hero-actions .btn {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  padding: 14px 30px;

  font-size: 15px;

  font-weight: 700;

  border-radius: 12px;
}


/* =========================================
   COUNTDOWN CARD
========================================= */

.countdown-card {
  width: min(520px, 90vw);

  min-height: 90px;

  margin: 0 auto;

  display: flex;

  align-items: center;
  justify-content: center;

  gap: 22px;

  box-sizing: border-box;
}


/* COUNTDOWN TITLE */

.countdown-title {
  display: flex;

  flex-direction: column;

  align-items: flex-start;

  justify-content: center;

  text-align: left;

  white-space: nowrap;
}

.countdown-title b {
  font-size: 12px;

  letter-spacing: 1px;
}

.countdown-title span {
  margin-top: 5px;

  font-size: 12px;

  font-weight: 700;
}


/* COUNTDOWN NUMBERS */

.countdown {
  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 6px;

  margin: 0 auto;

  position: relative;
}

.countdown strong {
  min-width: 55px;

  padding: 10px 8px;

  background: #064e3b;

  color: #ffffff;

  border-radius: 8px;

  font-size: 20px;

  font-weight: 700;

  text-align: center;
}

.countdown small {
  grid-column: 1 / -1;

  text-align: center;

  font-size: 8px;

  letter-spacing: 0.5px;
}


/* =========================================
   REMOVE OLD REGISTER NOW IF ANY
========================================= */

.hero-actions a.btn.secondary {
  display: none !important;
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 1000px) {

  .site-header {
    min-height: 155px;
  }

  .left-logos {
    left: 12px;
    gap: 6px;
  }

  .left-logos .institution-logo {
    width: 65px;
    height: 55px;
  }

  .right-logo {
    right: 12px;

    width: 140px;
    height: 55px;

    top: 12px;
  }

  #mainNav {
    bottom: 12px;

    gap: 15px;

    max-width: 95%;

    overflow-x: auto;
  }

  #mainNav a {
    font-size: 12px;
  }

  .main-ngk-logo {
    width: min(500px, 80vw);
  }
}


@media (max-width: 650px) {

  .site-header {
    min-height: 185px;
  }

  .left-logos {
    top: 8px;
    left: 8px;
  }

  .left-logos .institution-logo {
    width: 48px;
    height: 42px;
  }

  .right-logo {
    right: 8px;
    top: 8px;

    width: 100px;
    height: 42px;
  }

  #mainNav {
    left: 0;

    bottom: 10px;

    transform: none;

    width: 100%;

    padding: 0 8px;

    box-sizing: border-box;

    justify-content: center;

    gap: 10px;

    flex-wrap: wrap;

    white-space: normal;
  }

  #mainNav a {
    font-size: 10px;

    letter-spacing: 0.4px;
  }


  .hero {
    padding: 35px 15px 50px;
  }


  .main-ngk-logo {
    width: 88vw;

    margin-bottom: 25px;
  }


  .countdown-card {
    width: 95%;

    flex-direction: column;

    gap: 12px;
  }


  .countdown-title {
    align-items: center;

    text-align: center;
  }


  .countdown strong {
    min-width: 42px;

    font-size: 16px;
  }

}
/* FOUR DAYS SECTION */

.day-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-top: 40px;
}

.day-card {
  position: relative;
  padding: 26px;
  border: 1px solid rgba(6, 78, 59, 0.15);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(6, 78, 59, 0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  overflow: hidden;
}

.day-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 40px rgba(6, 78, 59, 0.14);
}

.day-card > b {
  display: block;
  font-size: 12px;
  letter-spacing: 2px;
  color: #087f5b;
  margin-bottom: 6px;
}

.day-card time {
  display: block;
  font-size: 13px;
  color: #777;
  margin-bottom: 18px;
}

/* IMAGE INSIDE BOX */

.day-image {
  width: 100%;
  height: 170px;
  border-radius: 18px;
  overflow: hidden;
  background: #f1f8f3;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.day-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}

.day-card:hover .day-image img {
  transform: scale(1.05);
}

.day-card h3 {
  margin: 0 0 8px;
  font-family: "Cormorant Garamond", serif;
  font-size: 27px;
  color: #064e3b;
}

.day-card p {
  margin: 0;
  color: #66736d;
  line-height: 1.6;
  font-size: 14px;
}

/* PAYMENT CARD */

.payment-day {
  border: 1px solid rgba(217, 119, 6, 0.3);
}

.payment-note {
  display: inline-block;
  margin-top: 18px;
  padding: 7px 12px;
  border-radius: 20px;
  background: #fff3d6;
  color: #a45a00;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
}

/* MOBILE */

@media (max-width: 1000px) {
  .day-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .day-grid {
    grid-template-columns: 1fr;
  }

  .day-image {
    height: 200px;
  }

  .day-card {
    padding: 22px;
  }
}

/* ================================
   FOUR DAYS SECTION
================================ */

.days {
  background: linear-gradient(
    135deg,
    #f4f8ed 0%,
    #fffdf2 50%,
    #eef7ef 100%
  );
}

.days .section-head {
  text-align: center;
  margin-bottom: 45px;
}

.days .section-head h2 {
  color: #075c48;
}

.days .kicker {
  color: #a66a00;
  letter-spacing: 2.5px;
}

/* FOUR CARDS */

.day-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  max-width: 1400px;
  margin: 0 auto;
}

/* CARD */

.day-card {
  position: relative;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(6, 78, 59, 0.16);
  border-radius: 22px;
  padding: 22px;
  overflow: hidden;

  box-shadow:
    0 10px 30px rgba(6, 78, 59, 0.08);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.day-card:hover {
  transform: translateY(-7px);

  box-shadow:
    0 18px 40px rgba(6, 78, 59, 0.15);
}

/* DAY NUMBER */

.day-card > b {
  display: block;

  color: #08785b;
  font-family: "Manrope", sans-serif;

  font-size: 12px;
  font-weight: 800;

  letter-spacing: 2px;
  text-transform: uppercase;

  margin-bottom: 6px;
}

/* DATE */

.day-card time {
  display: block;

  color: #7b6b4a;

  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 600;

  margin-bottom: 18px;
}

/* ================================
   IMAGE
================================ */

.day-image {
  width: 100%;
  height: 180px;

  border-radius: 16px;

  overflow: hidden;

  background: #edf5eb;

  border: 1px solid rgba(6, 78, 59, 0.10);

  display: flex;
  align-items: center;
  justify-content: center;

  margin-bottom: 20px;
}

.day-image img {
  width: 100%;
  height: 100%;

  object-fit: contain;

  display: block;

  padding: 8px;

  transition: transform 0.35s ease;
}

.day-card:hover .day-image img {
  transform: scale(1.04);
}

/* ================================
   EVENT TITLE
================================ */

.day-card h3 {
  margin: 0 0 8px;

  color: #075c48;

  font-family: "Cormorant Garamond", serif;

  font-size: 29px;
  font-weight: 700;

  line-height: 1.05;
}

/* DESCRIPTION */

.day-card p {
  margin: 0;

  color: #53665d;

  font-family: "Manrope", sans-serif;

  font-size: 14px;
  font-weight: 500;

  line-height: 1.6;
}

/* ================================
   FANTABULOUS PAYMENT CARD
================================ */

.payment-day {
  background: linear-gradient(
    145deg,
    #fffdf4,
    #f7f5e9
  );

  border: 1px solid rgba(166, 106, 0, 0.28);
}

.payment-day > b {
  color: #a66a00;
}

.payment-day h3 {
  color: #7a4d00;
}

.payment-day time {
  color: #876c3b;
}

/* PAYMENT MESSAGE */

.payment-note {
  display: inline-block;

  margin-top: 16px;

  padding: 7px 13px;

  border-radius: 20px;

  background: #fff1c9;

  border: 1px solid #e6c875;

  color: #8a5900;

  font-family: "Manrope", sans-serif;

  font-size: 11px;
  font-weight: 800;

  letter-spacing: 0.4px;
}

/* ================================
   RESPONSIVE
================================ */

@media (max-width: 1100px) {

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

}

@media (max-width: 650px) {

  .day-grid {
    grid-template-columns: 1fr;
  }

  .day-image {
    height: 210px;
  }

  .day-card {
    padding: 20px;
  }

  .day-card h3 {
    font-size: 27px;
  }

}

/* Dedicated event-registration pages */
.registration-hero {
  padding: 76px 24px 68px;
  background: radial-gradient(circle at 84% 20%, rgba(244,183,60,.36), transparent 18rem), linear-gradient(125deg, #eaf8ef, #f7fae9);
}
.registration-hero .section-head {
  max-width: 1192px;
  margin: auto;
}
.registration-hero h1 {
  margin: 0;
  color: #064e3b;
  font: 700 clamp(52px, 8vw, 100px)/.82 'Cormorant Garamond', serif;
}
.registration-hero .section-head > p:not(.kicker) {
  max-width: 620px;
  margin: 24px 0;
  color: #627a6e;
  font-size: 17px;
}
.registration-hero .btn {
  margin-top: 4px;
}
.fantabulous-hero {
  background: radial-gradient(circle at 82% 22%, rgba(184,104,228,.22), transparent 18rem), linear-gradient(125deg, #f8efff, #fff8dd);
}
.registration-events {
  min-height: 420px;
}
.registration-events .event-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 12px;
}
.registration-events .event-card h3 {
  font-size: 23px;
}
.registration-events .event-body {
  padding: 14px;
}
.registration-events .event-card .card-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.day-register {
  width: 100%;
  margin-top: 18px;
}
@media (max-width: 640px) {
  .registration-hero {
    padding: 58px 18px 50px;
  }
  .registration-events .event-card .card-actions {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 641px) and (max-width: 1100px) {
  .registration-events .event-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Final event-grid layout: 5 cards per row, 7 rows for 35 events on desktop */
.event-grid,
.registration-events .event-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media (max-width: 1100px) {
  .event-grid,
  .registration-events .event-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .event-grid,
  .registration-events .event-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .event-grid,
  .registration-events .event-grid {
    grid-template-columns: 1fr;
  }
}

/* Preserve the complete 960:420 event artwork on every event list */
.event-art-wrap {
  height: auto;
  aspect-ratio: 960 / 420;
  background: #064e3b;
}
.event-art-wrap .event-art {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Registration title with images */
.registration-title {
  max-width: 1192px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 45px;
}

.registration-title .section-head {
  flex: 1;
  text-align: center;
}

.registration-title .section-head > p:not(.kicker) {
  margin-left: auto;
  margin-right: auto;
}

.title-image {
  width: 180px;
  height: 180px;
  object-fit: contain;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.title-image:hover {
  transform: scale(1.08) rotate(2deg);
}

/* Mobile */
@media (max-width: 768px) {
  .registration-title {
    gap: 10px;
  }

  .title-image {
    width: 80px;
    height: 80px;
  }

  .registration-title .section-head h1 {
    font-size: 48px;
  }
}

@media (max-width: 520px) {
  .title-image {
    width: 55px;
    height: 55px;
  }

  .registration-title {
    gap: 5px;
  }
}
/* =========================================
   FANTABULOUS HERO WITH IMAGES
========================================= */

.fantabulous-title-wrapper {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 45px;
  padding: 20px;
}

.fantabulous-title-image {
  width: 180px;
  height: 180px;

  object-fit: contain;
  flex-shrink: 0;

  display: block;

  transition: transform 0.3s ease;
}

.fantabulous-title-image:hover {
  transform: scale(1.08);
}

.fantabulous-title-content {
  flex: 1;
  max-width: 750px;
  text-align: center;
}

.fantabulous-title-content h1 {
  margin-top: 10px;
  margin-bottom: 15px;
}

.fantabulous-title-content > p:not(.kicker) {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}


/* TABLET */

@media (max-width: 900px) {

  .fantabulous-title-wrapper {
    gap: 25px;
  }

  .fantabulous-title-image {
    width: 130px;
    height: 130px;
  }

}


/* MOBILE */

@media (max-width: 650px) {

  .fantabulous-title-wrapper {
    gap: 10px;
    padding: 10px;
  }

  .fantabulous-title-image {
    width: 75px;
    height: 75px;
  }

  .fantabulous-title-content h1 {
    font-size: 42px;
  }

}


/* SMALL MOBILE */

@media (max-width: 450px) {

  .fantabulous-title-wrapper {
    gap: 5px;
    padding: 5px;
  }

  .fantabulous-title-image {
    width: 55px;
    height: 55px;
  }

  .fantabulous-title-content h1 {
    font-size: 32px;
  }

}
/* =====================================================
   FLOATING EVENT BOX
   Avatar X-stream + Fantabulous
   ===================================================== */

.floating-event-box {

  width: calc(100% - 80px);
  max-width: 1450px;

  margin: 35px auto 20px;

  padding: 45px 50px;

  display: flex;
  align-items: center;
  justify-content: center;

  gap: 45px;

  /* Glass / floating effect */
  background: rgba(255, 255, 255, 0.38);

  border: 1px solid rgba(255, 255, 255, 0.75);

  border-radius: 30px;

  box-shadow:
    0 25px 60px rgba(0, 70, 50, 0.15),
    0 8px 25px rgba(0, 0, 0, 0.08);

  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);

  position: relative;

  overflow: visible;

  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease;
}


/* Floating hover effect */

.floating-event-box:hover {

  transform: translateY(-8px);

  box-shadow:
    0 35px 75px rgba(0, 70, 50, 0.20),
    0 12px 30px rgba(0, 0, 0, 0.10);
}


/* =====================================================
   EVENT IMAGES
   ===================================================== */

.floating-event-image {

  width: 210px;
  height: 210px;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;

  animation: eventImageFloat 4s ease-in-out infinite;
}


.floating-event-image img {

  width: 100%;
  height: 100%;

  object-fit: contain;

  display: block;

  filter:
    drop-shadow(0 12px 10px rgba(0, 0, 0, 0.20));

  transition:
    transform 0.35s ease,
    filter 0.35s ease;
}


.floating-event-image:hover img {

  transform: scale(1.10);

  filter:
    drop-shadow(0 18px 15px rgba(0, 0, 0, 0.25));
}


/* =====================================================
   CENTER CONTENT
   ===================================================== */

.floating-event-content {

  flex: 1;

  max-width: 760px;

  text-align: center;

  position: relative;

  z-index: 2;
}


.floating-event-content h1 {

  margin-top: 8px;
  margin-bottom: 15px;

}


.floating-event-content > p:not(.kicker) {

  max-width: 700px;

  margin-left: auto;
  margin-right: auto;

}


/* =====================================================
   IMAGE FLOATING ANIMATION
   ===================================================== */

@keyframes eventImageFloat {

  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-10px);
  }

  100% {
    transform: translateY(0px);
  }

}


/* =====================================================
   TABLET
   ===================================================== */

@media (max-width: 1000px) {

  .floating-event-box {

    width: calc(100% - 50px);

    padding: 35px 30px;

    gap: 25px;

  }

  .floating-event-image {

    width: 150px;
    height: 150px;

  }

}


/* =====================================================
   MOBILE
   ===================================================== */

@media (max-width: 700px) {

  .floating-event-box {

    width: calc(100% - 30px);

    padding: 30px 15px;

    gap: 10px;

  }

  .floating-event-image {

    width: 75px;
    height: 75px;

  }

  .floating-event-content h1 {

    font-size: 42px;

  }

}


/* =====================================================
   SMALL MOBILE
   ===================================================== */

@media (max-width: 480px) {

  .floating-event-box {

    width: calc(100% - 20px);

    padding: 25px 8px;

    gap: 5px;

    border-radius: 22px;

  }

  .floating-event-image {

    width: 55px;
    height: 55px;

  }

  .floating-event-content h1 {

    font-size: 30px;

  }

  .floating-event-content > p:not(.kicker) {

    font-size: 13px;

  }

}
/* =========================================
   INDIVIDUAL IMAGE BOX
   ========================================= */

.floating-event-image {
    width: 220px;
    height: 220px;

    padding: 15px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    background: rgba(255, 255, 255, 0.45);

    border: 2px solid rgba(255, 255, 255, 0.75);

    border-radius: 28px;

    box-shadow:
        0 20px 45px rgba(0, 70, 50, 0.18),
        0 8px 20px rgba(0, 0, 0, 0.10);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;

    animation: imageBoxFloat 4s ease-in-out infinite;
}


/* IMAGE */

.floating-event-image img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;

    filter:
        drop-shadow(0 12px 10px rgba(0, 0, 0, 0.20));

    transition: transform 0.35s ease;
}


/* HOVER */

.floating-event-image:hover {

    transform: translateY(-10px) scale(1.03);

    box-shadow:
        0 30px 60px rgba(0, 70, 50, 0.25),
        0 12px 25px rgba(0, 0, 0, 0.12);
}


.floating-event-image:hover img {

    transform: scale(1.08);

}


/* FLOATING ANIMATION */

@keyframes imageBoxFloat {

    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }

    100% {
        transform: translateY(0);
    }

}


/* =========================================
   MOBILE
   ========================================= */

@media (max-width: 1000px) {

    .floating-event-image {
        width: 160px;
        height: 160px;
        padding: 12px;
    }

}


@media (max-width: 700px) {

    .floating-event-image {
        width: 100px;
        height: 100px;
        padding: 8px;

        border-radius: 18px;
    }

}


@media (max-width: 480px) {

    .floating-event-image {
        width: 70px;
        height: 70px;
        padding: 5px;

        border-radius: 14px;
    }

}

.admin-filter-summary{margin:8px 0 16px;color:#627a6e;font-size:12px;font-weight:700;letter-spacing:.02em}
.admin-toolbar label + label select{min-width:260px}
@media(max-width:700px){.admin-toolbar label{width:100%}.admin-toolbar label select{width:100%}.admin-toolbar .btn{width:100%}}

/* ================================
   NGK 2026 FLOATING BUTTON
   ================================ */

.floating-btn {
  position: fixed;
  right: 28px;
  bottom: 28px;

  width: 62px;
  height: 62px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  /* Glass effect */
  background: rgba(8, 127, 91, 0.25);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  /* Border */
  border: 2px solid rgba(255, 255, 255, 0.55);

  /* Glow */
  box-shadow:
    0 0 12px rgba(8, 127, 91, 0.5),
    0 0 30px rgba(8, 127, 91, 0.25);

  color: white;
  text-decoration: none;

  font-size: 25px;

  z-index: 9999;

  /* Floating animation */
  animation: ngkFloat 3s ease-in-out infinite;

  transition: all 0.35s ease;
}


/* Hover effect */
.floating-btn:hover {
  transform: translateY(-8px) scale(1.08);

  background: rgba(8, 127, 91, 0.45);

  box-shadow:
    0 0 15px rgba(8, 127, 91, 0.8),
    0 0 40px rgba(8, 127, 91, 0.5);

  border-color: white;

  color: white;
}


/* Floating animation */
@keyframes ngkFloat {

  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }

}


/* Mobile */
@media (max-width: 600px) {

  .floating-btn {
    width: 54px;
    height: 54px;

    right: 18px;
    bottom: 18px;

    font-size: 21px;
  }

}