.page-hero{height:min(680px,calc(100svh - 88px));min-height:540px;position:relative;overflow:hidden;color:#fff;background:var(--deep)}
.page-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,35,76,.9),rgba(0,62,125,.38) 60%,rgba(0,0,0,.1)),url("../images/event/event_spring_fair_1.jpg") center/cover no-repeat;transform:scale(1.03)}
.page-hero-copy{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);z-index:2}
.page-en{margin:0 0 10px;color:#9dcbf5;font:900 clamp(28px,5.7vw,84px)/.95 Arial;letter-spacing:-.045em}
.page-hero h1{font-size:clamp(40px,5vw,72px);line-height:1.25;letter-spacing:.06em;margin:0 0 22px}
.page-hero-copy>p:last-child{font-size:clamp(15px,1.4vw,20px);font-weight:700;letter-spacing:.05em}
.scroll{position:absolute;left:var(--pad);bottom:28px;z-index:2;font:700 10px Arial;letter-spacing:.18em;display:flex;align-items:center;gap:15px}
.scroll i{position:relative;width:80px;height:1px;background:rgba(255,255,255,.25);overflow:hidden}
.scroll i:after{content:"";position:absolute;left:-100%;top:0;width:100%;height:100%;background:#fff;animation:scrollLine 2s infinite}@keyframes scrollLine{to{left:100%}}
.gallery-section{padding:clamp(80px,10vw,150px) var(--pad);background:#fff}
.section-heading{margin-bottom:50px;position:relative}
.big-en{font:900 clamp(58px,9vw,140px)/.76 Arial;letter-spacing:-.06em;color:#dce9f5;margin:0}
.section-heading>div{position:absolute;right:0;bottom:0;text-align:right}
.section-heading span,.gallery-group-en{color:var(--red);font:800 14px Arial;letter-spacing:.18em}
.section-heading h2{font-size:clamp(28px,4vw,58px);line-height:1.3;margin:10px 0 0}
.category-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 85px}
.category-nav a{border:1px solid #cbd7e2;padding:9px 18px;border-radius:999px;font-weight:700;transition:.25s}
.category-nav a:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.gallery-group{scroll-margin-top:110px;margin-bottom:clamp(85px,10vw,145px)}
.gallery-group:last-child{margin-bottom:0}
.gallery-group-heading{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #c8d3dd;margin-bottom:30px;padding-bottom:18px}
.gallery-group-heading h2{font-size:clamp(28px,3.5vw,48px);line-height:1.2;margin:6px 0 0}
.gallery-group-heading p{font-size:clamp(16px,3.5vw,20px);}


.gallery-count{color:#7790a6;font:800 13px Arial;letter-spacing:.12em}
.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,32px)}.photo-card{margin:0;min-width:0}.photo-button{display:block;width:100%;padding:0;border:0;background:#dce9f5;cursor:zoom-in;overflow:hidden;aspect-ratio:4/3}.photo-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.22,.61,.36,1),filter .35s}
.photo-button:hover img{transform:scale(1.055);filter:brightness(.91)}
.photo-card figcaption{padding:13px 2px 0;color:#637180;font-size:14px}
.photo-card figcaption b{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}
.reveal,.photo-card{opacity:0;transform:translateY(35px);transition:opacity .75s ease,transform .75s ease}
.is-visible{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(2,22,46,.95);display:grid;place-items:center;padding:60px 90px;color:#fff}.lightbox[hidden]{display:none}.lightbox figure{margin:0;text-align:center;max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center}
.lightbox img{display:block;max-width:100%;max-height:calc(100vh - 145px);object-fit:contain}.lightbox figcaption{margin-top:12px}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}.lightbox-close{right:22px;top:18px;width:48px;height:48px;border-radius:50%;font-size:30px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);width:52px;height:76px;font-size:42px}.lightbox-prev{left:20px}.lightbox-next{right:20px}

@media(max-width:980px){
	.page-hero{height:calc(100svh - 72px)}
	.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
	.page-hero h1{font-size:clamp(30px,3vw,72px);}
	.page-hero-copy{top:33%;right:var(--pad)}
	.page-hero{min-height:500px}.page-en{font-size:36px}
	.section-heading{padding-top:45px}.section-heading>div{position:relative;text-align:left;margin-top:20px}
	.section-heading h2{font-size:28px}.category-nav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px;margin-bottom:70px}
	.category-nav a{white-space:nowrap;font-size:13px}
	.photo-grid{grid-template-columns:1fr;gap:28px}
	.gallery-group-heading{align-items:start}
	.gallery-count{padding-top:10px}.lightbox{padding:65px 15px}
   .lightbox-prev,.lightbox-next{top:auto;bottom:18px;height:48px;display:flex;align-items:center;justify-content:center;line-height:1;}
   .lightbox-prev{left:calc(50% - 60px)}.lightbox-next{right:calc(50% - 60px)}
}

@media(prefers-reduced-motion:reduce){.reveal,.photo-card{opacity:1;transform:none;transition:none}.photo-button img{transition:none}}






























