/* Hero 12: original 2026 admissions fair campaign. */
.hero .fair-slide{background:url("/cimg/gbabc/renew/hero-12-terminal-v1.webp") center/cover no-repeat,#e7f1f7;color:#122c65;isolation:isolate}
.fair-slide:before{content:none}
.fair-slide:after{content:none}
.hero .fair-slide>.wrap{width:100%;max-width:none;padding:56px 130px 114px 80px;justify-content:center}
.fair-ticket{display:grid;grid-template-columns:minmax(0,1fr) 215px;width:min(1170px,100%);position:relative;border:1px solid #ffffffd9;border-radius:22px;background:#fff;box-shadow:0 26px 60px #174f8930,0 4px 10px #174f8917;isolation:isolate}
.fair-main{min-width:0;padding:23px 38px 25px;background:linear-gradient(140deg,#fff,#f5fbff);border-radius:21px 0 0 21px}
.fair-ticket-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:16px;border-bottom:1px solid #d9e6f0}
.fair-brand{margin:0;font-size:25px;font-weight:800;letter-spacing:-.05em;white-space:nowrap}
.fair-english{font-size:10px;letter-spacing:.1em;font-weight:700;color:#476989;text-align:right;line-height:1.7}
.fair-heading{position:relative;padding:21px 0 18px;text-align:center}
.fair-year{font-size:29px;line-height:1.25;margin:0 0 5px;color:#234773;letter-spacing:-.045em;font-weight:650}
.hero .fair-slide h2{margin:0;font-size:78px;line-height:1.1;color:#12367b;font-weight:850;letter-spacing:-.06em;word-break:keep-all}
.fair-participation{display:inline-flex;align-items:center;gap:8px;margin:17px 0 0;padding:8px 14px;border:1px solid #c0e2e8;border-radius:5px;background:#eaf8fa;color:#076378;font-size:19px;font-weight:750;letter-spacing:-.035em;line-height:1.25}
.fair-participation svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.fair-route{position:absolute;right:0;top:36px;width:145px;height:145px;color:#3376bb;opacity:.9}
.fair-route .route-line{fill:none;stroke:#78b8db;stroke-width:1.5;stroke-dasharray:4 6}
.fair-route .plane{fill:currentColor}
.fair-facts{display:grid;grid-template-columns:1fr 1.15fr 1fr;margin:0;border-top:1px solid #d9e6f0;border-bottom:1px solid #d9e6f0;padding:15px 0;gap:0}
.fair-facts>div{padding:0 16px;border-left:1px solid #d9e6f0;min-width:0;text-align:center}.fair-facts>div:first-child{padding-left:0;border-left:0}.fair-facts>div:last-child{padding-right:0}
.fair-facts dt{font-size:10px;letter-spacing:.11em;color:#688097;font-weight:750;margin-bottom:8px}
.fair-facts dd{margin:0;font-size:19px;font-weight:750;line-height:1.45;letter-spacing:-.035em;color:#1c3b60;white-space:nowrap}
.fair-facts dd span{display:block}.fair-facts dd strong{font-size:23px;color:#164d9c;font-weight:800}
.fair-open{display:flex;align-items:center;justify-content:center;gap:25px;width:fit-content;min-height:46px;margin:18px auto 0;padding:0 23px;border:1px solid #204d95;border-radius:100px;background:linear-gradient(120deg,#183c7d,#255aab);box-shadow:inset 0 1px 0 #ffffff30,0 5px 13px #1d4b851f;color:#fff;font-family:inherit;font-size:15px;font-weight:750;cursor:pointer;transition:background .2s,transform .2s}
.fair-open svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}
.fair-open:focus-visible,.fair-dialog-close:focus-visible{outline:3px solid #13859b;outline-offset:4px}
.fair-stub{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:30px 17px;color:#fff;background:radial-gradient(ellipse at 100% 0%,#4b82c75c,transparent 60%),linear-gradient(155deg,#123d85,#0b2355);border-radius:0 21px 21px 0;border-left:2px dashed #ffffff80;text-align:center}
.fair-stub:before,.fair-stub:after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;left:-13px;background:#acdbee;z-index:1}.fair-stub:before{top:-13px}.fair-stub:after{bottom:-13px;background:#91c7e7}
.fair-stub-label{font-size:11px;letter-spacing:.16em;color:#bfdaf5;margin:0 0 16px;font-weight:700}
.fair-stub strong{font-size:43px;letter-spacing:-.05em;line-height:1.2;font-weight:800;color:#fff}
.fair-stub-brand{font-size:15px;letter-spacing:-.045em;margin-top:12px;color:#dceafb;font-weight:650;white-space:nowrap}
.fair-stub-line{width:38px;height:2px;background:#8ee4eb;margin:29px 0}
.fair-stub-year{font-size:45px;font-weight:400;letter-spacing:-.045em;line-height:1;color:#addbef}
.fair-stub-bottom{font-size:10px;letter-spacing:.13em;line-height:1.8;color:#c3d8ef;margin:13px 0 0}
@media(hover:hover){.fair-open:hover{background:#123571;transform:translateY(-2px)}}
@media(max-width:1200px){
 .hero .fair-slide>.wrap{padding:55px 120px 110px 30px}.fair-ticket{grid-template-columns:minmax(0,1fr) 175px}.fair-main{padding:23px 27px 25px}
 .fair-brand{font-size:22px}.fair-english{font-size:9px}.fair-year{font-size:25px}.hero .fair-slide h2{font-size:65px}.fair-route{width:70px;height:70px;top:47px;right:-10px;opacity:.5}
 .fair-participation{font-size:17px}.fair-facts>div{padding:0 11px}.fair-facts dd{font-size:16px}.fair-facts dd strong{font-size:20px}.fair-stub strong{font-size:36px}.fair-stub-brand{font-size:13px}
}
@media(max-width:950px) and (min-width:801px){
 .fair-ticket{grid-template-columns:minmax(0,1fr) 145px}.fair-main{padding:23px 21px}.fair-brand{font-size:20px}.fair-english{display:none}.fair-route{display:none}
 .fair-year{font-size:22px}.hero .fair-slide h2{font-size:55px}.fair-participation{font-size:16px;padding:7px 10px}.fair-stub strong{font-size:31px}.fair-stub-brand{font-size:12px}
 .fair-facts dd{font-size:14px}.fair-facts dd strong{font-size:18px}.fair-facts dt{font-size:9px}.fair-facts>div{padding:0 9px}
}
@media(max-width:800px){
 .hero .fair-slide>.wrap{padding:25px 24px 90px;align-items:flex-start}.fair-ticket{grid-template-columns:minmax(0,1fr);width:min(560px,100%);border-radius:16px}.fair-main{padding:20px 25px 22px;border-radius:15px 15px 0 0}
 .fair-brand{font-size:23px}.fair-english{font-size:9px}.fair-ticket-head{padding-bottom:13px}.fair-heading{padding:20px 0 17px}.fair-year{font-size:23px}.hero .fair-slide h2{font-size:58px}.fair-route{width:65px;height:65px;top:31px;right:0;opacity:.4}
 .fair-participation{font-size:16px;margin-top:12px;padding:7px 11px}.fair-facts{padding:14px 0}.fair-facts dd{font-size:16px}.fair-facts dd strong{font-size:20px}.fair-open{margin-top:17px;min-height:43px;font-size:14px}
 .fair-stub{border-left:0;border-top:2px dashed #ffffff80;border-radius:0 0 15px 15px;flex-direction:row;justify-content:center;gap:13px;padding:16px 14px}.fair-stub-label{margin:0;font-size:10px}.fair-stub strong{font-size:25px}.fair-stub-brand{margin:0;font-size:13px}.fair-stub-line,.fair-stub-year,.fair-stub-bottom{display:none}
 .fair-stub:before,.fair-stub:after{width:20px;height:20px;top:-11px;bottom:auto;left:-11px;background:#b6dfee}.fair-stub:after{left:auto;right:-11px}
 body:has(.fair-slide.is-active) .fab{top:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));left:12px;right:12px;transform:none;display:flex;border-radius:14px}
 body:has(.fair-slide.is-active) .fab a{width:20%;min-width:0;flex:1;gap:3px;padding:7px 2px;border-top:0;border-left:1px solid var(--line);font-size:10px}
 body:has(.fair-slide.is-active) .fab a:first-child{border-left:0}body:has(.fair-slide.is-active) .fab .ic{width:28px;height:28px}body:has(.fair-slide.is-active) .fab .ico{width:15px;height:15px}
}
@media(max-width:520px){
 .hero .fair-slide>.wrap{padding:27px 20px 85px}.fair-main{padding:20px 18px}.fair-brand{font-size:20px}.fair-english{font-size:8px;letter-spacing:.03em}.fair-year{font-size:21px}.hero .fair-slide h2{font-size:49px}.fair-heading{padding-top:21px}.fair-route{display:none}
 .fair-facts{grid-template-columns:.95fr 1.15fr 1fr}.fair-facts>div{padding:0 8px}.fair-facts dt{font-size:8px;letter-spacing:.06em}.fair-facts dd{font-size:13px}.fair-facts dd strong{font-size:17px}.fair-stub{gap:9px}.fair-stub strong{font-size:23px}.fair-stub-brand{font-size:12px}
}
@media(max-width:360px){.hero .fair-slide>.wrap{padding-left:16px;padding-right:16px}.fair-main{padding:18px 14px}.fair-brand{font-size:18px}.fair-english{display:none}.fair-year{font-size:20px}.hero .fair-slide h2{font-size:44px}.fair-facts dd{font-size:12px}.fair-facts dd strong{font-size:15px}.fair-facts>div{padding:0 6px}.fair-stub-brand{font-size:11px}}
.fair-dialog{width:min(780px,calc(100% - 32px));max-height:85vh;padding:32px;margin:auto;border:1px solid #d6e6f2;border-radius:20px;background:#f6fbff;color:#193451;box-shadow:0 25px 100px #04112766;overflow:auto}
.fair-dialog::backdrop{background:#091932b8;backdrop-filter:blur(4px)}
.fair-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.fair-dialog h2{font-size:28px;line-height:1.3;margin:0;letter-spacing:-.045em}.fair-dialog-close{flex-shrink:0;width:36px;height:36px;border:1px solid #d1deeb;border-radius:50%;background:white;color:#14315c;cursor:pointer;display:grid;place-items:center}.fair-dialog-close svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;fill:none}
.fair-dialog-summary{font-size:16px;line-height:1.7;color:#325e89;margin:14px 0 20px}.fair-dialog dl{margin:0;padding:18px 20px;background:#fff;border:1px solid #dce7f1;border-radius:10px}.fair-dialog dl>div{display:grid;grid-template-columns:45px 1fr;gap:12px;padding:7px 0}.fair-dialog dt{font-weight:750;color:#15468d}.fair-dialog dd{margin:0;line-height:1.6}.fair-dialog h3{font-size:20px;margin:25px 0 12px;color:#143d75}.fair-dialog ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;list-style:none;padding:0;margin:0}.fair-dialog li{padding:15px;background:#eaf3fa;border-radius:8px;font-size:15px;line-height:1.6}.fair-dialog li strong{display:block;color:#12458a;margin-bottom:4px}.fair-dialog-note{font-size:14px;line-height:1.8;margin:18px 0 0;color:#4a637c}
@media(max-width:520px){.fair-dialog{padding:24px 18px}.fair-dialog h2{font-size:23px}.fair-dialog ul{grid-template-columns:1fr}.fair-dialog dl{padding:12px}.fair-dialog dd{font-size:14px}.fair-dialog-summary{font-size:15px}}
@media(prefers-reduced-motion:reduce){.fair-open{transition:none}.fair-open:hover{transform:none}}

/* Refine the existing ticket with university emblems and actual perforations. */
.fair-ticket-shell{width:min(1170px,100%);filter:drop-shadow(0 24px 25px #1445772b) drop-shadow(0 3px 5px #14457712)}
.fair-ticket{--fair-stub-width:215px;width:100%;box-shadow:none;border-color:#fff;mask-image:radial-gradient(circle 12px at calc(100% - var(--fair-stub-width)) 0,transparent 98%,#000 100%),radial-gradient(circle 12px at calc(100% - var(--fair-stub-width)) 100%,transparent 98%,#000 100%);mask-composite:intersect}
.fair-main{background:radial-gradient(ellipse at 50% 0%,#fff 20%,transparent 72%),linear-gradient(135deg,#fff,#f3f9ff)}
.fair-ticket-head{border-image:linear-gradient(90deg,#88b8e3,#d9e6f0 45%,#d9e6f0) 1}
.hero .fair-slide h2{background:linear-gradient(115deg,#12306c 20%,#245fae 55%,#133d83 80%);background-clip:text;-webkit-background-clip:text;color:transparent;letter-spacing:-.045em;padding:0 .06em;filter:drop-shadow(0 2px 0 #fff)}
.fair-participation{border:0;border-radius:0;padding:0;margin-top:14px;background:transparent;color:#1e4779;gap:13px;min-height:45px}
.fair-emblems{display:flex;align-items:center;gap:5px;flex-shrink:0}
.fair-emblems img{display:block;width:42px;height:42px;object-fit:contain;padding:3px;border:1px solid #d9e6f0;border-radius:50%;background:#fff;box-shadow:0 2px 5px #213c5910}
.fair-stub{background:radial-gradient(ellipse at 80% -10%,#70a9f280,transparent 55%),linear-gradient(155deg,#1a4a94,#0c2558 85%);border-left:2px dashed #9cbbe080}
.fair-stub:before,.fair-stub:after{content:none}
.fair-stub-location{display:flex;flex-direction:column;align-items:center}
.fair-stub-line{margin:25px 0;width:65px;background:linear-gradient(90deg,transparent,#a9e4ec,transparent)}
.fair-count{display:flex;flex-direction:column;align-items:center;gap:9px}
.fair-count b{font-size:70px;line-height:1.1;font-weight:750;letter-spacing:0;padding:0 .03em;background:linear-gradient(125deg,#eefcff,#94ddec);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 3px 8px #03133340)}
.fair-count span{font-size:14px;line-height:1.5;font-weight:650;letter-spacing:-.02em;color:#e0efff}
.fair-facts{background:linear-gradient(90deg,transparent,#eaf3fc70,transparent)}
.fair-open{box-shadow:inset 0 1px 0 #ffffff60,inset 0 -1px 0 #0a24564d,0 6px 15px #1d4b8530}
@media(max-width:1200px){.fair-ticket{--fair-stub-width:175px}.fair-count b{font-size:61px}.fair-emblems img{width:38px;height:38px}.fair-participation{min-height:40px;gap:10px}}
@media(max-width:950px) and (min-width:801px){.fair-ticket{--fair-stub-width:145px}.fair-emblems img{width:30px;height:30px;padding:2px}.fair-emblems{gap:3px}.fair-participation{font-size:15px;gap:9px;min-height:35px}.fair-count b{font-size:54px}.fair-count span{font-size:12px}}
@media(max-width:800px){
 .fair-ticket-shell{width:min(560px,100%)}
 .fair-ticket{mask-image:radial-gradient(circle 10px at 0 calc(100% - 78px),transparent 98%,#000 100%),radial-gradient(circle 10px at 100% calc(100% - 78px),transparent 98%,#000 100%)}
 .fair-stub{height:78px;min-height:78px;box-sizing:border-box;padding:11px 25px;justify-content:center;gap:30px;border-left:0;border-top:2px dashed #9cbbe080}
 .fair-stub-location{align-items:flex-start}.fair-stub-label{display:none}.fair-stub-brand{font-size:10px;margin-top:3px}.fair-stub strong{font-size:23px}
 .fair-count{flex-direction:row;gap:8px}.fair-count b{font-size:37px}.fair-count span{font-size:11px;max-width:62px;text-align:left;line-height:1.4}
 .fair-participation{min-height:36px;gap:11px}.fair-emblems img{width:34px;height:34px;padding:2px}.fair-emblems{gap:4px}
}
@media(max-width:520px){.fair-participation{font-size:15px;gap:9px}.fair-emblems img{width:30px;height:30px}.fair-emblems{gap:3px}.fair-stub{gap:25px}}
@media(max-width:360px){.fair-participation{font-size:13px;gap:8px}.fair-emblems img{width:27px;height:27px}.fair-emblems{gap:2px}.fair-stub{padding-left:16px;padding-right:16px;gap:22px}}

.fair-count-number{display:flex;align-items:baseline;gap:2px;white-space:nowrap}
.fair-count-number small{font-size:20px;font-weight:650;line-height:1;color:#d7f2fb}
@media(max-width:950px) and (min-width:801px){.fair-count-number small{font-size:17px}}
@media(max-width:800px){.fair-count-number small{font-size:13px}}
