@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Shippori+Mincho:wght@400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

body{
  font-family:'Zen Kaku Gothic New',sans-serif;
  color:#454545;
  background:#ffffff;
  line-height:1.7;
  font-size:15px;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none;transition:color .2s}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}

.visually-hidden{
  position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0;
}

.skip-link:focus{
  position:fixed;top:10px;left:10px;z-index:99999;padding:0.75rem 20px;background:#FFD600;color:#121212;clip:auto;width:auto;height:auto;
}

.container{max-width:1200px;margin:0 auto;padding:0 20px}

.section-mb-xl{margin-bottom:5rem}
.section-mb-m{margin-bottom:55px}
.section-mb-s{margin-bottom:2.25rem}
.section-mb-xs{margin-bottom:28px}
.section-mt-sm{margin-top:1.25em}
.section-mt-xs{margin-top:15px}
.block-mb-s{margin-bottom:15px}
.block-mb-sm{margin-bottom:22px}
.block-mt-s{margin-top:1em}
.mb-5{margin-bottom:5px}

.btn-primary{
  display:inline-block;padding:12px 28px;background:#FFD600;color:#121212;font-weight:700;font-size:14px;
  border:2px solid #FFD600;border-radius:0;cursor:pointer;transition:all .25s;text-align:center;
  font-family:'Zen Kaku Gothic New',sans-serif;letter-spacing:.02em;
}
.btn-primary:hover{background:#121212;color:#FFD600;border-color:#121212}
.btn-primary--sm{padding:8px 1.1rem;font-size:13px}
.btn-primary--lg{padding:1rem 40px;font-size:16px;width:100%}

.btn-secondary{
  display:inline-block;padding:12px 28px;background:transparent;color:#121212;font-weight:700;font-size:14px;
  border:2px solid #121212;border-radius:0;cursor:pointer;transition:all .25s;text-align:center;
  font-family:'Zen Kaku Gothic New',sans-serif;
}
.btn-secondary:hover{background:#121212;color:#ffffff}

.btn-tertiary{
  display:inline-block;padding:0.5em 0;color:#121212;font-weight:600;font-size:14px;
  border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s;background:none;
  font-family:'Zen Kaku Gothic New',sans-serif;
}
.btn-tertiary:hover{border-bottom-color:#FFD600}

.pre-header{
  background:#ffffff;border-bottom:1px solid #f0f0f0;padding:10px 0;
}
.pre-header__container{
  max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;
}
.pre-header__logo-img{width:168px;height:56px;object-fit:contain}
.icp-preheader-menu{display:flex;gap:10px;align-items:center}
.icp-preheader-menu__item{display:inline-block}

.header{position:relative}

.icp-navigation-mobile{display:none}
.icp-navigation-mobile__primary{
  display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#fff;border-bottom:1px solid #eee;
}
.icp-navigation-mobile__primary img{height:40px;width:auto}
.burger{width:28px;height:20px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer}
.burger-bar{width:100%;height:3px;background:#121212;transition:all .3s;border-radius:1px}
.burger--active .burger-bar:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.burger--active .burger-bar:nth-child(2){opacity:0}
.burger--active .burger-bar:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
.icp-navigation-mobile__dropdown{
  display:none;background:#fff;padding:20px;border-bottom:3px solid #FFD600;
}
.icp-navigation-mobile__dropdown--open{display:block}
.icp-navigation-menu--mobile{display:flex;flex-direction:column;gap:0}
.icp-navigation-menu--mobile .icp-navigation-menu__item{border-bottom:1px solid #f0f0f0}
.icp-navigation-menu--mobile .icp-navigation-menu__link{display:block;padding:14px 0;font-weight:500;font-size:1rem}
.icp-preheader-menu--mobile{margin-top:1.25rem;flex-direction:column}
.icp-preheader-menu--mobile .btn-primary{width:100%;text-align:center}

.main-navigation{
  background:#ffffff;border-bottom:1px solid #eee;padding:0;transition:all .3s;
}
.main-navigation--sticky{
  position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:0 2px 20px rgba(0,0,0,.08);
}
.main-navigation .container{display:flex;justify-content:space-between;align-items:center}
.nav-cols{display:flex;align-items:center;gap:0}
.icp-navigation__logo-link{display:flex;align-items:center;margin-right:40px;padding:14px 0}
.icp-navigation__logo-img{width:168px;height:56px;object-fit:contain}
.icp-navigation-menu{display:flex;list-style:none;gap:0}
.icp-navigation-menu--level-1{display:flex}
.icp-navigation-menu__link{
  display:block;padding:18px 16px;font-size:14px;font-weight:500;color:#121212;text-decoration:none;
  position:relative;transition:color .2s;
}
.icp-navigation-menu__link::after{
  content:'';position:absolute;bottom:0;left:16px;right:16px;height:3px;background:#FFD600;
  transform:scaleX(0);transition:transform .25s;
}
.icp-navigation-menu__link:hover::after{transform:scaleX(1)}

.icp-search-menu{display:flex;align-items:center;margin-right:1.25rem}
.icp-search-menu__item-desktop-link{
  display:flex;align-items:center;gap:6px;padding:10px 0;font-size:14px;color:#454545;font-weight:500;
}
.icp-search-menu__item-desktop-link:hover{color:#121212}

.icp-external-links-menu{display:flex;align-items:center}
.icp-external-links-menu__item{display:flex;align-items:center;gap:4px}
.icp-external-links-menu__item a{
  font-size:14px;font-weight:600;color:#121212;padding:10px 0;
}
.icp-external-links-menu__item a:hover{color:#FFD600}

.banner-slider{position:relative;overflow:hidden}
.banner__wrap--overlap{
  display:flex;align-items:stretch;min-height:500px;
}
.banner__image{flex:0 0 55%;position:relative;overflow:hidden}
.banner__image .normal-img{width:100%;height:100%;object-fit:cover}
.banner__info{
  flex:1;padding:60px 50px;display:flex;flex-direction:column;justify-content:center;background:#ffffff;
}
.banner__info H2{
  font-family:'Shippori Mincho',serif;font-size:1.75rem;line-height:1.5;color:#121212;margin-bottom:16px;font-weight:700;
}
.banner__info p{color:#454545;font-size:14px;line-height:1.8;margin-bottom:8px}
.banner__info p strong{color:#121212;font-size:13px;letter-spacing:.05em}
.banner__ctas{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}

.swiper-pagination{bottom:20px !important}
.swiper-pagination-bullet{
  width:10px;height:10px;background:#121212;opacity:.25;transition:all .3s;
}
.swiper-pagination-bullet-active{opacity:1;background:#FFD600;width:28px;border-radius:5px}

.ancmnt-banner{overflow:hidden}
.ancmnt-banner__wrap{display:flex;align-items:stretch;min-height:380px}
.image_in_right .ancmnt-banner__wrap{flex-direction:row-reverse}
.ancmnt-banner__left{flex:0 0 50%}
.ancmnt-banner__image{width:100%;height:100%;position:relative}
.ancmnt-banner__image .normal-img{width:100%;height:100%;object-fit:cover}
.ancmnt-banner__right{flex:1;display:flex;align-items:center}
.ancmnt-banner__info{padding:50px}
.ancmnt-banner__title{
  font-family:'Shippori Mincho',serif;font-size:26px;color:#121212;margin-bottom:1em;font-weight:700;line-height:1.5;
}
.ancmnt-banner__text p{font-size:14px;line-height:1.9;color:#454545;margin-bottom:1.25rem}
.ancmnt-banner__ctas{display:flex;gap:10px;flex-wrap:wrap}

.title-cta{margin-bottom:30px}
.title-cta__container{display:flex;justify-content:space-between;align-items:flex-end}
.title-cta__title{
  font-family:'Shippori Mincho',serif;font-size:2rem;color:#121212;font-weight:700;line-height:1.4;
}
.title-cta__subtitle{font-size:14px;color:#6D758F;margin-top:6px}

.courseGrid__layout{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.courseCard{
  background:#ffffff;border:1px solid #eee;position:relative;overflow:hidden;
  transition:transform .3s,box-shadow .3s;
}
.courseCard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.1)}
.courseCard__badge{
  position:absolute;top:16px;right:16px;z-index:2;background:#FFD600;color:#121212;
  font-size:11px;font-weight:700;padding:4px 12px;letter-spacing:.05em;
}
.courseCard__badge--trad{background:#121212;color:#FFD600}
.courseCard__badge--new{background:#c72c41;color:#fff}
.courseCard__badge--care{background:#2d6a4f;color:#fff}
.courseCard__visual{height:200px;overflow:hidden;background:#f5f5f3}
.courseCard__visual .normal-img{width:100%;height:100%;object-fit:cover}
.courseCard__info{padding:24px}
.courseCard__title{
  font-family:'Shippori Mincho',serif;font-size:1.125rem;font-weight:700;color:#121212;margin-bottom:0.5em;
}
.courseCard__desc{font-size:13px;color:#454545;line-height:1.8;margin-bottom:14px}
.courseCard__meta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:1rem}
.courseCard__level,.courseCard__freq{font-size:12px;color:#6D758F}
.courseCard__pricing{margin-bottom:16px}
.courseCard__price{font-family:'Shippori Mincho',serif;font-size:28px;font-weight:700;color:#121212}
.courseCard__period{font-size:13px;color:#6D758F;margin-left:2px}
.courseCard__ctas .btn-primary{width:100%;text-align:center;padding:10px 20px}
.courseGrid__bottom-ctas{text-align:center;margin-top:1.875rem}

.layout--threecol-section--25-25-50{
  display:grid;grid-template-columns:25% 25% 50%;gap:0;
}
.layout--threecol-section--33-34-33{
  display:grid;grid-template-columns:33.33% 33.34% 33.33%;gap:0;
}

.people-card__wrap{transition:opacity .2s}
.people-card__wrap:hover{opacity:.85}
.people-card__wrap a{text-decoration:none;color:inherit;display:block}
.people-card__image .normal-img{width:100%;height:260px;object-fit:cover}
.people-card__info{padding:14px 16px}
.people-card__title{font-family:'Shippori Mincho',serif;font-size:1rem;font-weight:700;color:#121212;margin-bottom:4px}
.people-card__text{font-size:12px;color:#6D758F;line-height:1.6}

.paragraph--type--people-card{margin-bottom:20px}

.info-card{
  background:#f9f9f7;padding:0;height:100%;display:flex;flex-direction:column;
}
.info-card__container{padding:30px;flex:1;display:flex;flex-direction:column}
.info-card__status{
  background:#FFD600;color:#121212;padding:10px 20px;font-size:13px;font-weight:700;
  text-align:center;letter-spacing:.03em;
}
.info-card__description{margin-bottom:1.25rem}
.info-card__description p{font-size:13px;line-height:1.8;color:#454545;margin-bottom:6px}
.info-card__description p a{color:#121212;font-weight:600;border-bottom:1px solid #FFD600}
.info-card__description p a:hover{color:#FFD600}
.info-card__ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}

.events-exhibitions__wrapper{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.events-exhibitions__title{
  font-family:'Shippori Mincho',serif;font-size:2rem;color:#121212;font-weight:700;
}
.events-exhibitions__cta-desktop{display:block}
.events-exhibitions__cta-mobile{display:none;margin-top:20px;text-align:center}

.events-exhibitions__items.events-exhibition-4{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
}
.events-exhibitions-item__left-column{display:flex;flex-direction:column}
.events-exhibitions-item__right-column{display:flex;flex-direction:column;gap:0}
.events-exhibitions-item__right-column .events-block{padding:12px 0;border-bottom:1px solid #eee}
.events-exhibitions-item__right-column .events-block:last-child{border-bottom:none}
.events-block{position:relative}
.events-block__link{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}
.event-item{display:flex;flex-direction:column;transition:opacity .2s}
.events-block:hover .event-item{opacity:.85}
.event-item__image{overflow:hidden;background:#f5f5f3}
.event-item__image .normal-img{width:100%;height:auto;object-fit:cover}
.event-item--featured .event-item__image .normal-img{height:300px}
.event-item__wrapper{padding:16px 0}
.events-block__title{font-family:'Shippori Mincho',serif;font-size:1rem;font-weight:700;color:#121212;margin-bottom:6px}
.event-item__description{font-size:13px;color:#454545;line-height:1.7;margin-bottom:0.75em}
.event-item__featured{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.event-item__icon{display:flex;align-items:center}
.event-item__details{flex:1}
.event-item__caption{font-size:12px;color:#6D758F}
.event-item__type{font-size:11px;color:#6D758F;margin-top:2px}
.event-item__date{font-size:13px;font-weight:700;color:#121212;white-space:nowrap}
.event-item--row{display:flex;flex-direction:row;align-items:flex-start;gap:16px}
.event-item--row .event-item__image--sm{flex:0 0 140px;overflow:hidden;background:#f5f5f3}
.event-item--row .event-item__image--sm .normal-img{width:140px;height:100px;object-fit:cover}
.event-item--row .event-item__wrapper{flex:1;padding:0}

.info-banner{
  background-size:cover;background-position:center;position:relative;overflow:hidden;
  background-color:#121212;
}
.info-banner__wrap{
  display:flex;align-items:center;justify-content:center;min-height:360px;padding:60px 20px;
}
.info-banner__box{
  text-align:center;max-width:560px;background:rgba(255,255,255,.96);padding:50px 40px;
  backdrop-filter:blur(4px);
}
.info-banner__title{
  font-family:'Shippori Mincho',serif;font-size:30px;color:#121212;font-weight:700;margin-bottom:16px;
}
.info-banner__text p{font-size:14px;color:#454545;line-height:1.8;margin-bottom:20px}
.info-banner__ctas{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}

.testimonials-block__layout{
  display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
}
.testimonialCard{
  background:#f9f9f7;padding:30px;
}
.testimonialCard__stars{margin-bottom:14px;color:#FFD600;font-size:16px;letter-spacing:2px}
.testimonialCard__text{margin-bottom:20px}
.testimonialCard__text p{font-size:14px;line-height:1.9;color:#454545}
.testimonialCard__author{display:flex;align-items:center;gap:12px}
.testimonialCard__avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}
.testimonialCard__authorInfo{display:flex;flex-direction:column}
.testimonialCard__authorInfo strong{font-size:14px;color:#121212}
.testimonialCard__authorInfo span{font-size:12px;color:#6D758F}

.schedule-block__table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.schedule-block__table{width:100%;border-collapse:collapse;min-width:700px}
.schedule-block__table th{
  padding:14px 10px;font-size:13px;font-weight:700;color:#121212;background:#f9f9f7;
  border-bottom:2px solid #121212;text-align:center;
}
.schedule-block__table td{
  padding:10px;font-size:12px;border-bottom:1px solid #eee;text-align:center;vertical-align:top;
  min-width:100px;height:70px;
}
.schedule-block__time{font-weight:700;color:#121212;background:#fafaf8}
.schedule-block__label{display:block;font-weight:600;font-size:11px;color:#121212;margin-bottom:2px}
.schedule-block__teacher{display:block;font-size:10px;color:#6D758F}
.schedule-block__cell--ballroom{background:#fff8d6}
.schedule-block__cell--nihon{background:#f0f0f0}
.schedule-block__cell--tango{background:#fce4ec}
.schedule-block__cell--hula{background:#e8f5e9}
.schedule-block__cell--chair{background:#e3f2fd}
.schedule-block__cell--stretch{background:#fff3e0}

.benefits-block__layout{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.benefitItem{padding:30px;background:#f9f9f7;transition:transform .2s}
.benefitItem:hover{transform:translateY(-3px)}
.benefitItem__icon{margin-bottom:16px}
.benefitItem__icon .material-symbols-outlined{font-size:32px;color:#FFD600}
.benefitItem__yen{display:inline-block;font-family:'Shippori Mincho',serif;font-size:32px;font-weight:700;color:#FFD600}
.benefitItem__title{
  font-family:'Shippori Mincho',serif;font-size:17px;font-weight:700;color:#121212;margin-bottom:10px;
}
.benefitItem__text{font-size:13px;color:#454545;line-height:1.8}

.booking-form-block__wrap{display:grid;grid-template-columns:380px 1fr;gap:40px}
.booking-form-block__left{background:#121212;padding:40px;color:#ffffff}
.booking-form-block__info{display:flex;flex-direction:column;gap:28px}
.booking-form-block__infoItem{display:flex;gap:14px;align-items:flex-start}
.booking-form-block__infoItem .material-symbols-outlined{font-size:20px;color:#FFD600;margin-top:3px;flex-shrink:0}
.booking-form-block__infoItem strong{display:block;font-size:13px;color:#FFD600;margin-bottom:4px}
.booking-form-block__infoItem p{font-size:13px;color:rgba(255,255,255,.8);line-height:1.6}
.booking-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.booking-form__field{display:flex;flex-direction:column}
.booking-form__field--full{grid-column:1/-1}
.booking-form__field label{font-size:13px;font-weight:600;color:#121212;margin-bottom:6px}
.req{color:#c72c41}
.booking-form__field input,
.booking-form__field select,
.booking-form__field textarea{
  padding:12px 14px;border:1px solid #ddd;font-size:14px;font-family:'Zen Kaku Gothic New',sans-serif;
  color:#121212;transition:border-color .2s;background:#fff;width:100%;
}
.booking-form__field input:focus,
.booking-form__field select:focus,
.booking-form__field textarea:focus{
  outline:none;border-color:#FFD600;box-shadow:0 0 0 3px rgba(255,214,0,.15);
}
.booking-form__field textarea{resize:vertical}
.booking-form__error{font-size:12px;color:#c72c41;margin-top:4px;min-height:16px}
.booking-form__checkbox{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}
.booking-form__checkbox input{width:auto;margin:0}
.booking-form__checkbox a{color:#121212;font-weight:600;border-bottom:1px solid #FFD600}
.booking-form__submit{margin-top:8px}

.faq-block__layout{max-width:800px}
.faqItem{border-bottom:1px solid #eee}
.faqItem__question{
  display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;gap:16px;
}
.faqItem__question span:first-child{font-size:15px;font-weight:600;color:#121212;line-height:1.6}
.faqItem__toggle{
  font-size:22px;font-weight:300;color:#121212;flex-shrink:0;transition:transform .3s;
  line-height:1;user-select:none;
}
.faqItem--open .faqItem__toggle{transform:rotate(45deg)}
.faqItem__answer{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease}
.faqItem--open .faqItem__answer{max-height:300px;padding-bottom:20px}
.faqItem__answer p{font-size:14px;color:#454545;line-height:1.8}

.footer{background:#121212;color:#ffffff}
.footer__top{padding:60px 0 40px}
.footer__main{display:flex;gap:60px}
.footer__branding{flex:0 0 280px}
.footer__branding__logo{margin-bottom:20px}
.footer__branding__logo img{width:168px;height:56px;object-fit:contain}
.footer__branding--address p{font-size:13px;color:rgba(255,255,255,.7);line-height:1.7;margin-bottom:12px}
.footer__branding--address strong{color:#FFD600;font-size:12px;letter-spacing:.03em}
.footer__navigation{flex:1}
.footer__navigation .menu{display:flex;gap:40px}
.footer .menu__item--expanded>span{
  display:block;font-weight:700;font-size:13px;color:#FFD600;margin-bottom:14px;letter-spacing:.03em;
}
.footer .menu__item--expanded .menu{display:flex;flex-direction:column;gap:10px}
.footer .menu__item a{font-size:13px;color:rgba(255,255,255,.7);transition:color .2s}
.footer .menu__item a:hover{color:#FFD600}
.footer__container{padding:20px 0}
.footer__bottom{display:flex;justify-content:space-between;align-items:center}
.footer__copyright-block{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.footer__copyright-message{font-size:12px;color:rgba(255,255,255,.5)}
.footer__copyright-block .menu{display:flex;gap:16px}
.footer__copyright-block .menu__item a{font-size:12px;color:rgba(255,255,255,.5)}
.footer__copyright-block .menu__item a:hover{color:#FFD600}

.booking-form__field--invalid input,
.booking-form__field--invalid select,
.booking-form__field--invalid textarea{border-color:#c72c41;box-shadow:0 0 0 3px rgba(199,44,65,.1)}

.cookie-consent{
  position:fixed;bottom:0;left:0;width:100%;z-index:9999;
  background:#1a1a1a;color:#fff;
  transform:translateY(100%);transition:transform .4s ease;
}
.cookie-consent--visible{transform:translateY(0)}
.cookie-consent__inner{padding:24px 20px}
.cookie-consent__main{display:flex;align-items:flex-start;gap:24px}
.cookie-consent__text{flex:1}
.cookie-consent__text strong{display:block;font-size:15px;margin-bottom:6px;color:#fff}
.cookie-consent__text p{font-size:13px;color:rgba(255,255,255,.7);line-height:1.7;margin:0}
.cookie-consent__text a{color:#FFD600;border-bottom:1px solid rgba(255,214,0,.3)}
.cookie-consent__actions{display:flex;gap:10px;align-items:center;flex-shrink:0}
.cookie-consent__actions .btn-primary{padding:10px 20px;font-size:13px}
.cookie-consent__actions .btn-secondary{padding:10px 20px;font-size:13px;color:#fff;border-color:rgba(255,255,255,.3)}
.cookie-consent__actions .btn-secondary:hover{background:rgba(255,255,255,.1);color:#fff}
.cookie-consent__decline{
  background:none;border:none;color:rgba(255,255,255,.5);font-size:13px;cursor:pointer;
  padding:10px 16px;font-family:inherit;transition:color .2s;
}
.cookie-consent__decline:hover{color:#fff}
.cookie-consent__settings{display:none}
.cookie-consent__settingsHeader{margin-bottom:20px}
.cookie-consent__settingsHeader strong{display:block;font-size:15px;color:#fff;margin-bottom:4px}
.cookie-consent__settingsHeader p{font-size:13px;color:rgba(255,255,255,.6);margin:0}
.cookie-consent__category{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.cookie-consent__catHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.cookie-consent__catHeader span{font-size:14px;font-weight:600;color:#fff}
.cookie-consent__always{font-size:12px;color:#FFD600;font-weight:500}
.cookie-consent__catDesc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.6;margin:0}
.cookie-consent__switch{position:relative;display:inline-block;width:42px;height:24px}
.cookie-consent__switch input{opacity:0;width:0;height:0}
.cookie-consent__slider{
  position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;
  background:rgba(255,255,255,.2);transition:.3s;border-radius:24px;
}
.cookie-consent__slider::before{
  content:'';position:absolute;height:18px;width:18px;left:3px;bottom:3px;
  background:#fff;transition:.3s;border-radius:50%;
}
.cookie-consent__switch input:checked+.cookie-consent__slider{background:#FFD600}
.cookie-consent__switch input:checked+.cookie-consent__slider::before{transform:translateX(18px)}
.cookie-consent__settingsActions{margin-top:20px;display:flex;gap:10px}

.thankYou-overlay{
  position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);
  z-index:10000;display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:all .3s;
}
.thankYou-overlay--visible{opacity:1;visibility:visible}
.thankYou-modal{
  background:#ffffff;padding:3.125rem;text-align:center;max-width:480px;width:90%;position:relative;
}
.thankYou-modal__close{
  position:absolute;top:16px;right:20px;background:none;border:none;font-size:28px;
  color:#454545;cursor:pointer;line-height:1;
}
.thankYou-modal__icon{font-size:56px;color:#FFD600;margin-bottom:20px;line-height:1}
.thankYou-modal__title{
  font-family:'Shippori Mincho',serif;font-size:1.5rem;color:#121212;font-weight:700;margin-bottom:12px;
}
.thankYou-modal__text{font-size:14px;color:#454545;line-height:1.8;margin-bottom:24px}

.process-block__layout{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;
}
.process-block__layout::before{
  content:'';position:absolute;top:28px;left:60px;right:60px;height:2px;background:#eee;z-index:0;
}
.process-block__step{padding:0 20px;text-align:center;position:relative;z-index:1}
.process-block__number{
  display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;background:#FFD600;color:#121212;
  font-family:'Shippori Mincho',serif;font-size:20px;font-weight:700;margin-bottom:18px;
}
.process-block__title{
  font-family:'Shippori Mincho',serif;font-size:16px;font-weight:700;color:#121212;margin-bottom:10px;
}
.process-block__text{font-size:13px;color:#454545;line-height:1.85;text-align:left}

.pricing-block__layout{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.pricing-block__card{
  background:#ffffff;border:1px solid #eee;padding:32px 28px;position:relative;
  transition:transform .3s,box-shadow .3s;
}
.pricing-block__card:hover{transform:translateY(-3px);box-shadow:0 10px 36px rgba(0,0,0,.08)}
.pricing-block__card--featured{border:2px solid #FFD600;padding:38px 28px}
.pricing-block__badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:#FFD600;color:#121212;font-size:12px;font-weight:700;padding:4px 16px;white-space:nowrap;
}
.pricing-block__header{margin-bottom:20px}
.pricing-block__name{
  font-family:'Shippori Mincho',serif;font-size:20px;font-weight:700;color:#121212;margin-bottom:4px;
}
.pricing-block__catch{font-size:13px;color:#6D758F}
.pricing-block__priceWrap{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #eee}
.pricing-block__price{font-family:'Shippori Mincho',serif;font-size:36px;font-weight:700;color:#121212}
.pricing-block__period{font-size:13px;color:#6D758F;margin-left:4px}
.pricing-block__features{margin-bottom:28px}
.pricing-block__featureItem{
  display:flex;align-items:flex-start;gap:8px;padding:7px 0;font-size:13px;color:#454545;
}
.pricing-block__featureItem i{font-size:16px;color:#FFD600;margin-top:1px;flex-shrink:0}
.pricing-block__featureItem--disabled{color:#bbb}
.pricing-block__featureItem--disabled i{color:#ddd}
.pricing-block__cta{text-align:center}
.pricing-block__cta .btn-secondary,.pricing-block__cta .btn-primary{width:100%}
.pricing-block__note{margin-top:24px;padding:20px;background:#f9f9f7}
.pricing-block__note p{font-size:12px;color:#6D758F;line-height:1.8}

.stats-block__layout{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stats-block__item{padding:28px;background:#f9f9f7;border-top:3px solid #FFD600}
.stats-block__number{
  font-family:'Shippori Mincho',serif;font-size:44px;font-weight:700;color:#121212;line-height:1.1;
  margin-bottom:6px;
}
.stats-block__unit{font-size:20px;font-weight:500;color:#6D758F;margin-left:2px}
.stats-block__label{font-size:13px;font-weight:700;color:#121212;margin-bottom:10px;line-height:1.5}
.stats-block__detail{font-size:12px;color:#454545;line-height:1.85}

@media(max-width:1024px){
  .courseGrid__layout{grid-template-columns:repeat(2,1fr)}
  .layout--threecol-section--25-25-50{grid-template-columns:1fr 1fr}
  .layout--threecol-section--25-25-50 .layout__region--third{grid-column:1/-1;margin-top:20px}
  .benefits-block__layout{grid-template-columns:repeat(2,1fr)}
  .booking-form-block__wrap{grid-template-columns:1fr}
  .testimonials-block__layout{grid-template-columns:repeat(2,1fr)}
  .process-block__layout{grid-template-columns:repeat(2,1fr);gap:30px}
  .process-block__layout::before{display:none}
  .pricing-block__layout{grid-template-columns:repeat(3,1fr)}
  .stats-block__layout{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  .pre-header{display:none}
  .icp-navigation-mobile{display:block}
  .main-navigation{display:none}
  
  .banner__wrap--overlap{flex-direction:column;min-height:auto}
  .banner__image{flex:none}
  .banner__image .normal-img{height:260px}
  .banner__info{padding:30px 20px}
  .banner__info H2{font-size:22px}
  
  .ancmnt-banner__wrap{flex-direction:column !important}
  .ancmnt-banner__left{flex:none}
  .ancmnt-banner__image .normal-img{height:240px}
  .ancmnt-banner__info{padding:30px 20px}
  .ancmnt-banner__title{font-size:1.375rem}
  
  .courseGrid__layout{grid-template-columns:1fr}
  .title-cta__title{font-size:1.5rem}
  
  .layout--threecol-section--25-25-50{grid-template-columns:1fr}
  .layout--threecol-section--33-34-33{grid-template-columns:1fr}
  
  .people-card__image .normal-img{height:200px}
  
  .events-exhibitions__items.events-exhibition-4{grid-template-columns:1fr}
  .events-exhibitions__cta-desktop{display:none}
  .events-exhibitions__cta-mobile{display:block}
  
  .info-banner__wrap{min-height:auto;padding:2.5rem 20px}
  .info-banner__box{padding:30px 20px}
  .info-banner__title{font-size:24px}
  
  .testimonials-block__layout{grid-template-columns:1fr}
  .benefits-block__layout{grid-template-columns:1fr}
  .process-block__layout{grid-template-columns:1fr;gap:24px}
  .process-block__step{text-align:left;display:flex;gap:16px;padding:0}
  .process-block__number{flex-shrink:0;width:44px;height:44px;font-size:16px}
  .pricing-block__layout{grid-template-columns:1fr}
  .pricing-block__card--featured{order:-1}
  .stats-block__layout{grid-template-columns:1fr}
  
  .booking-form-block__wrap{grid-template-columns:1fr}
  .booking-form__row{grid-template-columns:1fr}
  
  .footer__main{flex-direction:column;gap:1.875rem}
  .footer__branding{flex:none}
  .footer__navigation .menu{flex-wrap:wrap;gap:30px}
  .subscribe-with-email{flex-direction:column;gap:1rem;text-align:center}
  .nl-form{flex-direction:column;gap:10px}
  .nl-form__input{min-width:auto}
  .footer__bottom{flex-direction:column;gap:12px;text-align:center}
  
  .cookie-consent__main{flex-direction:column;gap:16px}
  .cookie-consent__actions{flex-wrap:wrap;justify-content:center}
  
  .schedule-block__table{min-width:600px}
}

@media(max-width:480px){
  .container{padding:0 16px}
  .banner__image .normal-img{height:200px}
  .banner__info H2{font-size:1.25rem}
  .banner__info p{font-size:13px}
  .banner__ctas{flex-direction:column}
  .banner__ctas .btn-secondary,.banner__ctas .btn-primary{width:100%;text-align:center}
  .info-banner__ctas{flex-direction:column}
  .info-banner__ctas .btn-secondary,.info-banner__ctas .btn-primary{width:100%;text-align:center}
  .ancmnt-banner__ctas{flex-direction:column}
  .testimonialCard{padding:20px}
}
.pg-hero{padding:60px 0 40px;border-bottom:1px solid #eee;margin-bottom:50px}
.pg-hero--with-image{padding:60px 0 0;border-bottom:none}
.pg-hero__breadcrumb{font-size:13px;color:#6D758F;margin-bottom:16px}
.pg-hero__breadcrumb a{color:#6D758F;border-bottom:1px solid transparent;transition:border-color .2s}
.pg-hero__breadcrumb a:hover{border-bottom-color:#6D758F}
.pg-hero__breadcrumb span{margin:0 6px;color:#ccc}
.pg-hero__title{
  font-family:'Shippori Mincho',serif;font-size:34px;font-weight:700;color:#121212;
  line-height:1.4;margin-bottom:16px;max-width:720px;
}
.pg-hero__lead{font-size:15px;color:#454545;line-height:1.85;max-width:640px}
.pg-hero__ctas{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}
.pg-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.pg-hero__imageCol .normal-img{width:100%;height:auto;object-fit:cover}

.pgProgramDetail{
  display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:start;
  padding:40px 0;border-bottom:1px solid #eee;
}
.pgProgramDetail:last-child{border-bottom:none}
.pgProgramDetail--reverse{direction:rtl}
.pgProgramDetail--reverse>*{direction:ltr}
.pgProgramDetail__content{}
.pgProgramDetail__title{
  font-family:'Shippori Mincho',serif;font-size:24px;font-weight:700;color:#121212;margin-bottom:8px;
}
.pgProgramDetail__badge{
  display:inline-block;background:#FFD600;color:#121212;font-size:11px;font-weight:700;
  padding:3px 10px;margin-bottom:14px;
}
.pgProgramDetail__badge--dark{background:#121212;color:#FFD600}
.pgProgramDetail__badge--green{background:#2d6a4f;color:#fff}
.pgProgramDetail__badge--blue{background:#0f3460;color:#fff}
.pgProgramDetail__text{font-size:14px;color:#454545;line-height:1.9;margin-bottom:20px}
.pgProgramDetail__meta{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px}
.pgProgramDetail__meta span{display:flex;align-items:center;gap:5px;font-size:13px;color:#6D758F}
.pgProgramDetail__meta .material-symbols-outlined{font-size:18px;color:#FFD600}
.pgProgramDetail__image .normal-img{width:100%;height:auto;object-fit:cover}

.pgPriceTable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pgPriceTable{width:100%;border-collapse:collapse;min-width:600px}
.pgPriceTable th{
  padding:14px 16px;font-size:13px;font-weight:700;color:#121212;background:#f9f9f7;
  border-bottom:2px solid #121212;text-align:left;
}
.pgPriceTable td{padding:14px 16px;font-size:14px;color:#454545;border-bottom:1px solid #eee}
.pgPriceTable tr:hover td{background:#fffde6}
.pgPriceTable__note{font-size:12px;color:#6D758F;margin-top:16px;line-height:1.7}

.pgSteps{display:flex;flex-direction:column;gap:0;max-width:700px}
.pgStep{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid #eee}
.pgStep:last-child{border-bottom:none}
.pgStep__num{
  flex-shrink:0;width:40px;height:40px;border-radius:50%;background:#FFD600;color:#121212;
  font-family:'Shippori Mincho',serif;font-size:18px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.pgStep__body strong{display:block;font-size:15px;color:#121212;margin-bottom:4px}
.pgStep__body p{font-size:13px;color:#454545;line-height:1.7;margin:0}

.schedule-block--full .schedule-block__table{min-width:750px}
.schedule-block__legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px;padding:16px 0;border-top:1px solid #eee}
.schedule-block__legendItem{display:flex;align-items:center;gap:6px;font-size:12px;color:#454545}
.schedule-block__legendColor{display:inline-block;width:16px;height:16px;border:1px solid #eee}

.pgNotice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.pgNotice{padding:28px;background:#f9f9f7}
.pgNotice__icon{margin-bottom:12px}
.pgNotice__icon .material-symbols-outlined{font-size:28px;color:#FFD600}
.pgNotice__title{
  font-family:'Shippori Mincho',serif;font-size:16px;font-weight:700;color:#121212;margin-bottom:8px;
}
.pgNotice p{font-size:13px;color:#454545;line-height:1.8;margin:0}

.pgCalendar-list{max-width:700px}
.pgCalendar-item{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid #eee}
.pgCalendar-item:last-child{border-bottom:none}
.pgCalendar-item__date{flex:0 0 180px;font-size:14px;font-weight:600;color:#121212}
.pgCalendar-item__label{
  flex:0 0 auto;font-size:11px;font-weight:700;padding:3px 10px;margin-right:8px;
}
.pgCalendar-item__label--closed{background:#fce4ec;color:#c72c41}
.pgCalendar-item__label--special{background:#fff8d6;color:#8a6d00}
.pgCalendar-item__label--event{background:#e3f2fd;color:#0f3460}
.pgCalendar-item__note{font-size:13px;color:#454545;flex:1}

.pgTimeline-block{max-width:700px}
.pgTimeline{position:relative;padding-left:32px}
.pgTimeline::before{
  content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:#eee;
}
.pgTimeline__item{position:relative;padding:0 0 36px 24px}
.pgTimeline__item:last-child{padding-bottom:0}
.pgTimeline__item::before{
  content:'';position:absolute;left:-26px;top:4px;width:14px;height:14px;
  border-radius:50%;background:#FFD600;border:3px solid #fff;box-shadow:0 0 0 2px #eee;
}
.pgTimeline__time{font-size:12px;font-weight:700;color:#FFD600;margin-bottom:6px;letter-spacing:.03em}
.pgTimeline__content h3{
  font-family:'Shippori Mincho',serif;font-size:17px;font-weight:700;color:#121212;margin-bottom:8px;
}
.pgTimeline__content p{font-size:14px;color:#454545;line-height:1.85;margin:0}

.pgInstructor-grid{display:flex;flex-direction:column;gap:0}
.pgInstructor{
  display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start;
  padding:48px 0;border-bottom:1px solid #eee;
}
.pgInstructor:last-child{border-bottom:none}
.pgInstructor--reverse{direction:rtl}
.pgInstructor--reverse>*{direction:ltr}
.pgInstructor__photo .normal-img{width:100%;height:400px;object-fit:cover}
.pgInstructor__photo--placeholder{display:flex;align-items:center;justify-content:center;background:#f5f5f3;height:400px}
.pgInstructor__photoPlaceholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.pgInstructor__photoPlaceholder .material-symbols-outlined{font-size:72px;color:#ccc}
.pgInstructor__role{font-size:12px;font-weight:700;color:#FFD600;letter-spacing:.05em;margin-bottom:8px}
.pgInstructor__name{
  font-family:'Shippori Mincho',serif;font-size:26px;font-weight:700;color:#121212;margin-bottom:10px;
}
.pgInstructor__qual{font-size:12px;color:#6D758F;margin-bottom:18px;line-height:1.6}
.pgInstructor__bio{font-size:14px;color:#454545;line-height:1.9;margin-bottom:18px}
.pgInstructor__courses{
  display:flex;align-items:center;gap:6px;font-size:13px;color:#6D758F;
  padding-top:14px;border-top:1px solid #eee;
}
.pgInstructor__courses .material-symbols-outlined{font-size:18px;color:#FFD600}

@media(max-width:1024px){
  .pgProgramDetail{grid-template-columns:1fr 340px}
  .pgInstructor{grid-template-columns:280px 1fr}
}
@media(max-width:768px){
  .pg-hero__title{font-size:24px}
  .pg-hero__grid{grid-template-columns:1fr;gap:24px}
  .pg-hero__imageCol{order:-1}
  .pgProgramDetail{grid-template-columns:1fr;gap:20px}
  .pgProgramDetail--reverse{direction:ltr}
  .pgProgramDetail__image{order:-1}
  .pgNotice-grid{grid-template-columns:1fr}
  .pgCalendar-item{flex-direction:column;gap:8px}
  .pgCalendar-item__date{flex:none}
  .pgInstructor{grid-template-columns:1fr;gap:24px}
  .pgInstructor--reverse{direction:ltr}
  .pgInstructor__photo .normal-img{height:300px}
  .pgInstructor__photo--placeholder{height:200px}
  .pgTimeline{padding-left:24px}
  .pgTimeline__item{padding-left:20px}
  .pgTimeline__item::before{left:-18px;width:12px;height:12px}
}
@media(max-width:480px){
  .pg-hero{padding:40px 0 30px}
  .pg-hero__title{font-size:21px}
  .pg-hero__ctas{flex-direction:column}
  .pg-hero__ctas .btn-primary,.pg-hero__ctas .btn-secondary{width:100%;text-align:center}
  .pgInstructor__name{font-size:22px}
}
.legalPage{max-width:780px;margin:0 auto;padding:60px 20px 80px}
.legalPage__breadcrumb{font-size:13px;color:#6D758F;margin-bottom:20px}
.legalPage__breadcrumb a{color:#6D758F;border-bottom:1px solid transparent;transition:border-color .2s}
.legalPage__breadcrumb a:hover{border-bottom-color:#6D758F}
.legalPage__breadcrumb span{margin:0 6px;color:#ccc}
.legalPage__title{
  font-family:'Shippori Mincho',serif;font-size:28px;font-weight:700;color:#121212;
  margin-bottom:32px;padding-bottom:20px;border-bottom:2px solid #121212;
}
.legalPage__body{}
.legalPage__body p{font-size:14px;color:#454545;line-height:1.9;margin-bottom:16px}
.legalPage__body h2{
  font-family:'Shippori Mincho',serif;font-size:18px;font-weight:700;color:#121212;
  margin-top:36px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #eee;
}
.legalPage__body h3{font-size:15px;font-weight:700;color:#121212;margin-top:24px;margin-bottom:8px}
@media(max-width:768px){
  .legalPage{padding:40px 20px 60px}
  .legalPage__title{font-size:22px}
}