@font-face {
  font-family: "DM Serif Display";
  src: url("../../fnt/DMSerifDisplay-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

.page-template-page-massage-school .l-content.site-content {
  padding: 0;
  overflow: clip;
}

.ht-school {
  --school-cream: #f7f1e9;
  --school-paper: #fffdf9;
  --school-ink: #232323;
  --school-muted: #69645f;
  --school-accent: #d3a884;
  --school-accent-dark: #a9754c;
  --school-line: #ded8d2;
  --school-dark: #262623;
  --school-max: 1280px;
  color: var(--school-ink);
  background: var(--school-paper);
  font: 400 16px/1.65 Montserrat, Arial, sans-serif;
}

.ht-school *, .ht-school *::before, .ht-school *::after { box-sizing: border-box; }
.ht-school img { display: block; max-width: 100%; }
.ht-school button, .ht-school input, .ht-school select, .ht-school textarea { font-family: inherit; }
.ht-school a { color: inherit; }
.ht-school h1, .ht-school h2, .ht-school h3, .ht-school p, .ht-school figure, .ht-school blockquote { margin-top: 0; }
.ht-school h1, .ht-school h2, .ht-school h3, .ht-school blockquote {
  color: var(--school-ink);
  font-family: "DM Serif Display", Georgia, serif;
  font-weight: 400;
}

.ht-school-container { width: min(var(--school-max), calc(100% - 64px)); margin-inline: auto; }
.ht-school-section { padding: clamp(82px, 9vw, 142px) 0; }
.ht-school-section--cream { background: var(--school-cream); }
.ht-school-section--white { background: var(--school-paper); }
.ht-school-section--dark { background: var(--school-dark); color: #f8f3ed; }
.ht-school-section--dark h2, .ht-school-section--dark h3 { color: #fffdf9; }
.ht-school-section--dark p { color: #cfc8c0; }

.ht-school-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  color: var(--school-accent-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}
.ht-school-kicker::before { width: 24px; height: 1px; background: currentColor; content: ""; }
.ht-school-kicker--light { color: #d8a77d; }

.ht-school-btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 25px;
  border: 2px solid var(--school-ink);
  border-radius: 999px;
  background: transparent;
  color: var(--school-ink);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.ht-school-btn:hover { text-decoration: none; }
.ht-school-btn--dark,
.ht-school-btn--accent,
.ht-school-btn--light { border-color: var(--school-accent); background: var(--school-accent); color: #111; }
.ht-school-btn--dark:hover,
.ht-school-btn--accent:hover,
.ht-school-btn--light:hover { border-color: #c9946b; background: #c9946b; color: #111; }
.ht-school-btn--outline { border-color: var(--school-line); background: #fff; color: var(--school-ink); }
.ht-school-btn--outline:hover { border-color: var(--school-ink); background: #fff; color: var(--school-ink); }

.ht-school-hero { background: var(--school-cream); }
.ht-school-hero__layout { width: min(1440px, 100%); min-height: min(830px, calc(100vh - 90px)); display: grid; grid-template-columns: minmax(0, 1fr) auto; margin-inline: auto; }
.ht-school-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(72px, 8vw, 118px) clamp(46px, 7vw, 104px) 54px clamp(36px, 9vw, 130px); }
.ht-school-hero h1 { max-width: 790px; margin-bottom: 30px; font-size: clamp(62px, 7.4vw, 118px); line-height: .88; letter-spacing: -.045em; }
.ht-school-hero h1 em { color: var(--school-accent-dark); font-weight: 400; }
.ht-school-hero__lead { max-width: 680px; margin-bottom: 38px; color: var(--school-muted); font-size: clamp(17px, 1.45vw, 21px); line-height: 1.75; }
.ht-school-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ht-school-hero__media { position: relative; width: min(467px, 38vw); min-height: 0; align-self: center; aspect-ratio: 9 / 16; margin: 0; overflow: hidden; background: #d8cec4; }
.ht-school-hero__poster, .ht-school-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ht-school-hero__poster { z-index: 0; object-position: center; transition: opacity .55s ease; }
.ht-school-hero__video { z-index: 1; opacity: 0; object-position: center 35%; transition: opacity .55s ease; }
.ht-school-hero__media.is-video-ready .ht-school-hero__poster { opacity: 0; }
.ht-school-hero__media.is-video-ready .ht-school-hero__video { opacity: 1; }
.ht-school-hero__media figcaption { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; display: grid; gap: 2px; padding: 24px 30px; background: rgba(32,30,28,.88); color: #fff; backdrop-filter: blur(8px); }
.ht-school-hero__media figcaption strong { font-size: 14px; }
.ht-school-hero__media figcaption span { color: #d8d0c8; font-size: 12px; }

.ht-school-facts { border-top: 1px solid var(--school-line); border-bottom: 1px solid var(--school-line); background: #fff; }
.ht-school-facts__inner { display: grid; grid-template-columns: repeat(4, 1fr); }
.ht-school-facts__inner > div { min-height: 138px; display: grid; align-content: center; gap: 6px; padding: 28px 34px; border-left: 1px solid var(--school-line); }
.ht-school-facts__inner > div:last-child { border-right: 1px solid var(--school-line); }
.ht-school-facts strong { font: 400 25px/1.2 "DM Serif Display", Georgia, serif; }
.ht-school-facts span { color: var(--school-muted); font-size: 12px; line-height: 1.55; }

.ht-school-section-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .65fr); align-items: end; gap: 64px; margin-bottom: 66px; }
.ht-school-section-head h2 { max-width: 820px; margin-bottom: 0; font-size: clamp(48px, 5vw, 78px); line-height: .98; letter-spacing: -.035em; }
.ht-school-section-head > p { margin-bottom: 2px; color: var(--school-muted); font-size: 16px; line-height: 1.75; }

.ht-school-paths { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--school-line); background: var(--school-paper); }
.ht-school-path { position: relative; min-height: 315px; padding: 36px; border: 0; border-right: 1px solid var(--school-line); background: transparent; color: var(--school-ink); text-align: left; cursor: pointer; transition: background .25s ease, color .25s ease; }
.ht-school-path:last-child { border-right: 0; }
.ht-school-path > span { color: var(--school-accent-dark); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.ht-school-path h3 { max-width: 330px; margin: 40px 0 16px; font-size: 31px; line-height: 1.05; }
.ht-school-path p { margin-bottom: 0; color: var(--school-muted); font-size: 13px; line-height: 1.65; }
.ht-school-path b { position: absolute; right: 30px; bottom: 22px; font-size: 25px; font-weight: 400; }
.ht-school-path.is-active, .ht-school-path:hover { background: var(--school-dark); color: #fff; }
.ht-school-path.is-active h3, .ht-school-path:hover h3 { color: #fff; }
.ht-school-path.is-active p, .ht-school-path:hover p { color: #d1cac3; }
.ht-school-path-result { display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 30px; padding: 27px 34px; border: 1px solid var(--school-line); border-top: 0; background: #ece2d7; }
.ht-school-path-result > span { color: var(--school-accent-dark); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ht-school-path-result strong { display: block; font-family: "DM Serif Display", Georgia, serif; font-size: 22px; font-weight: 400; }
.ht-school-path-result p { margin: 2px 0 0; color: var(--school-muted); font-size: 12px; }
.ht-school-path-result a { font-size: 12px; font-weight: 800; text-decoration: none; }

.ht-school-course-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.ht-school-course { display: grid; grid-template-rows: 320px 1fr; border: 1px solid var(--school-line); background: #fff; transition: transform .3s ease, box-shadow .3s ease; }
.ht-school-course:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(44,37,31,.10); }
.ht-school-course--individual { grid-column: 1 / -1; grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); grid-template-rows: auto; }
.ht-school-course__image { position: relative; min-height: 285px; overflow: hidden; background: #ded7d0; }
.ht-school-course__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.ht-school-course:hover .ht-school-course__image img { transform: scale(1.035); }
.ht-school-course__status { position: absolute; top: 18px; left: 18px; display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; border-radius: 999px; background: #f7efe6; color: #57483d; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ht-school-course__status::before { width: 7px; height: 7px; border-radius: 50%; background: #5d8d6f; content: ""; }
.ht-school-course__status.is-planned::before { background: #b88258; }
.ht-school-course__body { display: flex; flex-direction: column; padding: 32px; }
.ht-school-course__topline { display: flex; justify-content: space-between; gap: 20px; color: var(--school-accent-dark); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ht-school-course h3 {
  max-width: 560px;
  margin: 20px 0 17px;
  color: var(--school-ink);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0;
}
.ht-school-course--individual h3 { font-size: 27px; }
.ht-school-course__copy { min-height: 78px; margin-bottom: 26px; color: var(--school-muted); font-size: 13px; line-height: 1.65; }
.ht-school-course__meta { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: auto; border-top: 1px solid var(--school-line); border-bottom: 1px solid var(--school-line); }
.ht-school-course__meta > span { min-height: 78px; display: grid; align-content: center; gap: 3px; padding: 13px; border-right: 1px solid var(--school-line); }
.ht-school-course__meta > span:last-child { border-right: 0; }
.ht-school-course__meta small { color: var(--school-accent-dark); font-size: 10px; font-weight: 800; letter-spacing: 0; text-transform: uppercase; }
.ht-school-course__meta strong { font-size: 15px; line-height: 1.15; }
.ht-school-course__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.ht-school-course__actions .ht-school-btn { min-height: 44px; flex: 1 1 0; padding: 0 14px; font-size: 12px; }
.ht-school-career-note { display: grid; grid-template-columns: minmax(280px,.9fr) minmax(0,1.1fr); align-items: center; gap: clamp(40px,7vw,100px); margin-top: 30px; padding: 34px 38px; border: 1px solid var(--school-line); background: #f7efe6; }
.ht-school-career-note .ht-school-kicker { margin-bottom: 13px; }
.ht-school-career-note h3 { max-width: 570px; margin: 0; font: 400 clamp(28px,3vw,42px)/1.08 "DM Serif Display", Georgia, serif; }
.ht-school-career-note > p { max-width: 650px; margin: 0; color: var(--school-muted); font-size: 13px; line-height: 1.75; }

.ht-school-standard { display: grid; grid-template-columns: minmax(320px,.78fr) minmax(0,1.22fr); gap: clamp(70px, 10vw, 150px); }
.ht-school-standard__intro h2 { margin-bottom: 28px; font-size: clamp(52px, 5vw, 78px); line-height: .96; }
.ht-school-standard__intro > p:not(.ht-school-kicker) { margin-bottom: 32px; }
.ht-school-standard__list { border-top: 1px solid rgba(255,255,255,.2); }
.ht-school-standard__list article { display: grid; grid-template-columns: 54px 1fr; gap: 24px; padding: 28px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.ht-school-standard__list article > span { color: #d8a77d; font-size: 11px; font-weight: 800; }
.ht-school-standard__list h3 { margin: 0 0 7px; font-size: 25px; }
.ht-school-standard__list p { margin: 0; font-size: 13px; }

.ht-school-teacher { display: grid; grid-template-columns: minmax(360px,.8fr) minmax(0,1.2fr); align-items: start; gap: clamp(60px, 9vw, 140px); }
.ht-school-teacher__media { margin: 90px 0 0; }
.ht-school-teacher__media img { width: min(100%, 800px); height: auto; object-fit: contain; }
.ht-school-teacher__media figcaption { display: grid; gap: 3px; width: min(100%, 800px); padding: 22px 26px; border: 1px solid var(--school-line); border-top: 0; background: #fff; }
.ht-school-teacher__media figcaption strong { font-size: 12px; }
.ht-school-teacher__media figcaption span { color: var(--school-muted); font-size: 10px; }
.ht-school-teacher__copy h2 { margin-bottom: 25px; font-size: clamp(52px, 5.7vw, 86px); line-height: .94; letter-spacing: -.035em; }
.ht-school-lead { color: var(--school-muted); font-size: 17px; line-height: 1.8; }
.ht-school-teacher blockquote { margin: 34px 0; padding: 28px 0; border-top: 1px solid var(--school-line); border-bottom: 1px solid var(--school-line); font-size: clamp(29px, 3vw, 43px); line-height: 1.12; }
.ht-school-teacher__facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 30px; }
.ht-school-teacher__facts > div { display: grid; gap: 6px; padding: 15px 18px; border-right: 1px solid var(--school-line); }
.ht-school-teacher__facts > div:first-child { padding-left: 0; }
.ht-school-teacher__facts > div:last-child { border-right: 0; }
.ht-school-teacher__facts strong { font: 400 25px/1.2 "DM Serif Display", Georgia, serif; }
.ht-school-teacher__facts span { color: var(--school-muted); font-size: 9px; font-weight: 700; line-height: 1.5; }

.ht-school-timeline { display: grid; grid-template-columns: repeat(4, 1fr); counter-reset: school-step; border-top: 1px solid var(--school-line); }
.ht-school-timeline article { position: relative; min-height: 270px; padding: 80px 28px 25px 0; border-right: 1px solid var(--school-line); counter-increment: school-step; }
.ht-school-timeline article:not(:first-child) { padding-left: 28px; }
.ht-school-timeline article::before { position: absolute; top: 24px; content: "0" counter(school-step); color: var(--school-accent-dark); font-size: 10px; font-weight: 800; }
.ht-school-timeline h3 { margin-bottom: 18px; font-size: 27px; line-height: 1.05; }
.ht-school-timeline p { color: var(--school-muted); font-size: 12px; }

.ht-school-contact { display: grid; grid-template-columns: minmax(300px,.75fr) minmax(520px,1.25fr); gap: clamp(70px, 9vw, 140px); }
.ht-school-contact__copy { display: flex; flex-direction: column; justify-content: space-between; }
.ht-school-contact__copy h2 { margin-bottom: 25px; font-size: clamp(52px, 5vw, 80px); line-height: .95; }
.ht-school-contact__copy address { display: grid; gap: 8px; margin-top: 50px; color: #fff; font-style: normal; }
.ht-school-contact__copy address a { color: #fff; font: 400 20px/1.4 "DM Serif Display", Georgia, serif; text-decoration: none; }
.ht-school-contact__copy address span { color: #bdb6af; font-size: 12px; }
.ht-school-form { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; padding: clamp(28px,4vw,52px); background: #f7f2ec; color: var(--school-ink); }
.ht-school-field { display: grid; gap: 8px; }
.ht-school-field--wide, .ht-school-consent, .ht-school-form__actions, .ht-school-form__status { grid-column: 1 / -1; }
.ht-school-field label { font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.ht-school-field input, .ht-school-field select, .ht-school-field textarea { width: 100%; min-height: 52px; padding: 13px 14px; border: 0; border-bottom: 1px solid #bfb5ab; border-radius: 0; outline: 0; background: #fff; color: var(--school-ink); font-size: 13px; }
.ht-school-field textarea { min-height: 112px; resize: vertical; }
.ht-school-field input:focus, .ht-school-field select:focus, .ht-school-field textarea:focus { border-bottom-color: var(--school-accent-dark); box-shadow: 0 2px 0 var(--school-accent-dark); }
.ht-school-consent { display: flex; gap: 10px; color: var(--school-muted); font-size: 10px; line-height: 1.55; }
.ht-school-consent input { flex: 0 0 auto; width: 16px; height: 16px; margin-top: 2px; accent-color: var(--school-accent-dark); }
.ht-school-form__actions { display: flex; align-items: center; gap: 20px; }
.ht-school-form__actions small { color: var(--school-muted); font-size: 9px; }
.ht-school-form__status { min-height: 0; margin: 0; padding: 0; font-size: 12px; font-weight: 700; }
.ht-school-form__status.is-success, .ht-school-form__status.is-error { padding: 12px 14px; }
.ht-school-form__status.is-success { background: #e3efe6; color: #235c32; }
.ht-school-form__status.is-error { background: #f4e1de; color: #80372f; }
.ht-school-hp { position: absolute !important; left: -9999px !important; }

.ht-school-faq { border-top: 1px solid var(--school-line); }
.ht-school-faq details { border-bottom: 1px solid var(--school-line); }
.ht-school-faq summary { position: relative; padding: 28px 70px 28px 0; list-style: none; font: 400 clamp(23px,2.4vw,34px)/1.2 "DM Serif Display", Georgia, serif; cursor: pointer; }
.ht-school-faq summary::-webkit-details-marker { display: none; }
.ht-school-faq summary::after { position: absolute; top: 50%; right: 10px; content: "+"; transform: translateY(-50%); color: var(--school-accent-dark); font: 400 28px/1 Montserrat, sans-serif; }
.ht-school-faq details[open] summary::after { content: "−"; }
.ht-school-faq details p { max-width: 820px; padding: 0 0 28px; color: var(--school-muted); }

.ht-school-reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
.ht-school-reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  .ht-school-hero__layout { grid-template-columns: minmax(0, 1fr) auto; }
  .ht-school-hero__copy { padding-left: 40px; padding-right: 40px; }
  .ht-school-facts__inner > div { padding-inline: 22px; }
  .ht-school-path { padding: 28px; }
  .ht-school-contact { grid-template-columns: 1fr; }
  .ht-school-contact__copy { display: grid; grid-template-columns: 1fr auto; gap: 40px; }
  .ht-school-contact__copy address { margin-top: 0; justify-content: end; }
}

@media (max-width: 820px) {
  .ht-school-container { width: min(100% - 36px, var(--school-max)); }
  .ht-school-section { padding: 78px 0; }
  .ht-school-hero__layout { min-height: 0; grid-template-columns: 1fr; }
  .ht-school-hero__copy { padding: 82px 24px 58px; }
  .ht-school-hero h1 { font-size: clamp(62px, 16vw, 94px); }
  .ht-school-hero__media { width: min(100%, 467px); min-height: 0; margin-inline: auto; }
  .ht-school-facts__inner { width: 100%; grid-template-columns: repeat(2, 1fr); }
  .ht-school-facts__inner > div { border-bottom: 1px solid var(--school-line); }
  .ht-school-section-head { grid-template-columns: 1fr; gap: 24px; margin-bottom: 44px; }
  .ht-school-section-head h2 { font-size: 54px; }
  .ht-school-paths { grid-template-columns: 1fr; }
  .ht-school-path { min-height: 245px; border-right: 0; border-bottom: 1px solid var(--school-line); }
  .ht-school-path-result { grid-template-columns: 1fr; gap: 10px; }
  .ht-school-course-grid { grid-template-columns: 1fr; }
  .ht-school-course--individual { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: 320px 1fr; }
  .ht-school-career-note { grid-template-columns: 1fr; gap: 22px; }
  .ht-school-standard, .ht-school-teacher { grid-template-columns: 1fr; gap: 60px; }
  .ht-school-teacher__media { margin-top: 0; }
  .ht-school-timeline { grid-template-columns: repeat(2, 1fr); }
  .ht-school-contact__copy { grid-template-columns: 1fr; }
  .ht-school-contact__copy address { justify-content: start; }
}

@media (max-width: 520px) {
  .ht-school { font-size: 15px; }
  .ht-school-container { width: calc(100% - 28px); }
  .ht-school-section { padding: 64px 0; }
  .ht-school-hero__copy { padding: 64px 18px 48px; }
  .ht-school-hero h1 { margin-bottom: 24px; font-size: 58px; }
  .ht-school-hero__lead { font-size: 15px; }
  .ht-school-actions .ht-school-btn { width: 100%; }
  .ht-school-hero__media { width: 100%; min-height: 0; }
  .ht-school-facts__inner { grid-template-columns: 1fr; }
  .ht-school-facts__inner > div { min-height: 112px; border-right: 0; }
  .ht-school-section-head h2, .ht-school-standard__intro h2, .ht-school-teacher__copy h2, .ht-school-contact__copy h2 { font-size: 46px; }
  .ht-school-path { min-height: 265px; padding: 25px; }
  .ht-school-course { grid-template-rows: 240px 1fr; }
  .ht-school-course--individual { grid-template-rows: 240px 1fr; }
  .ht-school-course__body { padding: 24px 20px; }
  .ht-school-course h3 { font-size: 20px; }
  .ht-school-course--individual h3 { font-size: 27px; }
  .ht-school-course__meta { grid-template-columns: 1fr; }
  .ht-school-course__meta > span { min-height: 58px; border-right: 0; border-bottom: 1px solid var(--school-line); }
  .ht-school-course__meta > span:last-child { border-bottom: 0; }
  .ht-school-course__actions .ht-school-btn { width: 100%; }
  .ht-school-career-note { padding: 28px 22px; }
  .ht-school-standard__list article { grid-template-columns: 38px 1fr; gap: 14px; }
  .ht-school-teacher blockquote { font-size: 28px; }
  .ht-school-teacher__facts { grid-template-columns: 1fr; }
  .ht-school-teacher__facts > div, .ht-school-teacher__facts > div:first-child { padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--school-line); }
  .ht-school-timeline { grid-template-columns: 1fr; }
  .ht-school-timeline article, .ht-school-timeline article:not(:first-child) { min-height: 220px; padding: 70px 0 25px; border-right: 0; border-bottom: 1px solid var(--school-line); }
  .ht-school-form { grid-template-columns: 1fr; padding: 24px 18px; }
  .ht-school-field, .ht-school-field--wide, .ht-school-consent, .ht-school-form__actions, .ht-school-form__status { grid-column: 1; }
  .ht-school-form__actions { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .ht-school *, .ht-school *::before, .ht-school *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .ht-school-reveal { opacity: 1; transform: none; }
  .ht-school-hero__video { display: none; }
}
