*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#191919;font:16px/1.55 Arial,Helvetica,sans-serif}.site{width:min(100%,980px);margin:0 auto;background:#fff}a{color:inherit;text-decoration:none}a:hover{color:#666}button{font:inherit;cursor:pointer}.site-header{min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:22px;background:white;padding:14px 6px;position:relative;z-index:9}.logo{flex:0 0 46%;display:block}.logo img{width:100%;max-width:425px;height:auto;display:block}.site-header nav{flex:1}.site-header nav>ul{margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}.site-header nav .nav-item{position:relative;white-space:nowrap}.site-header nav a,.site-header nav button{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-weight:400;color:#000;background:transparent;border:0;padding:12px 2px}.drop{font-size:12px;padding-left:5px}.site-header nav .submenu{position:absolute;top:100%;left:-14px;display:none;min-width:155px;padding:7px 0;margin:0;list-style:none;background:#fff;box-shadow:0 5px 15px #0002;z-index:20}.site-header nav .submenu a{display:block;font-size:15px;padding:9px 16px}.site-header nav .submenu a:hover{background:#ededed}.has-sub:hover .submenu,.has-sub:focus-within .submenu,.has-sub.open .submenu{display:block}.menu-toggle{display:none}.home-banner{background:#fff}.slideshow{position:relative;overflow:hidden;background:#222}.slideshow img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain;background:#000}.slide-btn{position:absolute;top:50%;transform:translateY(-50%);border:0;color:#fff;background:#0006;width:36px;height:52px;font-size:32px;z-index:1;opacity:.35}.slideshow:hover .slide-btn{opacity:1}.prev-slide{left:0}.next-slide{right:0}.slide-count{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:13px;color:#ddd;text-shadow:0 1px 2px #000}.programs-section{padding:55px 0 52px;text-align:center}.programs-section h1{font-size:44px;font-weight:400;margin:6px 0 16px}.program-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.program-cards>a{display:block;text-align:left}.program-cards img{width:100%;height:208px;object-fit:cover;display:block}.program-cards h2{text-align:center;font-size:25px;font-weight:400;margin:14px 0 8px}.program-cards p{text-align:center;font-size:14px;line-height:1.9;margin:0}.home-about{background:#f7f7f7;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:32px;padding:52px 20px}.home-about img{width:100%;height:230px;object-fit:cover}.home-about h2{font-size:34px;font-weight:400;margin:0 0 12px}.home-about p{font-size:16px}.more-link{text-decoration:underline;font-size:15px}.content-page{padding:42px 30px 50px}.content-page h1{font-size:41px;font-weight:400;text-align:center;margin:14px 0 30px}.content-page p{line-height:1.65;margin:0 0 17px}.intro-photo{width:100%;max-height:360px;overflow:hidden}.intro-photo img{width:100%;height:350px;object-fit:cover}.pullquote{font-size:22px;line-height:1.45!important;font-style:italic;text-align:center;margin:12px auto 35px!important;max-width:800px}.teachers-heading{text-align:center;font-size:28px;font-weight:400;margin:48px 0 26px}.teachers{display:grid;grid-template-columns:1fr 1fr;gap:30px 28px}.teacher{display:flex;align-items:center;gap:20px}.teacher img{width:150px;height:220px;object-fit:contain;object-position:center;background:#f5f5f5}.teacher h3{font-size:21px;line-height:1.4;font-weight:400;margin:0 0 13px}.teacher p{font-size:15px;margin:0 0 6px}.teacher .rank{font-size:18px}.history-page .history-entry{display:flex;align-items:flex-start;gap:24px;margin:0 0 30px;clear:both}.history-entry img{width:155px;height:200px;object-fit:contain;flex:0 0 155px}.history-entry p{font-size:15px}.history-list{padding-top:4px}.program-hero{width:100%;max-height:350px;overflow:hidden}.program-hero img{width:100%;height:350px;object-fit:cover}.program-page .schedule{text-align:center;margin:28px auto 32px}.schedule h2{font-size:25px;font-weight:400}.schedule p{margin:6px 0}.program-description{font-size:16px}.program-detail-photo{display:block;width:min(100%,640px);max-height:440px;object-fit:cover;margin:22px auto}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.gallery-image{aspect-ratio:4/3;display:block;overflow:hidden;background:#eee}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.gallery-image:hover img{transform:scale(1.035)}.contact-hero img{display:block;width:100%;max-height:350px;object-fit:cover}.promo{text-align:center;font-size:23px}.promo-small{text-align:center;font-size:19px}.footer-contact{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:45px 30px;border-top:1px solid #ddd;background:#fafafa}.footer-contact h2{font-size:30px;font-weight:400;margin:0 0 24px}.footer-contact p{margin:0 0 10px}.contact-form{display:flex;flex-direction:column;gap:10px}.contact-form input,.contact-form textarea{font:15px Arial,sans-serif;width:100%;padding:10px;border:1px solid #999;background:#fff}.contact-form button{border:none;background:#303030;color:white;padding:12px 20px;align-self:flex-end}.form-message{font-size:14px!important}.copyright{text-align:center;padding:24px 20px 30px;font-size:13px}.lightbox[hidden]{display:none!important}.lightbox{position:fixed;inset:0;background:#000e;display:flex;align-items:center;justify-content:center;z-index:1000}.lightbox img{width:auto;max-width:92vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;background:#0007;color:white;border:0;font-size:40px}.lightbox-close{right:17px;top:8px}.lightbox-prev{left:10px;top:45%}.lightbox-next{right:10px;top:45%}.lightbox-count{position:absolute;bottom:10px;color:white;font-size:13px}@media(max-width:760px){.site-header{display:flex;flex-wrap:wrap;min-height:0;padding:12px}.logo{flex:1 1 280px}.menu-toggle{display:block;background:#fff;border:1px solid #aaa;padding:6px 11px}.site-header nav{display:none;flex-basis:100%}.site-header nav.show{display:block}.site-header nav>ul{display:block}.site-header nav .submenu{position:static;box-shadow:none;border-left:2px solid #ddd;margin-left:15px}.site-header nav .nav-item{white-space:normal;border-bottom:1px solid #ddd}.programs-section{padding:32px 14px}.program-cards{grid-template-columns:1fr;gap:36px}.program-cards img{height:230px}.programs-section h1{font-size:34px}.home-about{grid-template-columns:1fr}.content-page{padding:24px 16px}.content-page h1{font-size:34px}.intro-photo img,.program-hero img{height:240px}.teachers{grid-template-columns:1fr}.history-page .history-entry{display:block}.history-entry img{float:left;margin:0 15px 8px 0}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-contact{grid-template-columns:1fr;padding:28px 18px}.pullquote{font-size:20px}}
/* Keep homepage slideshow the same size */
.slideshow {
    width: 100%;
    aspect-ratio: 762 / 250;
    background-color: #000;
    position: relative;
    overflow: hidden;
}

.slideshow > a {
    position: absolute;
    inset: 0;
    display: block;
}

.slideshow img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: contain;
    object-position: center;
}
