@font-face{font-family:'YS Text';src:url('/assets/YSText-Regular.woff2?v=20261110-2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'YS Text';src:url('/assets/YSText-Medium.woff2?v=20261110-2') format('woff2');font-weight:500 900;font-style:normal;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:#fff}
a{color:#1e1e1e}a:hover{color:#3c3c3c}
a:focus-visible,button:focus-visible,iframe:focus-visible{outline:3px solid #027ef2;outline-offset:5px}
.btn-o:hover{background:#1e1e1e;color:#fff}
.partner-logo{display:block;height:32px;width:auto;max-width:168px;object-fit:contain}
.partner-logos{min-width:0;flex-wrap:wrap}
.brand-visual img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.event-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.frame-window{position:relative;width:100%;aspect-ratio:390/760;overflow:hidden;border-radius:34px;background:#fff}
.apps>article{box-sizing:border-box}
.apps>article>.btn-o{margin-top:auto}
@media(max-width:1279px){.apps{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:16px;margin-right:-36px!important;padding-right:36px;scrollbar-width:thin}.apps>article{flex:0 0 min(400px,84vw);scroll-snap-align:start}}
@media(max-width:1000px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.wrap{padding-left:16px!important;padding-right:16px!important}.wrap[id]{padding-top:72px!important}.apps{margin-right:-16px!important;padding-right:16px}.bento{grid-template-columns:minmax(0,1fr)!important;margin-top:32px!important}.bento>*{grid-column:auto!important}.hero-kv{min-height:320px!important}.cta-kv{min-height:320px!important}header.wrap{padding-top:20px!important;padding-bottom:20px!important}header nav{gap:16px!important;font-size:14px!important}.partner-logo{height:26px;max-width:150px}.partner-logos{gap:12px!important}.partner-logos>span{height:24px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:720px){.hero-primary,#courses a{font-size:16px!important;padding-left:20px!important;padding-right:20px!important;white-space:nowrap}}

.hero-kv img{object-fit:contain;width:84%;height:84%;inset:8%}.cta-kv img{object-fit:contain;width:54%;height:54%;inset:23%}

.project-partners{max-width:1440px;margin:0 auto;padding:96px 36px 0}
.project-partners h2{margin:0 0 32px;font-size:clamp(28px,3vw,40px);line-height:1.1;font-weight:500;letter-spacing:-.02em}
.project-partners-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.project-partner{display:flex;align-items:center;justify-content:center;min-width:0;min-height:144px;padding:32px;border-radius:24px;background:#F0F0F0;transition:background-color .15s ease}
.project-partner:hover{background:#E1E1E1}
.project-partner img{display:block;width:100%;max-width:260px;height:56px;object-fit:contain}
.project-partner-cloud img{max-width:248px}
@media(max-width:1080px){.project-partner{padding:24px}.project-partner img{height:48px}}
@media(max-width:720px){.project-partners-grid{grid-template-columns:minmax(0,1fr);gap:12px}.project-partners h2{margin-bottom:24px}.project-partner{min-height:120px;padding:28px}.project-partner img{height:52px}}
.project-partner-museum img{height:88px;max-width:220px}
@media(max-width:720px){.project-partner-museum img{height:80px}}
@media(prefers-reduced-motion:reduce){.project-partner{transition:none}}

/* Keep the keyboard focus ring outside the clipped app viewport. */
.frame-window:focus-within,.frame-window.has-frame-focus{outline:3px solid #027ef2;outline-offset:5px}

@media(max-width:720px){h1{font-size:clamp(28px,9.4vw,40px)!important}}

@media(max-width:720px){
 .hero-primary,#courses a{max-width:100%;white-space:normal;line-height:1.3}
 #courses h2{font-size:clamp(30px,9.4vw,36px)!important}
}
