/* ---------------------------------------------------------------- hero */
.rils-hero{position:relative;overflow:visible}
.rils-hero-portrait img,
.rils-hero-portrait svg{
  width:100%;max-width:520px;height:auto;display:block;margin-left:auto;
  border-radius:var(--rils-r-md);
}
@media (min-width:1025px){
  .rils-hero-portrait{margin-right:calc(-1 * min(7vw, 90px))}
}
@media (max-width:1024px){
  .rils-hero-portrait img,.rils-hero-portrait svg{margin-inline:auto;max-width:420px}
}

/* ------------------------------------------------------------- courses */
.rils-courses{
  display:grid;
  grid-template-columns:repeat(var(--rils-cols,3),minmax(0,1fr));
  gap:var(--rils-s-md);
}
.rils-course{display:flex;flex-direction:column}
.rils-course__media{display:block;aspect-ratio:16/9;background:var(--rils-surface);overflow:hidden}
.rils-course__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rils-course:hover .rils-course__media img{transform:scale(1.04)}
.rils-course__ph{
  display:block;width:100%;height:100%;
  background:linear-gradient(135deg,var(--rils-card),var(--rils-surface));
  border-bottom:1px solid var(--rils-border);
}
.rils-course__body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:9px;flex:1}
.rils-course__meta{margin:0;font-size:.8rem;color:var(--rils-muted);letter-spacing:.02em}
.rils-course__title{margin:0;font-size:1.22rem;line-height:1.25}
.rils-course__title a{color:var(--rils-ink)}
.rils-course__title a:hover{color:var(--rils-gold)}
.rils-course__excerpt{margin:0;font-size:.95rem;color:var(--rils-muted);max-width:none;flex:1}
.rils-course__foot{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:8px;padding-top:14px;border-top:1px solid var(--rils-border);flex-wrap:wrap;
}
.rils-course__price,
.rils-course__price .amount,
.rils-course__price bdi{color:var(--rils-gold) !important;font-family:var(--rils-head);font-weight:700;font-size:1.15rem}
.rils-course__cta{padding:10px 20px;font-size:.9rem}
@media (max-width:900px){.rils-courses{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.rils-courses{grid-template-columns:1fr}}

/* ------------------------------------------------------- class routine */
.rils-routine{margin:var(--rils-s-lg) 0 0}
.rils-routine__h{font-size:1.5rem;margin:0 0 8px}
.rils-routine__note{color:var(--rils-muted);font-size:.92rem;margin:0 0 18px}
.rils-routine__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.rils-routine__row{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  background:var(--rils-card);border:1px solid var(--rils-border);
  border-radius:var(--rils-r-md);padding:16px 18px;
}
.rils-routine__row.is-open{border-color:var(--rils-border-hot)}
.rils-routine__no{
  font-family:var(--rils-head);font-weight:700;color:var(--rils-gold);
  font-size:.9rem;letter-spacing:.04em;min-width:78px;
}
.rils-routine__body{display:flex;flex-direction:column;gap:3px;flex:1;min-width:200px}
.rils-routine__title{color:var(--rils-ink);font-family:var(--rils-head);font-weight:600;font-size:1.02rem}
.rils-routine__desc{color:var(--rils-muted);font-size:.9rem}
.rils-routine__meta{color:var(--rils-muted);font-size:.84rem}
.rils-routine__locked{
  display:inline-flex;align-items:center;gap:7px;
  border:1px solid var(--rils-border);color:var(--rils-muted);
  border-radius:var(--rils-r-pill);padding:9px 18px;font-size:.88rem;font-weight:600;
}
.rils-routine__locked::before{content:"\1F512"}
.rils-routine__join{padding:11px 22px;font-size:.9rem}
@media (max-width:600px){
  .rils-routine__row{align-items:flex-start}
  .rils-routine__state{width:100%}
  .rils-routine__join,.rils-routine__locked{width:100%;justify-content:center}
}

/* ----------------------------------------------------------- header */
.rils-header{position:sticky;top:0;z-index:999;backdrop-filter:blur(12px)}
.rils-header__brand img{max-height:46px;width:auto}
.rils-header .rils-header__right{gap:22px}
.rils-header__login .elementor-button,
.rils-header__cta .elementor-button{padding:10px 20px;font-size:.9rem}

.rils-nav .elementor-nav-menu a{
  color:var(--rils-ink) !important;
  font-family:var(--rils-body);font-weight:600;font-size:.95rem;
  padding:8px 12px;border-radius:var(--rils-r-sm);
}
.rils-nav .elementor-nav-menu a:hover,
.rils-nav .elementor-nav-menu .current-menu-item > a{color:var(--rils-gold) !important;background:transparent}

/* mobile toggle + panel: never a white blank sheet */
.rils-nav .elementor-menu-toggle{
  color:var(--rils-gold) !important;background:transparent !important;
  border:1px solid var(--rils-border);border-radius:var(--rils-r-sm);padding:8px 10px;
}
.rils-nav .elementor-nav-menu--dropdown{
  background-color:var(--rils-surface) !important;
  border:1px solid var(--rils-border);
  border-radius:var(--rils-r-md);
  box-shadow:0 18px 40px rgba(5,10,24,.55);
  overflow:hidden;
}
.rils-nav .elementor-nav-menu--dropdown a{
  color:var(--rils-ink) !important;padding:14px 20px;border-radius:0;
  border-bottom:1px solid var(--rils-border);
}
.rils-nav .elementor-nav-menu--dropdown a:hover,
.rils-nav .elementor-nav-menu--dropdown a.elementor-item-active{
  background-color:var(--rils-card) !important;color:var(--rils-gold) !important;
}
.rils-nav .elementor-menu-toggle.elementor-active i:before{content:"\e87f"}

@media (max-width:1024px){
  .rils-header{flex-wrap:nowrap !important}
  .rils-header__login{display:none}
  .rils-header .rils-header__right{gap:12px}
}
@media (max-width:600px){
  .rils-header__cta .elementor-button{padding:9px 16px;font-size:.85rem}
  .rils-header__brand img{max-height:38px}
}

/* ----------------------------------------------------------- footer */
.rils-footer__h{font-size:1rem;margin:0 0 4px;color:var(--rils-ink)}
.rils-footer__tag{margin:6px 0 0;color:var(--rils-gold);font-weight:700;letter-spacing:.04em}
.rils-footer__about{margin:8px 0 0;font-size:.93rem;color:var(--rils-muted)}
.rils-footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.rils-footer__list a{color:var(--rils-muted);font-size:.93rem}
.rils-footer__list a:hover{color:var(--rils-gold)}
.rils-footer__note{margin:12px 0 0;font-size:.86rem;color:var(--rils-muted)}
.rils-footer__copy{margin:0;font-size:.86rem;color:var(--rils-muted)}

/* ------------------------------------------------------------ hero text */
.rils-hero__role{margin:0;color:var(--rils-gold);font-weight:700;font-size:1.05rem;letter-spacing:.02em}
.rils-hero__lead{margin:0;font-size:1.05rem}

/* ------------------------------------------------------------- services */
.rils-services{display:flex;flex-direction:column;gap:0}
.rils-service{
  display:flex;align-items:flex-start;gap:18px;
  padding:22px 4px;border-top:1px solid var(--rils-border);
  transition:padding-left .22s ease;
}
.rils-service:last-child{border-bottom:1px solid var(--rils-border)}
.rils-service:hover{padding-left:10px}
.rils-service__icon{font-size:1.5rem;line-height:1;flex:0 0 auto;margin-top:2px}
.rils-service__text{flex:1}
.rils-service__title{margin:0 0 5px;font-size:1.12rem;color:var(--rils-ink)}
.rils-service__desc{margin:0;font-size:.94rem;color:var(--rils-muted);max-width:none}
.rils-service__link{flex:0 0 auto;font-size:.9rem;font-weight:700;align-self:center}

/* ------------------------------------------------------------------ why */
.rils-why{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rils-border);border:1px solid var(--rils-border);border-radius:var(--rils-r-md);overflow:hidden}
.rils-why__item{background:var(--rils-bg);padding:30px 28px}
.rils-why__item h3{margin:0 0 8px;font-size:1.1rem;color:var(--rils-ink)}
.rils-why__item p{margin:0;font-size:.95rem;color:var(--rils-muted);max-width:none}
@media (max-width:700px){.rils-why{grid-template-columns:1fr}}

/* ------------------------------------------------------------ portfolio */
.rils-projects{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--rils-s-md)}
.rils-project{grid-column:span 3;display:flex;flex-direction:column}
.rils-project.is-wide{grid-column:span 6}
.rils-project.is-wide{flex-direction:row}
.rils-project.is-wide .rils-project__media{flex:0 0 52%}
.rils-project__media{aspect-ratio:16/9;overflow:hidden;background:var(--rils-surface)}
.rils-project.is-wide .rils-project__media{aspect-ratio:auto}
.rils-project__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.rils-project:hover .rils-project__media img{transform:scale(1.04)}
.rils-project__body{padding:22px;display:flex;flex-direction:column;gap:8px;justify-content:center;flex:1}
.rils-project__cat{margin:0;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--rils-gold)}
.rils-project__title{margin:0;font-size:1.25rem;color:var(--rils-ink)}
.rils-project__desc{margin:0;font-size:.95rem;color:var(--rils-muted);max-width:none}
.rils-project__meta{margin:0;font-size:.86rem;color:var(--rils-muted);max-width:none}
.rils-project__meta span{color:var(--rils-ink);font-weight:700;margin-right:6px}
@media (max-width:900px){
  .rils-projects{grid-template-columns:1fr}
  .rils-project,.rils-project.is-wide{grid-column:span 1;flex-direction:column}
  .rils-project.is-wide .rils-project__media{flex:none;aspect-ratio:16/9}
}

/* -------------------------------------------------------------- reviews */
.rils-reviews{columns:3;column-gap:var(--rils-s-md)}
.rils-review{break-inside:avoid;margin:0 0 var(--rils-s-md);display:block}
.rils-review__shot{border:1px solid var(--rils-border);background:var(--rils-card)}
.rils-review__shot img{width:100%;height:auto;display:block}
.rils-review__cap{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;padding:10px 2px 0;font-size:.86rem;color:var(--rils-muted)}
.rils-review__platform{color:var(--rils-gold);font-weight:700}
@media (max-width:900px){.rils-reviews{columns:2}}
@media (max-width:600px){.rils-reviews{columns:1}}

/* ------------------------------------------------------------------ faq */
.rils-faq{display:flex;flex-direction:column;gap:12px}
.rils-faq__item{background:var(--rils-card);border:1px solid var(--rils-border);border-radius:var(--rils-r-md);padding:0}
.rils-faq__item[open]{border-color:var(--rils-border-hot)}
.rils-faq__q{
  cursor:pointer;list-style:none;padding:18px 22px;
  font-family:var(--rils-head);font-weight:600;font-size:1.03rem;color:var(--rils-ink);
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.rils-faq__q::-webkit-details-marker{display:none}
.rils-faq__q::after{content:"+";color:var(--rils-gold);font-size:1.35rem;line-height:1;flex:0 0 auto}
.rils-faq__item[open] .rils-faq__q::after{content:"\2212"}
.rils-faq__a{padding:0 22px 20px;color:var(--rils-muted);font-size:.96rem}
.rils-faq__a p{max-width:none;margin:0 0 10px}

/* ------------------------------------------------------------------ cta */
.rils-cta__h{margin:0}
.rils-cta__p p{max-width:56ch;margin:0}

/* ------------------------------------------------------------- portal */
.rils-portal{display:flex;flex-direction:column;gap:var(--rils-s-lg)}
.rils-portal--guest{align-items:flex-start;gap:16px}
.rils-portal__head{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding-bottom:22px;border-bottom:1px solid var(--rils-border)}
.rils-portal__hi{margin:6px 0 0;font-size:1.75rem}
.rils-portal__h{margin:0 0 18px;font-size:1.3rem}
.rils-portal__block{display:block}
.rils-portal__split{display:grid;grid-template-columns:1fr 1fr;gap:var(--rils-s-md)}
.rils-portal__split > div{background:var(--rils-card);border:1px solid var(--rils-border);border-radius:var(--rils-r-md);padding:26px}
.rils-portal__empty{background:var(--rils-card);border:1px solid var(--rils-border);border-radius:var(--rils-r-md);
  padding:34px;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.rils-portal__empty p{margin:0}
.rils-portal__courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--rils-s-md)}
.rils-pcourse{display:flex;flex-direction:column}
.rils-pcourse__media{aspect-ratio:16/9;overflow:hidden;background:var(--rils-surface)}
.rils-pcourse__media img{width:100%;height:100%;object-fit:cover}
.rils-pcourse__body{padding:18px;display:flex;flex-direction:column;gap:12px;align-items:flex-start;flex:1}
.rils-pcourse__body h4{margin:0;font-size:1.08rem;line-height:1.3}
.rils-pcourse__body h4 a{color:var(--rils-ink)}
.rils-pcourse__body h4 a:hover{color:var(--rils-gold)}
@media (max-width:900px){
  .rils-portal__courses{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rils-portal__split{grid-template-columns:1fr}
}
@media (max-width:600px){.rils-portal__courses{grid-template-columns:1fr}}

/* --------------------------------------------------------- login box */
.rils-authbox{background:var(--rils-card);border:1px solid var(--rils-border);border-radius:var(--rils-r-md);padding:34px}
.rils-authbox .login-username,
.rils-authbox .login-password{margin-bottom:16px}
.rils-authbox label{display:block;margin-bottom:7px;font-size:.92rem;font-weight:600}
.rils-authbox input[type=text],
.rils-authbox input[type=password]{width:100%}
.rils-authbox .login-remember{margin:6px 0 18px;font-size:.9rem;color:var(--rils-muted)}
.rils-authbox .login-remember label{display:inline-flex;align-items:center;gap:8px;font-weight:400}
.rils-authbox .login-submit input{width:100%;cursor:pointer}
.rils-authbox__alt{margin:18px 0 0;font-size:.9rem;display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* -------------------------------------------------------- contact list */
.rils-contact{background:var(--rils-card);border:1px solid var(--rils-border);border-radius:var(--rils-r-md);padding:28px}
.rils-contact h3{margin:0 0 8px;font-size:1.2rem}
.rils-contact__note{margin:0 0 18px;font-size:.88rem;color:var(--rils-muted)}
.rils-contact__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.rils-contact__list li{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--rils-border);flex-wrap:wrap}
.rils-contact__list li:last-child{border-bottom:0}
.rils-contact__list span{color:var(--rils-ink);font-weight:600;font-size:.93rem}
.rils-contact__list em{color:var(--rils-muted);font-style:normal;font-size:.9rem}

/* ----------------------------------------------------------- wpforms */
.rils-form .wpforms-container,
.rils-form .wpforms-form{background:var(--rils-card);border:1px solid var(--rils-border);border-radius:var(--rils-r-md);padding:30px}
.rils-form .wpforms-field{padding:0 0 18px !important}
.rils-form .wpforms-field-label{font-size:.92rem !important;margin-bottom:7px !important}
.rils-form .wpforms-required-label{color:var(--rils-gold) !important}
.rils-form .wpforms-field-description{color:var(--rils-muted) !important;font-size:.85rem}
.rils-form .wpforms-submit{width:100%;cursor:pointer}
.rils-form .wpforms-confirmation-container-full{
  background:var(--rils-card) !important;border:1px solid var(--rils-border-hot) !important;
  color:var(--rils-ink) !important;border-radius:var(--rils-r-md);padding:24px;
}

/* ------------------------------------------------------------- legal */
.rils-legal h2{font-size:1.5rem;margin:34px 0 12px}
.rils-legal h3{font-size:1.12rem;margin:26px 0 8px}
.rils-legal p{margin:0 0 12px}

/* ---------------------------------------------------------- pagehead */
.rils-pagehead h1{margin:0}

/* -------------------------------------------------------- generic grids */
.rils-grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--rils-s-md)}
.rils-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--rils-s-md)}
@media (max-width:900px){.rils-grid-2,.rils-grid-3{grid-template-columns:1fr}}
