
:root{--rev-neon:#d7b45a;--rev-bg:#0a0b08;--rev-panel:#10110d;--rev-panel-2:#15160f;--rev-line:#3b3d30;--rev-muted:#aaa99f;--rev-text:#f2f2eb}
body{font-size:14px;line-height:1.72;letter-spacing:.01em}
.container{width:min(1380px,calc(100% - 40px))!important}
.page-hero,.page-hero.compact{padding:42px 0 38px!important;min-height:0!important}
.page-hero h1{font-size:clamp(30px,3.4vw,48px)!important;line-height:1.15!important;margin:.22em 0 .3em!important}
.page-hero p{font-size:13px!important;line-height:1.75!important;max-width:760px}
.section-title-row h2,.result-heading h2,.schedule-heading h2{font-size:clamp(21px,2.1vw,30px)!important}

.page-index .home-intro{overflow:hidden}
.page-index .home-hero-layout{min-height:470px!important;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr)!important;grid-template-rows:1fr!important;gap:28px!important;align-items:stretch!important}
.page-index .home-hero-copy{align-self:center!important;padding:54px 0!important;max-width:610px!important;z-index:4}
.page-index .home-intro h1{font-size:clamp(46px,5.2vw,70px)!important;line-height:.98!important;letter-spacing:-.045em!important;margin-bottom:20px!important}
.page-index .home-intro p{font-size:14px!important;line-height:1.9!important;font-weight:650!important;max-width:460px}
.page-index .home-hero-book{min-height:58px!important;margin-top:22px!important;padding:0 22px!important;font-size:13px!important}
.page-index .home-hero-visual{min-height:470px!important;position:relative!important;inset:auto!important}
.page-index .home-hero-visual img{height:100%!important;width:100%!important;object-fit:contain!important;object-position:center bottom!important}
.page-index .home-hero-mark{width:78px!important;height:78px!important;right:20px!important;bottom:24px!important;font-size:32px!important}

.home-service-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;border-left:1px solid var(--rev-line)!important}
.home-service-grid>a{min-height:154px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:7px!important;padding:22px 20px!important;border-right:1px solid var(--rev-line)!important;background:#0c0d0a!important}
.home-service-grid>a>.icon{width:42px!important;height:42px!important;color:var(--rev-neon)!important;margin:0 auto!important}
.home-service-grid>a strong{font-size:17px!important;line-height:1.1!important;color:#fff!important}
.home-service-grid>a small{font-size:11px!important;line-height:1.35!important;color:#deded6!important}
.home-service-grid>a em{font-size:10px!important;line-height:1.45!important;color:#9f9f96!important;margin:3px 0 0!important}
.home-service-grid>a b{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:126px!important;margin:5px auto 0!important;padding:7px 15px!important;border:1px solid #607017!important;color:var(--rev-neon)!important;font-size:10px!important}

.staff-photo,.schedule-card-photo{position:relative!important}
.staff-booking-full-overlay{display:flex!important;position:absolute!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%)!important;width:132px!important;height:132px!important;border-radius:50%!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;gap:3px!important;background:rgba(7,8,6,.88)!important;border:1px solid rgba(215,180,90,.62)!important;box-shadow:0 10px 34px rgba(0,0,0,.38)!important;z-index:7!important;text-align:center!important;pointer-events:none!important}
.staff-booking-full-overlay strong{font-size:18px!important;line-height:1.1!important;color:#fff!important;letter-spacing:.04em!important}
.staff-booking-full-overlay small{font-size:9px!important;color:var(--rev-neon)!important;letter-spacing:.12em!important}
.fully-booked .staff-time-overlay strong{color:#d0d0c8!important}

.recruit-quick-contact-card{margin-top:30px!important;margin-bottom:34px!important;min-height:126px!important;padding:25px 30px 25px 64px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(310px,36%)!important;align-items:center!important;gap:28px!important;background:linear-gradient(100deg,#12130e,#0d0e0b)!important;border:1px solid #596023!important;border-radius:24px!important;box-shadow:inset 0 0 36px rgba(215,180,90,.025)!important}
.recruit-quick-contact-card>div{display:grid!important;gap:8px!important}
.recruit-quick-contact-card>div strong{font-size:clamp(21px,2.1vw,30px)!important;line-height:1.2!important;color:#f5f5ef!important;font-weight:900!important}
.recruit-quick-contact-card>div strong::first-letter{color:inherit}
.recruit-quick-contact-card>div small{font-size:13px!important;color:#d3d3cb!important;letter-spacing:.08em!important}
.recruit-quick-contact-card>a{min-height:70px!important;display:grid!important;grid-template-columns:32px 1fr auto!important;align-items:center!important;gap:14px!important;padding:0 24px!important;border-radius:14px!important;background:var(--rev-neon)!important;color:#0b0c09!important;font-size:17px!important;font-weight:950!important;box-shadow:0 0 22px rgba(215,180,90,.14)!important}
.recruit-quick-contact-card>a .icon{width:30px!important;height:30px!important}
.recruit-quick-contact-card>a b{font-size:29px!important;line-height:1!important}

.schedule-card-grid{gap:16px!important}
.schedule-card{overflow:hidden!important;background:var(--rev-panel)!important;border:1px solid var(--rev-line)!important}
.schedule-card-photo{aspect-ratio:4/5!important;overflow:hidden!important}
.schedule-card-photo>img{width:100%!important;height:100%!important;object-fit:cover!important}
.schedule-card .staff-time-overlay{position:absolute!important;left:0!important;right:0!important;bottom:0!important;min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(5,6,4,.72)!important;border-top:1px solid rgba(215,180,90,.22)!important;z-index:5!important}
.schedule-card .staff-time-overlay strong{font-size:17px!important;color:var(--rev-neon)!important}
.schedule-card-body{padding:14px 15px 16px!important;gap:9px!important}
.schedule-card-body>p{font-size:11px!important;line-height:1.6!important;margin:0!important}
.schedule-card-body .card-buttons{padding-top:5px!important}
.schedule-info-links{margin-top:34px!important;margin-bottom:18px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px!important}
.schedule-info-link{min-height:188px!important;display:grid!important;grid-template-rows:auto 1fr auto!important;gap:16px!important;padding:25px 22px 18px!important;background:#10110e!important;border:1px solid #414338!important;border-radius:10px!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.02)!important}
.schedule-info-link:hover{border-color:#7b8e22!important}
.schedule-info-link header{display:grid!important;grid-template-columns:48px 1fr!important;align-items:center!important;gap:15px!important}
.schedule-info-link .icon{width:44px!important;height:44px!important;color:var(--rev-neon)!important}
.schedule-info-link strong{display:block!important;font-size:22px!important;line-height:1!important;color:#fff!important}
.schedule-info-link small{display:block!important;margin-top:7px!important;font-size:13px!important;color:#d5d5ce!important}
.schedule-info-link span{align-self:end!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:54px!important;padding:0 15px!important;border:1px solid #383a31!important;border-radius:8px!important;color:#e5e5de!important;font-size:13px!important;font-weight:800!important;background:#0c0d0a!important}
.schedule-info-link span b{color:var(--rev-neon)!important;font-size:28px!important;line-height:1!important}

.news-index-shell{max-width:1040px;margin-inline:auto}
.news-index-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--rev-line)}
.news-index-head span{color:var(--rev-neon);font-size:10px;font-weight:900;letter-spacing:.18em}
.news-index-head p{margin:0;color:var(--rev-muted);font-size:12px}
.public-announcement-list{max-width:none!important;margin:0!important;background:transparent!important;border:0!important;display:grid!important;gap:8px!important}
.public-announcement-list article{display:grid!important;grid-template-columns:110px minmax(0,1fr) 30px!important;align-items:center!important;gap:17px!important;min-height:72px!important;padding:15px 18px!important;background:var(--rev-panel)!important;border:1px solid var(--rev-line)!important;border-radius:9px!important}
.public-announcement-list article::after{content:'›';justify-self:end;color:var(--rev-neon);font-size:24px;line-height:1}
.public-announcement-list time{color:#aeb783!important;font-size:11px!important}
.public-announcement-list a{font-size:14px!important;color:#f0f0e8!important;text-decoration:none!important}
.public-announcement-list article:hover{border-color:#6b7928!important;background:#14160f!important}
.announcement-article-shell{max-width:960px!important;margin-inline:auto!important}
.announcement-detail{padding:0!important;border:0!important;background:transparent!important}
.announcement-article-card{padding:34px 38px!important;background:var(--rev-panel)!important;border:1px solid var(--rev-line)!important;border-radius:12px!important}
.announcement-article-meta{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--rev-line);font-size:11px;color:var(--rev-muted)}
.announcement-article-meta b{color:var(--rev-neon);letter-spacing:.1em}
.rich-content{font-size:14px!important;line-height:1.95!important;color:#dddcd4!important}
.rich-content h2{font-size:24px!important;line-height:1.4!important}.rich-content h3{font-size:18px!important}

.access-layout.revised-access-layout{display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)!important;gap:20px!important;align-items:start!important}
.access-layout .access-card,.access-layout .access-guide{background:var(--rev-panel)!important;border:1px solid var(--rev-line)!important;border-radius:12px!important;padding:28px!important}
.access-layout-single{display:block!important;max-width:900px!important}
.dense-staff-card,.dense-staff-card:hover{border:1px solid rgba(235,235,235,.72)!important;box-shadow:none!important}
.dense-staff-card:hover .staff-photo img{transform:none!important}
.dense-staff-card .profile-hover{display:flex!important;background:transparent!important;color:#fff!important;opacity:0!important;transform:scale(.96)!important;transition:opacity .28s ease,transform .28s ease!important;pointer-events:none!important}
.dense-staff-card .staff-photo:hover .profile-hover{opacity:1!important;transform:scale(1)!important}
.access-layout .access-card h2,.access-layout .access-guide h2{font-size:24px!important;margin:5px 0 18px!important;color:#fff!important}
.access-layout .profile-table{border-top:1px solid var(--rev-line)!important}
.access-layout .profile-table>div{padding:12px 0!important;border-bottom:1px solid #303228!important}
.access-layout .profile-table dt{color:#8d9570!important;font-size:10px!important;letter-spacing:.12em!important}
.access-layout .profile-table dd{font-size:13px!important;color:#e3e3dc!important}
.access-guide{display:grid!important;gap:10px!important}
.access-guide>p{font-size:12px!important;color:var(--rev-muted)!important;margin:0 0 6px!important}
.access-guide .btn{min-height:48px!important}
.access-points{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-top:18px!important}
.access-points article{padding:18px!important;background:#10110e!important;border:1px solid var(--rev-line)!important;border-radius:10px!important}
.access-points strong{display:block;color:#fff;font-size:14px;margin-bottom:6px}.access-points p{margin:0;color:var(--rev-muted);font-size:11px;line-height:1.65}

@media(max-width:980px){
  .page-index .home-hero-layout{grid-template-columns:minmax(0,1fr) minmax(340px,.9fr)!important;min-height:430px!important}.page-index .home-hero-visual{min-height:430px!important}
  .recruit-quick-contact-card{padding-left:34px!important;grid-template-columns:1fr minmax(300px,42%)!important}
  .schedule-info-links{gap:12px!important}.access-layout.revised-access-layout{grid-template-columns:1fr!important}
}
@media(max-width:720px){
  body{font-size:13px}.container{width:min(100% - 20px,1380px)!important}.page-hero,.page-hero.compact{padding:30px 0 27px!important}.page-hero p{font-size:12px!important}
  .page-index .home-hero-layout{grid-template-columns:1fr!important;grid-template-rows:360px!important;min-height:360px!important;gap:0!important}.page-index .home-hero-copy{grid-column:1!important;grid-row:1!important;padding:36px 0!important;max-width:66%!important;z-index:4!important}.page-index .home-intro h1{font-size:clamp(39px,11vw,56px)!important}.page-index .home-intro p{font-size:12px!important;line-height:1.75!important}.page-index .home-hero-visual{grid-column:1!important;grid-row:1!important;min-height:360px!important;margin-left:34%!important;opacity:.76}.page-index .home-hero-mark{display:none!important}
  .home-service-grid{grid-template-columns:1fr!important;border-left:1px solid var(--rev-line)!important}.home-service-grid>a{min-height:118px!important;border-bottom:1px solid var(--rev-line)!important;border-right:1px solid var(--rev-line)!important}.home-service-grid>a:last-child{border-bottom:0!important}
  .recruit-quick-contact-card{min-height:0!important;padding:22px!important;grid-template-columns:1fr!important;gap:18px!important;border-radius:16px!important}.recruit-quick-contact-card>div strong{font-size:21px!important}.recruit-quick-contact-card>div small{font-size:11px!important;letter-spacing:.03em!important}.recruit-quick-contact-card>a{min-height:60px!important;font-size:15px!important}
  .schedule-info-links{grid-template-columns:1fr!important}.schedule-info-link{min-height:140px!important;grid-template-rows:auto auto!important}.schedule-info-link span{margin-top:3px!important}
  .public-announcement-list article{grid-template-columns:78px minmax(0,1fr) 22px!important;gap:10px!important;padding:13px!important}.public-announcement-list a{font-size:12px!important}.announcement-article-card{padding:22px 18px!important}.rich-content{font-size:13px!important}
  .access-points{grid-template-columns:1fr!important}.access-layout .access-card,.access-layout .access-guide{padding:20px!important}
  .staff-booking-full-overlay{width:104px!important;height:104px!important}.staff-booking-full-overlay strong{font-size:15px!important}
}

.recruit-quick-contact-card strong span{color:#d7b45a;}

.home-service-grid>a{
  min-height:190px!important;
  display:grid!important;
  grid-template-rows:auto auto auto!important;
  align-content:center!important;
  justify-items:center!important;
  gap:13px!important;
  padding:26px 24px!important;
  text-align:center!important;
}
.home-service-grid .home-service-heading{
  width:max-content!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,auto)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
  margin:0 auto!important;
  text-align:left!important;
}
.home-service-grid .home-service-heading>.icon{
  width:50px!important;
  height:50px!important;
  margin:0!important;
  color:var(--rev-neon)!important;
}
.home-service-grid .home-service-heading>span{
  min-width:0!important;
  display:grid!important;
  gap:5px!important;
}
.home-service-grid .home-service-heading strong{
  display:block!important;
  font-size:23px!important;
  line-height:1!important;
  letter-spacing:.025em!important;
  color:#fff!important;
}
.home-service-grid .home-service-heading small{
  display:block!important;
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#e8e8df!important;
}
.home-service-grid>a>em{
  width:100%!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-style:normal!important;
  color:#babbb1!important;
  text-align:center!important;
}
.home-service-grid>a>b{
  min-width:166px!important;
  min-height:43px!important;
  margin:0 auto!important;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  border:1px solid #687722!important;
  border-radius:7px!important;
  color:#f0f0e8!important;
  background:#11120e!important;
  font-size:13px!important;
  font-weight:850!important;
}
.home-service-grid>a>b>span{color:var(--rev-neon)!important;font-size:22px!important;line-height:1!important}
.home-service-grid>a:hover>b{background:#171a0f!important;border-color:var(--rev-neon)!important;color:#fff!important}

.staff-booking-full-overlay{
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  gap:5px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.staff-booking-full-overlay strong{
  font-size:21px!important;
  line-height:1.05!important;
  color:#fff!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-shadow:0 2px 10px rgba(0,0,0,.78)!important;
}
.staff-booking-full-overlay small{
  font-size:10px!important;
  line-height:1!important;
  color:var(--rev-neon)!important;
  font-weight:900!important;
  letter-spacing:.16em!important;
  text-shadow:0 2px 8px rgba(0,0,0,.82)!important;
}

@media(max-width:900px){
  .home-service-grid>a{min-height:176px!important;padding:23px 18px!important}
  .home-service-grid .home-service-heading{grid-template-columns:49px minmax(0,auto)!important;gap:14px!important}
  .home-service-grid .home-service-heading>.icon{width:46px!important;height:46px!important}
  .home-service-grid .home-service-heading strong{font-size:21px!important}
  .home-service-grid .home-service-heading small{font-size:13px!important}
  .home-service-grid>a>em{font-size:12px!important}
}
@media(max-width:720px){
  .home-service-grid>a{min-height:158px!important;padding:20px 18px!important;gap:10px!important}
  .home-service-grid .home-service-heading{grid-template-columns:47px minmax(0,auto)!important;gap:13px!important}
  .home-service-grid .home-service-heading>.icon{width:44px!important;height:44px!important}
  .home-service-grid .home-service-heading strong{font-size:20px!important}
  .home-service-grid .home-service-heading small{font-size:13px!important}
  .home-service-grid>a>em{font-size:12px!important}
  .home-service-grid>a>b{min-width:158px!important;min-height:40px!important;font-size:12px!important}
  .staff-booking-full-overlay strong{font-size:18px!important}
  .staff-booking-full-overlay small{font-size:9px!important}
}

.home-service-grid>a{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  grid-auto-columns:minmax(0,1fr)!important;
  grid-auto-flow:row!important;
  justify-items:center!important;
  align-content:center!important;
  row-gap:0!important;
  min-height:190px!important;
  padding:25px 22px!important;
  text-align:center!important;
}
.home-service-grid .home-service-heading{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:center!important;
  display:grid!important;
  grid-template-columns:52px max-content!important;
  grid-template-rows:52px!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:14px!important;
  width:auto!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:left!important;
}
.home-service-grid .home-service-heading>.icon{
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  justify-self:center!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--rev-neon)!important;
}
.home-service-grid .home-service-heading>span{
  grid-column:2!important;
  grid-row:1!important;
  align-self:stretch!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:4px!important;
  width:max-content!important;
  min-width:0!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
}
.home-service-grid .home-service-heading strong{
  display:block!important;
  margin:0!important;
  font-size:23px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
  color:#fff!important;
}
.home-service-grid .home-service-heading small{
  display:block!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
  color:#f0f0e8!important;
}
.home-service-grid>a>em{
  grid-column:1!important;
  grid-row:2!important;
  justify-self:center!important;
  width:auto!important;
  margin:20px auto 0!important;
  padding:0!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-style:normal!important;
  white-space:nowrap!important;
  text-align:center!important;
  color:#c2c2b8!important;
}
.home-service-grid>a>b{
  grid-column:1!important;
  grid-row:3!important;
  position:relative!important;
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:168px!important;
  min-width:168px!important;
  min-height:44px!important;
  margin:12px auto 0!important;
  padding:0 36px!important;
  box-sizing:border-box!important;
  border:1px solid #687722!important;
  border-radius:7px!important;
  background:#11120e!important;
  color:#f3f3ec!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  text-align:center!important;
}
.home-service-grid>a>b>span{
  position:absolute!important;
  right:14px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:block!important;
  color:var(--rev-neon)!important;
  font-size:22px!important;
  line-height:1!important;
}
@media(max-width:900px){
  .home-service-grid>a{min-height:174px!important;padding:22px 16px!important}
  .home-service-grid .home-service-heading{grid-template-columns:48px max-content!important;grid-template-rows:48px!important;column-gap:12px!important}
  .home-service-grid .home-service-heading>.icon{width:44px!important;height:44px!important;min-width:44px!important}
  .home-service-grid .home-service-heading>span{height:48px!important}
  .home-service-grid .home-service-heading strong{font-size:21px!important}
  .home-service-grid .home-service-heading small{font-size:12px!important}
  .home-service-grid>a>em{margin-top:18px!important;font-size:12px!important}
}
@media(max-width:720px){
  .home-service-grid>a{min-height:158px!important;padding:19px 14px!important}
  .home-service-grid .home-service-heading{grid-template-columns:45px max-content!important;grid-template-rows:45px!important;column-gap:11px!important}
  .home-service-grid .home-service-heading>.icon{width:42px!important;height:42px!important;min-width:42px!important}
  .home-service-grid .home-service-heading>span{height:45px!important}
  .home-service-grid .home-service-heading strong{font-size:20px!important}
  .home-service-grid .home-service-heading small{font-size:11px!important}
  .home-service-grid>a>em{margin-top:15px!important;font-size:11px!important}
  .home-service-grid>a>b{width:160px!important;min-width:160px!important;min-height:41px!important;margin-top:10px!important;font-size:12px!important}
}

.home-service-grid>a{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.home-service-grid .home-service-heading{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:14px!important;
  width:max-content!important;
  max-width:100%!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
}
.home-service-grid .home-service-heading>.icon{
  flex:0 0 48px!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  margin:0!important;
}
.home-service-grid .home-service-heading>span{
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:48px!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
}
.home-service-grid>a>em{
  display:block!important;
  align-self:center!important;
  width:auto!important;
  margin:20px auto 0!important;
  text-align:center!important;
}
.home-service-grid>a>b{
  position:relative!important;
  display:flex!important;
  align-self:center!important;
  align-items:center!important;
  justify-content:center!important;
  width:168px!important;
  margin:12px auto 0!important;
  text-align:center!important;
}
@media(max-width:900px){
  .home-service-grid .home-service-heading{gap:12px!important}
  .home-service-grid .home-service-heading>.icon{flex-basis:44px!important;width:44px!important;height:44px!important;min-width:44px!important}
  .home-service-grid .home-service-heading>span{height:44px!important}
}
@media(max-width:720px){
  .home-service-grid .home-service-heading{gap:11px!important}
  .home-service-grid .home-service-heading>.icon{flex-basis:42px!important;width:42px!important;height:42px!important;min-width:42px!important}
  .home-service-grid .home-service-heading>span{height:42px!important}
}

html{
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}
body,button,input,select,textarea{
  font-family:Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic Medium","Yu Gothic",Meiryo,sans-serif!important;
}
button,input,select,textarea{line-height:normal}
.icon,svg.icon{display:block!important;flex-shrink:0!important}
img{height:auto}

.home-service-grid .home-service-heading{
  width:fit-content!important;
  max-width:100%!important;
  min-width:0!important;
}
.home-service-grid .home-service-heading>span{
  height:auto!important;
  min-height:48px!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  text-align:left!important;
}
.home-service-grid .home-service-heading strong{
  font-family:Arial,Helvetica,sans-serif!important;
  font-weight:900!important;
  line-height:1!important;
}
.home-service-grid .home-service-heading small{
  line-height:1.18!important;
}
@media(max-width:900px){
  .home-service-grid .home-service-heading>span{min-height:44px!important}
}
@media(max-width:720px){
  .home-service-grid .home-service-heading>span{min-height:42px!important}
}

.compact-header .header-language{
  position:relative!important;
  display:inline-flex!important;
  width:126px!important;
  min-width:126px!important;
  height:40px!important;
  padding:0 8px!important;
  gap:6px!important;
  border:1px solid #485019!important;
  border-radius:6px!important;
  background:#11120e!important;
  color:var(--neon)!important;
  box-sizing:border-box!important;
}
.compact-header .header-language .icon{
  width:18px!important;
  height:18px!important;
}
.compact-header .header-language-label{
  display:block!important;
  color:#f0efe8!important;
  font:800 9px/1 Arial,Helvetica,sans-serif!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
}
.compact-header .header-language select{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:35px!important;
  min-width:35px!important;
  height:36px!important;
  margin-left:auto!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--neon)!important;
  font:900 10px/1 Arial,Helvetica,sans-serif!important;
  text-align:center!important;
  text-align-last:center!important;
  cursor:pointer!important;
}
.compact-header .header-language select option{
  background:#11120e!important;
  color:#f2f2ea!important;
}
.compact-header .header-language:focus-within{
  border-color:var(--neon)!important;
  box-shadow:0 0 0 2px rgba(215,180,90,.12)!important;
}
@media(max-width:1180px){
  .compact-header .header-language{display:inline-flex!important;width:102px!important;min-width:102px!important}
  .compact-header .header-language-label{display:none!important}
  .compact-header .header-language select{width:54px!important;min-width:54px!important}
}
@media(max-width:760px){
  .header-platform-icons{display:none!important}
  .compact-header .header-language{display:inline-flex!important;width:84px!important;min-width:84px!important;height:38px!important;padding:0 7px!important}
  .compact-header .header-language .icon{width:17px!important;height:17px!important}
  .compact-header .header-language select{width:48px!important;min-width:48px!important;height:34px!important}
}

@media(min-width:1240px){
  .page-casts .dense-staff-grid,
  .page-schedule .schedule-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
  }
}

@media(min-width:981px) and (max-width:1239px){
  .page-casts .dense-staff-grid,
  .page-schedule .schedule-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:11px!important;
  }
}
@media(min-width:761px) and (max-width:980px){
  .page-casts .dense-staff-grid,
  .page-schedule .schedule-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:10px!important;
  }
}
.page-casts .dense-staff-card .compact-therapist-body{
  min-height:76px!important;
  padding:10px 12px 11px!important;
  gap:6px!important;
}
.page-casts .dense-staff-card .staff-name-link h2,
.page-casts .dense-staff-card .staff-name-link h3,
.page-casts .dense-staff-card .staff-name-link h3>span{
  font-size:17px!important;
}
.page-casts .dense-staff-card .body-spec.inline-spec{
  gap:10px!important;
  font-size:10px!important;
}
.page-casts .dense-staff-card .staff-time-overlay,
.page-schedule .schedule-card .staff-time-overlay{
  min-height:42px!important;
  padding:6px 9px!important;
}
.page-casts .dense-staff-card .staff-time-overlay strong,
.page-schedule .schedule-card .staff-time-overlay strong{
  font-size:15px!important;
}
.page-schedule .schedule-card-body{
  padding:10px 11px 12px!important;
}
.page-schedule .schedule-card-body h2{
  font-size:15px!important;
}
.page-schedule .schedule-card-body>p{
  font-size:9px!important;
  line-height:1.45!important;
}
@media(max-width:760px){
  .page-casts .dense-staff-card .compact-therapist-body,
  .page-schedule .schedule-card-body{padding:10px!important}
}

.goog-te-banner-frame.skiptranslate,
.goog-te-banner-frame{display:none!important}
html.translated-ltr body,
html.translated-rtl body,
body{top:0!important}

html{
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
  scrollbar-gutter:stable!important;
}
body,button,input,select,textarea{
  font-family:Arial,"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif!important;
  font-kerning:normal;
  font-synthesis:none;
}
body{font-size:15px!important}
button,input,select,textarea{font-size:14px!important}
.container{
  width:min(1460px,calc(100% - 64px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
img,svg{vertical-align:middle}

.header-platform-icons{display:none!important}

.compact-header .header-language{
  width:194px!important;
  min-width:194px!important;
  height:40px!important;
  padding:0 9px!important;
  gap:7px!important;
}
.compact-header .header-language-label{
  font-size:9px!important;
  flex:0 0 auto!important;
}
.compact-header .header-language select{
  width:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  height:36px!important;
  padding:0 18px 0 4px!important;
  font-size:11px!important;
  text-align:left!important;
  text-align-last:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
@media(max-width:1180px){
  .compact-header .header-language{width:150px!important;min-width:150px!important}
  .compact-header .header-language-label{display:none!important}
  .compact-header .header-language select{width:116px!important;min-width:116px!important;max-width:116px!important}
}
@media(max-width:760px){
  .compact-header .header-language{display:inline-flex!important;width:136px!important;min-width:136px!important;height:38px!important}
  .compact-header .header-language select{width:103px!important;min-width:103px!important;max-width:103px!important;height:34px!important;font-size:10px!important}
}
@media(max-width:430px){
  .compact-header .header-language{width:122px!important;min-width:122px!important;padding-inline:6px!important}
  .compact-header .header-language .icon{width:15px!important;height:15px!important}
  .compact-header .header-language select{width:94px!important;min-width:94px!important;max-width:94px!important;font-size:10px!important;padding-right:4px!important}
}

.page-index .home-hero-platform{
  display:block!important;
  grid-column:1/-1!important;
  grid-row:1!important;
  align-self:stretch!important;
  position:relative!important;
  z-index:8!important;
  margin:0!important;
  padding:0!important;
  background:rgba(25,25,19,.54)!important;
  border:1px solid rgba(255,255,255,.07)!important;
  border-top:0!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
.page-index .home-hero-platform .platform-strip-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  min-height:56px!important;
  height:56px!important;
  align-items:stretch!important;
  background:transparent!important;
}
.page-index .home-hero-platform .platform-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  padding:7px 16px!important;
  border:0!important;
  border-right:1px solid rgba(215,180,90,.18)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#f4f4ec!important;
  cursor:pointer!important;
  text-align:left!important;
}
.page-index .home-hero-platform .platform-link:last-child{border-right:0!important}
.page-index .home-hero-platform .platform-link:hover,
.page-index .home-hero-platform .platform-link:focus-visible{background:rgba(215,180,90,.07)!important}
.page-index .home-hero-platform .platform-link .icon{
  width:25px!important;
  height:25px!important;
  color:#32df6b!important;
  flex:0 0 25px!important;
}
.page-index .home-hero-platform .platform-link>span{display:grid!important;gap:2px!important;min-width:0!important}
.page-index .home-hero-platform .platform-link strong{
  font:900 13px/1.05 Arial,Helvetica,sans-serif!important;
  color:#fff!important;
  white-space:nowrap!important;
}
.page-index .home-hero-platform .platform-link small{
  font-size:10px!important;
  line-height:1.15!important;
  color:#e4e3db!important;
  white-space:nowrap!important;
}

.page-index .home-intro.dense-home-intro{min-height:0!important}
.page-index .home-hero-layout{
  min-height:456px!important;
  height:456px!important;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;
  grid-template-rows:56px 400px!important;
  gap:0 36px!important;
}
.page-index .home-hero-copy{
  grid-column:1!important;
  grid-row:2!important;
  min-height:0!important;
  padding:34px 0 36px!important;
}
.page-index .home-hero-visual{
  grid-column:2!important;
  grid-row:2!important;
  min-height:400px!important;
  height:400px!important;
}
.page-index .home-intro h1{margin-bottom:16px!important}
.page-index .home-intro p{font-size:15px!important;line-height:1.72!important}
.page-index .home-hero-book{min-height:56px!important;margin-top:18px!important;padding:0 22px!important;font-size:14px!important}

.home-service-grid>a{min-height:196px!important;padding:27px 24px!important}
.home-service-grid .home-service-heading{gap:15px!important}
.home-service-grid .home-service-heading>.icon{flex-basis:52px!important;width:52px!important;height:52px!important;min-width:52px!important}
.home-service-grid .home-service-heading>span{min-height:52px!important;height:auto!important;gap:4px!important}
.home-service-grid .home-service-heading strong{font-size:25px!important;line-height:1!important}
.home-service-grid .home-service-heading small{font-size:15px!important;line-height:1.15!important}
.home-service-grid>a>em{margin-top:20px!important;font-size:14px!important;line-height:1.45!important}
.home-service-grid>a>b{width:178px!important;min-width:178px!important;min-height:46px!important;margin-top:13px!important;font-size:14px!important}

.page-index .home-therapists-section,
.page-casts #boys-results,
.page-schedule #schedule-results{
  width:min(1120px,calc(100% - 80px))!important;
}
@media(min-width:980px){
  .page-index .home-staff-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .page-casts .dense-staff-grid,
  .page-schedule .schedule-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
}
@media(min-width:720px) and (max-width:979px){
  .page-index .home-staff-grid,
  .page-casts .dense-staff-grid,
  .page-schedule .schedule-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:12px!important;
  }
}
@media(min-width:500px) and (max-width:719px){
  .page-index .home-staff-grid,
  .page-casts .dense-staff-grid,
  .page-schedule .schedule-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
}
@media(max-width:499px){
  .page-index .home-staff-grid,
  .page-casts .dense-staff-grid,
  .page-schedule .schedule-card-grid{grid-template-columns:1fr!important;gap:10px!important}
}
.page-index .dense-staff-card,
.page-casts .dense-staff-card,
.page-schedule .schedule-card{
  border-radius:9px!important;
  min-width:0!important;
}
.page-index .dense-staff-card .staff-photo,
.page-casts .dense-staff-card .staff-photo,
.page-schedule .schedule-card-photo{
  aspect-ratio:4/5!important;
  min-height:0!important;
}
.page-index .dense-staff-card .compact-therapist-body,
.page-casts .dense-staff-card .compact-therapist-body{
  min-height:86px!important;
  padding:12px 13px!important;
  gap:7px!important;
}
.page-index .dense-staff-card .staff-name-link h2,
.page-casts .dense-staff-card .staff-name-link h2{
  margin:0!important;
  font-size:18px!important;
  line-height:1.2!important;
  color:#fff!important;
  font-weight:900!important;
}
.page-index .dense-staff-card .staff-roman,
.page-casts .dense-staff-card .staff-roman{
  margin-left:5px!important;
  font:700 10px/1 Arial,Helvetica,sans-serif!important;
  color:#b8b7af!important;
  letter-spacing:.06em!important;
}
.page-index .dense-staff-card .staff-name-link h2 small,
.page-casts .dense-staff-card .staff-name-link h2 small{
  margin-left:5px!important;
  font-size:11px!important;
  color:#d7d6cd!important;
  font-weight:700!important;
}
.page-index .dense-staff-card .body-spec.inline-spec,
.page-casts .dense-staff-card .body-spec.inline-spec{
  gap:12px!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.page-index .dense-staff-card .staff-time-overlay,
.page-casts .dense-staff-card .staff-time-overlay,
.page-schedule .schedule-card .staff-time-overlay{
  min-height:44px!important;
  padding:7px 10px!important;
}
.page-index .dense-staff-card .staff-time-overlay strong,
.page-casts .dense-staff-card .staff-time-overlay strong,
.page-schedule .schedule-card .staff-time-overlay strong{font-size:16px!important}
.page-schedule .schedule-card-body{padding:12px 13px 13px!important}
.page-schedule .schedule-card-body h2{font-size:18px!important;line-height:1.2!important}
.page-schedule .schedule-card-body h2 small{font-size:11px!important}
.page-schedule .schedule-card-body>p{font-size:11px!important;line-height:1.5!important;margin:7px 0!important}
.page-schedule .card-buttons a{min-height:35px!important;font-size:11px!important}

.section-title-row>div>span,.section-title-row>a{font-size:12px!important}
.section-title-row h2{font-size:30px!important}
.page-hero p{font-size:13px!important;line-height:1.7!important}
.schedule-heading span{font-size:11px!important}
.schedule-heading p{font-size:12px!important}
.ten-day-tabs .date-tab small{font-size:10px!important}
.ten-day-tabs .date-tab strong{font-size:15px!important}
.ten-day-tabs .date-tab span{font-size:8px!important}
.profile-hover small{font-size:10px!important}
.photo-count,.ribbon{font-size:9px!important}
.home-footer-card p,.footer-news-list a{font-size:12px!important;line-height:1.65!important}
.home-card-link{font-size:12px!important}
.footer-nav a{font-size:10px!important}
.legal-row{font-size:9px!important;line-height:1.5!important}

@media(max-width:979px){
  .container{width:min(100% - 36px,1460px)!important}
  .page-index .home-therapists-section,
  .page-casts #boys-results,
  .page-schedule #schedule-results{width:min(100% - 36px,1120px)!important}
}
@media(max-width:720px){
  .container{width:min(100% - 24px,1460px)!important}
  .page-index .home-hero-layout{
    height:392px!important;
    min-height:392px!important;
    grid-template-columns:1fr!important;
    grid-template-rows:52px 340px!important;
    gap:0!important;
  }
  .page-index .home-hero-platform{grid-column:1!important;grid-row:1!important}
  .page-index .home-hero-platform .platform-strip-grid{height:52px!important;min-height:52px!important}
  .page-index .home-hero-platform .platform-link{gap:6px!important;padding:5px 7px!important}
  .page-index .home-hero-platform .platform-link .icon{width:21px!important;height:21px!important;flex-basis:21px!important}
  .page-index .home-hero-platform .platform-link strong{font-size:10px!important}
  .page-index .home-hero-platform .platform-link small{display:none!important}
  .page-index .home-hero-copy{grid-column:1!important;grid-row:2!important;padding:30px 0!important;max-width:67%!important}
  .page-index .home-hero-visual{grid-column:1!important;grid-row:2!important;position:absolute!important;inset:52px -12px 0 34%!important;width:auto!important;height:340px!important;min-height:340px!important;opacity:.78!important}
  .page-index .home-intro h1{font-size:42px!important}
  .page-index .home-intro p{font-size:12px!important;line-height:1.65!important}
  .page-index .home-hero-book{min-height:48px!important;font-size:11px!important}
  .home-service-grid>a{min-height:174px!important;padding:22px 18px!important}
  .home-service-grid .home-service-heading>.icon{flex-basis:46px!important;width:46px!important;height:46px!important;min-width:46px!important}
  .home-service-grid .home-service-heading>span{min-height:46px!important}
  .home-service-grid .home-service-heading strong{font-size:22px!important}
  .home-service-grid .home-service-heading small{font-size:13px!important}
  .home-service-grid>a>em{font-size:13px!important;margin-top:16px!important}
  .home-service-grid>a>b{font-size:13px!important;min-height:43px!important}
  .page-index .home-therapists-section,
  .page-casts #boys-results,
  .page-schedule #schedule-results{width:min(100% - 24px,1120px)!important}
}

html{
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
  scrollbar-gutter:auto!important;
}
body,button,input,select,textarea{
  font-family:Arial,"Noto Sans JP","Yu Gothic",YuGothic,Meiryo,sans-serif!important;
  font-synthesis:none!important;
  font-optical-sizing:none;
}
body{line-height:1.6!important}
button,input,select,textarea{line-height:1.25!important}

@media(min-width:980px){
  .container,.compact-header .header-main{
    width:min(1460px,calc(100vw - 81px))!important;
    max-width:1460px!important;
  }
  .compact-header .header-main{
    height:64px!important;
    min-height:64px!important;
  }
  .compact-header .global-nav .nav-inner>a{
    min-height:40px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
  }
}

.page-index .home-top-platform-strip{
  position:relative!important;
  z-index:12!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  background:rgba(21,21,16,.86)!important;
  border-top:1px solid rgba(255,255,255,.04)!important;
  border-bottom:1px solid rgba(215,180,90,.18)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
}
.page-index .home-top-platform-strip .platform-strip-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  background:transparent!important;
}
.page-index .home-top-platform-strip .platform-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  min-width:0!important;
  height:58px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  margin:0!important;
  padding:7px 18px!important;
  border:0!important;
  border-right:1px solid rgba(215,180,90,.18)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.015)!important;
  color:#f4f4ec!important;
  cursor:pointer!important;
  text-align:left!important;
}
.page-index .home-top-platform-strip .platform-link:last-child{border-right:0!important}
.page-index .home-top-platform-strip .platform-link:hover,
.page-index .home-top-platform-strip .platform-link:focus-visible{background:rgba(215,180,90,.075)!important}
.page-index .home-top-platform-strip .platform-link .icon{
  width:26px!important;
  height:26px!important;
  flex:0 0 26px!important;
  color:#32df6b!important;
}
.page-index .home-top-platform-strip .platform-link>span{
  display:grid!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  gap:3px!important;
  min-width:0!important;
}
.page-index .home-top-platform-strip .platform-link strong{
  font:900 13px/1 Arial,"Noto Sans JP",sans-serif!important;
  color:#fff!important;
  white-space:nowrap!important;
}
.page-index .home-top-platform-strip .platform-link small{
  font-size:10px!important;
  line-height:1.15!important;
  font-weight:600!important;
  color:#e4e3db!important;
  white-space:nowrap!important;
}
.page-index .home-hero-platform{display:none!important}

.page-index .home-intro.dense-home-intro{
  height:400px!important;
  min-height:400px!important;
}
.page-index .home-hero-layout{
  height:400px!important;
  min-height:400px!important;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr)!important;
  grid-template-rows:400px!important;
  gap:0 36px!important;
  align-items:stretch!important;
}
.page-index .home-hero-copy{
  grid-column:1!important;
  grid-row:1!important;
  min-height:400px!important;
  padding:34px 0 38px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
}
.page-index .home-hero-visual{
  grid-column:2!important;
  grid-row:1!important;
  min-height:400px!important;
  height:400px!important;
}
.page-index .home-intro h1{
  line-height:.95!important;
}
.page-index .home-intro p{
  line-height:1.72!important;
}
.page-index .home-hero-book{
  flex:0 0 auto!important;
  margin:18px 0 28px!important;
  line-height:1!important;
}
.page-index .home-hero-book>span{
  display:block!important;
  line-height:1.15!important;
}

@media(min-width:980px){
  .home-service-grid>a{height:196px!important;min-height:196px!important}
  .home-service-heading{min-height:52px!important}
  .page-index .dense-staff-card .compact-therapist-body,
  .page-casts .dense-staff-card .compact-therapist-body{min-height:86px!important}
}

@media(max-width:979px){
  .container,.compact-header .header-main{width:min(100% - 36px,1460px)!important}
}
@media(max-width:720px){
  .container,.compact-header .header-main{width:min(100% - 24px,1460px)!important}
  .page-index .home-top-platform-strip .platform-strip-grid,
  .page-index .home-top-platform-strip .platform-link{
    height:52px!important;
    min-height:52px!important;
  }
  .page-index .home-top-platform-strip .platform-link{gap:6px!important;padding:5px 7px!important}
  .page-index .home-top-platform-strip .platform-link .icon{width:21px!important;height:21px!important;flex-basis:21px!important}
  .page-index .home-top-platform-strip .platform-link strong{font-size:10px!important}
  .page-index .home-top-platform-strip .platform-link small{display:none!important}
  .page-index .home-intro.dense-home-intro{
    height:340px!important;
    min-height:340px!important;
  }
  .page-index .home-hero-layout{
    height:340px!important;
    min-height:340px!important;
    grid-template-columns:1fr!important;
    grid-template-rows:340px!important;
    gap:0!important;
  }
  .page-index .home-hero-copy{
    grid-column:1!important;
    grid-row:1!important;
    min-height:340px!important;
    padding:28px 0 34px!important;
    max-width:67%!important;
  }
  .page-index .home-hero-visual{
    grid-column:1!important;
    grid-row:1!important;
    position:absolute!important;
    inset:0 -12px 0 34%!important;
    width:auto!important;
    height:340px!important;
    min-height:340px!important;
    opacity:.78!important;
  }
  .page-index .home-hero-book{margin:16px 0 22px!important}
}

:root{--public-shell-max:1460px;--public-content-max:1120px;--public-side-total:80px}
@media(min-width:980px){
.container,.compact-header .header-main{width:min(var(--public-shell-max),calc(100% - var(--public-side-total)))!important;max-width:var(--public-shell-max)!important}
.compact-header .global-nav .nav-en{font-size:13px!important;line-height:1!important;font-weight:850!important;letter-spacing:.035em!important}
}
.page-index .home-top-platform-strip{margin-bottom:18px!important}
.page-index .home-top-platform-strip .platform-strip-grid{display:grid!important;grid-template-columns:minmax(0,1fr) min(var(--public-shell-max),calc(100% - var(--public-side-total))) minmax(0,1fr)!important;width:100%!important;height:58px!important;min-height:58px!important;align-items:stretch!important}
.page-index .home-top-platform-strip .platform-strip-spacer{display:block!important;min-width:0!important;background:rgba(255,255,255,.012)!important;border-right:1px solid rgba(215,180,90,.16)!important;border-left:1px solid rgba(255,255,255,.025)!important}
.page-index .home-top-platform-strip .platform-strip-spacer:last-child{border-right:0!important;border-left:1px solid rgba(215,180,90,.16)!important}
.page-index .home-top-platform-strip .platform-strip-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;min-width:0!important;height:58px!important}
.page-index .home-top-platform-strip .platform-link{height:58px!important;min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;padding:0 18px!important;border:0!important;border-right:1px solid rgba(215,180,90,.18)!important;background:rgba(255,255,255,.018)!important;color:#f5f5ed!important;text-align:center!important}
.page-index .home-top-platform-strip .platform-link:last-child{border-right:0!important}
.page-index .home-top-platform-strip .platform-link:hover,.page-index .home-top-platform-strip .platform-link:focus-visible{background:rgba(215,180,90,.08)!important}
.page-index .home-top-platform-strip .platform-brand-icon{display:block!important;width:28px!important;height:28px!important;flex:0 0 28px!important;object-fit:contain!important}
.page-index .home-top-platform-strip .platform-link>strong{font-family:Arial,"Noto Sans JP",sans-serif!important;font-size:15px!important;line-height:1!important;font-weight:900!important;color:#fff!important;white-space:nowrap!important}
.page-index .home-top-platform-strip .platform-link>span,.page-index .home-top-platform-strip .platform-link small,.page-index .home-top-platform-strip .platform-link .icon{display:none!important}
.page-index .home-intro.dense-home-intro{margin-top:0!important}
.page-index .home-hero-copy{padding-top:44px!important}
.page-index .home-hero-book{margin-bottom:30px!important}
.page-announcements .page-hero>.container,.page-announcements .news-index-shell,.page-announcement .page-hero>.container,.page-announcement .announcement-article-shell,.page-access .page-hero>.container,.page-access .revised-access-layout,.page-access .trust-information,.page-recruit .recruit-showcase-inner,.page-recruit .recruit-quick-contact-card,.page-recruit .recruit-form-section{width:min(var(--public-content-max),calc(100% - var(--public-side-total)))!important;max-width:var(--public-content-max)!important;margin-left:auto!important;margin-right:auto!important}
.page-announcement .announcement-article-shell{max-width:var(--public-content-max)!important}
.page-index .home-therapists-section,.page-casts #boys-results,.page-schedule #schedule-results{width:min(var(--public-content-max),calc(100% - var(--public-side-total)))!important;max-width:var(--public-content-max)!important;margin-left:auto!important;margin-right:auto!important}
.page-recruit .recruit-reference-form{width:100%!important;max-width:none!important}

/* Keep the public booking and recruitment forms visually narrower on wide screens. */
.page-booking .booking-stage-nav,
.page-booking .booking-reference-layout,
.page-recruit .recruit-showcase-inner,
.page-recruit .recruit-quick-contact-card,
.page-recruit .recruit-form-section{
  width:min(820px,calc(100% - 96px))!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-booking .booking-reference-form,
.page-recruit .recruit-reference-form{
  width:100%!important;
  max-width:none!important;
}
.page-booking .booking-date-time-layout{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  min-width:0!important;
}
.page-booking .booking-date-time-layout>.booking-calendar-box,
.page-booking .booking-date-time-layout>.booking-time-box{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
@media(max-width:979px){
:root{--public-side-total:36px}
.compact-header .global-nav .nav-en{font-size:12px!important;line-height:1.1!important;font-weight:850!important}
.page-index .home-top-platform-strip{margin-bottom:14px!important}
.page-index .home-top-platform-strip .platform-strip-grid{grid-template-columns:0 minmax(0,1fr) 0!important;height:54px!important;min-height:54px!important}
.page-index .home-top-platform-strip .platform-strip-spacer{border:0!important}
.page-index .home-top-platform-strip .platform-strip-links{height:54px!important}
.page-index .home-top-platform-strip .platform-link{height:54px!important;min-height:54px!important;gap:8px!important;padding:0 10px!important}
.page-index .home-top-platform-strip .platform-brand-icon{width:24px!important;height:24px!important;flex-basis:24px!important}
.page-index .home-top-platform-strip .platform-link>strong{font-size:13px!important}
}
@media(max-width:720px){
:root{--public-side-total:24px}
.page-index .home-top-platform-strip{margin-bottom:12px!important}
.page-index .home-top-platform-strip .platform-strip-grid,.page-index .home-top-platform-strip .platform-strip-links,.page-index .home-top-platform-strip .platform-link{height:50px!important;min-height:50px!important}
.page-index .home-top-platform-strip .platform-link{gap:6px!important;padding:0 5px!important}
.page-index .home-top-platform-strip .platform-brand-icon{width:21px!important;height:21px!important;flex-basis:21px!important}
.page-index .home-top-platform-strip .platform-link>strong{font-size:11px!important}
.page-index .home-hero-copy{padding-top:34px!important}
.page-announcements .page-hero>.container,.page-announcements .news-index-shell,.page-announcement .page-hero>.container,.page-announcement .announcement-article-shell,.page-access .page-hero>.container,.page-access .revised-access-layout,.page-access .trust-information,.page-recruit .recruit-showcase-inner,.page-recruit .recruit-quick-contact-card,.page-recruit .recruit-form-section{width:min(var(--public-content-max),calc(100% - 24px))!important}
.page-booking .booking-stage-nav,.page-booking .booking-reference-layout,.page-recruit .recruit-form-section{width:calc(100% - 24px)!important}
}
@media(max-width:720px){
  .page-booking .booking-date-time-layout{grid-template-columns:1fr!important}
}

.page-index .home-hero-copy{
  padding:18px 0 20px!important;
}
@media(max-width:720px){
  .page-index .home-hero-copy{
    padding:14px 0 18px!important;
  }
}
.page-index .home-top-platform-strip{margin-bottom:0!important}
.page-index .home-intro.dense-home-intro{margin-top:0!important}
.page-index .home-hero-copy{box-sizing:border-box!important;height:100%!important;min-height:0!important;justify-content:flex-start!important;overflow:visible!important;padding:18px 0 16px!important}
.page-index .home-intro h1{margin:0 0 12px!important;font-size:clamp(52px,4.3vw,64px)!important;line-height:.9!important;letter-spacing:-.055em!important}
.page-index .home-intro h1>span,.page-index .home-intro h1>strong{line-height:.9!important}
.page-index .home-intro p{margin:0!important;font-size:14px!important;line-height:1.55!important}
.page-index .home-hero-book{min-height:56px!important;margin:16px 0 0!important;padding:0 22px!important;font-size:14px!important}
@media(max-width:979px){
.page-index .home-top-platform-strip{margin-bottom:0!important}
.page-index .home-hero-copy{justify-content:flex-start!important;padding:18px 0!important}
.page-index .home-intro h1{margin-bottom:10px!important}
.page-index .home-hero-book{margin:14px 0 0!important}
}
@media(max-width:720px){
.page-index .home-top-platform-strip{margin-bottom:0!important}
.page-index .home-hero-copy{padding:14px 0 14px!important}
.page-index .home-intro h1{font-size:40px!important;line-height:.9!important;margin-bottom:9px!important}
.page-index .home-intro h1>span,.page-index .home-intro h1>strong{line-height:.9!important}
.page-index .home-intro p{font-size:11px!important;line-height:1.55!important}
.page-index .home-hero-book{min-height:48px!important;margin:12px 0 0!important;padding:0 14px!important;font-size:11px!important}
}

.page-cast .profile-page-container{
  width:min(var(--public-content-max),calc(100% - var(--public-side-total)))!important;
  max-width:var(--public-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.page-cast .premium-profile-grid,
.page-cast .profile-section-card{
  width:100%!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.page-cast .premium-profile-grid{
  box-sizing:border-box!important;
}
.page-cast .profile-schedule-section,
.page-cast .profile-media-gallery-section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
}
.page-cast .profile-schedule-section{margin-top:14px!important}
.page-cast .profile-media-gallery-section{margin-top:12px!important}
.page-cast .profile-section-card{
  box-sizing:border-box!important;
  background:linear-gradient(145deg,#24231d,#171713)!important;
  border:1px solid #444337!important;
  border-radius:var(--ui-radius)!important;
}
.page-cast .profile-schedule-card{padding:22px 26px 26px!important}
.page-cast .profile-gallery-card{padding:22px 26px 28px!important}
.page-cast .profile-section-card .section-title-row{margin-bottom:14px!important}
@media(min-width:721px){
  .page-index .home-top-platform-strip .platform-strip-grid{
    grid-template-columns:minmax(0,1fr) min(var(--public-shell-max),calc(100% - var(--public-side-total))) minmax(0,1fr)!important;
  }
  .page-index .home-top-platform-strip .platform-strip-spacer{
    display:block!important;
    min-width:0!important;
    background:rgba(255,255,255,.012)!important;
    border-right:1px solid rgba(215,180,90,.16)!important;
    border-left:1px solid rgba(255,255,255,.025)!important;
  }
  .page-index .home-top-platform-strip .platform-strip-spacer:last-child{
    border-right:0!important;
    border-left:1px solid rgba(215,180,90,.16)!important;
  }
  .page-index .home-hero-layout{position:relative!important}
  .page-index .home-hero-copy{
    position:absolute!important;
    left:33.333333%!important;
    top:0!important;
    bottom:0!important;
    width:min(520px,44%)!important;
    max-width:520px!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:18px 0 16px!important;
    transform:translateX(-50%)!important;
    grid-column:auto!important;
    grid-row:auto!important;
    justify-self:auto!important;
    z-index:4!important;
  }
}
@media(max-width:720px){
  .page-cast .profile-page-container{
    width:min(var(--public-content-max),calc(100% - 24px))!important;
  }
  .page-cast .profile-schedule-card,
  .page-cast .profile-gallery-card{
    padding:18px 14px 20px!important;
  }
  .page-index .home-hero-copy{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:auto!important;
    max-width:72%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:14px 0 14px 18px!important;
    transform:none!important;
    grid-column:1!important;
    grid-row:1!important;
  }
}


.page-cast .premium-profile-hero > .container.profile-page-container,
.page-cast .profile-schedule-section > .container.profile-page-container,
.page-cast .profile-photo-gallery-section > .container.profile-page-container,
.page-cast .profile-media-gallery-section > .container.profile-page-container{
  width:min(var(--public-content-max),calc(100% - var(--public-side-total)))!important;
  max-width:var(--public-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
.page-cast .premium-profile-hero .premium-profile-grid{
  width:100%!important;
  max-width:var(--public-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr)!important;
  gap:28px!important;
  align-items:stretch!important;
  box-sizing:border-box!important;
}
.page-cast .profile-schedule-section,
.page-cast .profile-photo-gallery-section,
.page-cast .profile-media-gallery-section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}
.page-cast .profile-schedule-section{margin-top:14px!important}
.page-cast .profile-photo-gallery-section,
.page-cast .profile-media-gallery-section{margin-top:12px!important;margin-bottom:0!important}
.page-cast .profile-schedule-section .profile-section-card,
.page-cast .profile-photo-gallery-section .profile-section-card,
.page-cast .profile-media-gallery-section .profile-section-card{
  width:100%!important;
  max-width:var(--public-content-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
@media(max-width:1040px){
  .page-cast .premium-profile-hero .premium-profile-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:979px){
  .page-cast .premium-profile-hero > .container.profile-page-container,
  .page-cast .profile-schedule-section > .container.profile-page-container,
  .page-cast .profile-photo-gallery-section > .container.profile-page-container,
  .page-cast .profile-media-gallery-section > .container.profile-page-container{
    width:min(var(--public-content-max),calc(100% - 36px))!important;
  }
}
@media(max-width:720px){
  .page-cast .premium-profile-hero > .container.profile-page-container,
  .page-cast .profile-schedule-section > .container.profile-page-container,
  .page-cast .profile-photo-gallery-section > .container.profile-page-container,
  .page-cast .profile-media-gallery-section > .container.profile-page-container{
    width:min(var(--public-content-max),calc(100% - 24px))!important;
  }
}


/* Schedule date tabs — previous / next day controls */
.schedule-page .date-tabs-nav{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr) 44px!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
  margin:0 0 18px!important;
}
.schedule-page .date-tabs-nav .ten-day-tabs{
  min-width:0!important;
  margin-bottom:0!important;
}
.schedule-page .date-tabs-arrow{
  display:grid!important;
  place-items:center!important;
  min-width:44px!important;
  min-height:58px!important;
  border:1px solid var(--neon,#d7b45a)!important;
  border-radius:4px!important;
  background:#151510!important;
  color:var(--neon,#d7b45a)!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:500!important;
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
.schedule-page .date-tabs-arrow:not(.disabled):hover{
  background:var(--neon,#d7b45a)!important;
  color:#11140b!important;
  transform:translateY(-1px)!important;
}
.schedule-page .date-tabs-arrow.disabled{
  border-color:#34342c!important;
  background:#10100d!important;
  color:#55554b!important;
  cursor:not-allowed!important;
  opacity:.65!important;
}
@media(max-width:900px){
  .schedule-page .date-tabs-nav{
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:5px!important;
  }
  .schedule-page .date-tabs-arrow{
    min-width:38px!important;
    min-height:56px!important;
    font-size:27px!important;
  }
  .schedule-page .date-tabs-nav .ten-day-tabs{
    overflow-x:auto!important;
    padding-bottom:5px!important;
  }
}

/* ========================================================================
   RECRUIT — application form palette alignment
   Keep the recruit form consistent with the public booking/profile UI.
   ======================================================================== */
.page-recruit .recruit-reference-form{
  border:1px solid #3f4134!important;
  background:linear-gradient(135deg,#11120e 0%,#0b0c09 100%)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.page-recruit .recruit-reference-form>header{
  padding-bottom:22px!important;
  margin-bottom:26px!important;
  border-bottom:1px solid #34362c!important;
}
.page-recruit .recruit-reference-form>header h2{
  color:var(--neon,#d7b45a)!important;
  font-size:28px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.page-recruit .recruit-reference-form>header p{
  color:#aaa99f!important;
}
.page-recruit .recruit-form-row>label{
  color:#e4e3da!important;
}
.page-recruit .recruit-form-row>label b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:20px!important;
  margin-left:8px!important;
  padding:2px 7px!important;
  border:1px solid var(--neon,#d7b45a)!important;
  border-radius:3px!important;
  background:var(--neon,#d7b45a)!important;
  color:#11140b!important;
  font-size:8px!important;
  font-weight:950!important;
  line-height:1!important;
}
.page-recruit .recruit-form-row>label em{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:20px!important;
  margin-left:8px!important;
  padding:2px 7px!important;
  border:1px solid #4b4c43!important;
  border-radius:3px!important;
  background:#181914!important;
  color:#aaa99f!important;
  font-size:8px!important;
  font-weight:800!important;
  line-height:1!important;
  font-style:normal!important;
}
.page-recruit .recruit-reference-form input:not([type=file]),
.page-recruit .recruit-reference-form select,
.page-recruit .recruit-reference-form textarea{
  width:100%!important;
  min-height:46px!important;
  border:1px solid #414138!important;
  border-radius:4px!important;
  background:#0c0d0a!important;
  color:#efeee6!important;
  padding:9px 13px!important;
  box-shadow:none!important;
  caret-color:var(--neon,#d7b45a)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.page-recruit .recruit-reference-form input:not([type=file])::placeholder,
.page-recruit .recruit-reference-form textarea::placeholder{
  color:#6f7068!important;
  opacity:1!important;
}
.page-recruit .recruit-reference-form select option{
  background:#0c0d0a!important;
  color:#efeee6!important;
}
.page-recruit .recruit-reference-form input:not([type=file]):hover,
.page-recruit .recruit-reference-form select:hover,
.page-recruit .recruit-reference-form textarea:hover{
  border-color:#66695a!important;
}
.page-recruit .recruit-reference-form input:not([type=file]):focus,
.page-recruit .recruit-reference-form select:focus,
.page-recruit .recruit-reference-form textarea:focus{
  outline:none!important;
  border-color:var(--neon,#d7b45a)!important;
  box-shadow:0 0 0 1px var(--neon,#d7b45a)!important;
  background:#0f100c!important;
}
.page-recruit .recruit-unit-input span{
  color:#92938a!important;
}
.page-recruit .recruit-upload-box{
  min-height:150px!important;
  border:1px dashed #6f7c24!important;
  border-radius:4px!important;
  background:#0e0f0c!important;
  color:#aaa99f!important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
}
.page-recruit .recruit-upload-box:hover,
.page-recruit .recruit-upload-box:focus-within{
  border-color:var(--neon,#d7b45a)!important;
  background:#12140e!important;
  box-shadow:inset 0 0 0 1px rgba(215,180,90,.12)!important;
}
.page-recruit .recruit-upload-box>span .icon{
  color:var(--neon,#d7b45a)!important;
}
.page-recruit .recruit-upload-box strong{
  color:#e9e8df!important;
  font-weight:900!important;
}
.page-recruit .recruit-upload-box small{
  color:#85867d!important;
}
.page-recruit .recruit-submit{
  min-height:56px!important;
  border:1px solid var(--neon,#d7b45a)!important;
  border-radius:4px!important;
  background:var(--neon,#d7b45a)!important;
  color:#11140b!important;
  font-size:14px!important;
  font-weight:950!important;
  letter-spacing:.04em!important;
  box-shadow:none!important;
  transition:filter .18s ease,transform .18s ease,box-shadow .18s ease!important;
}
.page-recruit .recruit-submit .icon{
  color:#11140b!important;
}
.page-recruit .recruit-submit:hover{
  filter:brightness(.94)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 22px rgba(215,180,90,.12)!important;
}
.page-recruit .recruit-submit:focus-visible{
  outline:2px solid #f4ffb8!important;
  outline-offset:3px!important;
}
.page-recruit .recruit-form-privacy{
  color:#77786f!important;
}
@media(max-width:720px){
  .page-recruit .recruit-reference-form>header{
    padding-bottom:18px!important;
    margin-bottom:22px!important;
  }
  .page-recruit .recruit-reference-form>header h2{
    font-size:23px!important;
  }
  .page-recruit .recruit-submit{
    min-height:54px!important;
    font-size:13px!important;
  }
}

/* =========================================================
   2026-08 unified readability + action button geometry
   ========================================================= */
:root{
  --ui-action-radius:8px;
}

/* RECRUIT: improve readability without changing the layout hierarchy. */
.page-recruit .recruit-showcase-copy p{
  font-size:14px!important;
  line-height:1.9!important;
  letter-spacing:.01em!important;
}
.page-recruit .recruit-merits strong{
  font-size:15px!important;
  line-height:1.45!important;
}
.page-recruit .recruit-merits small{
  margin-top:9px!important;
  font-size:11px!important;
  line-height:1.72!important;
}

/* Public action controls: one softly-rounded geometry across the site. */
.btn,
a.btn,
.header-reservation,
.header-icon-link,
.menu-btn,
.page-index .home-hero-book,
.card-buttons a,
.booking-submit-button,
.boys-search-submit,
.recruit-submit,
.recruit-quick-contact-card>a,
.slot-button,
.slot-picker button,
.compact-slots a,
.booking-view-all,
.date-tabs-arrow,
.date-tab,
.pagination a,
.contact-dock a,
.recruit-contact-links a,
.recruit-contact-links button,
.access-guide .btn,
.decision-actions .btn,
.age-card .btn{
  border-radius:var(--ui-action-radius)!important;
}

/* Schedule: fully-booked therapists remain visible and get a redundant text state. */
.schedule-card.fully-booked{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}
.schedule-card .schedule-availability-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:26px!important;
  margin:2px 0 7px!important;
  padding:4px 9px!important;
  border:1px solid #515244!important;
  border-radius:var(--ui-action-radius)!important;
  background:#171813!important;
  color:#d3d4ca!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.schedule-card .schedule-availability-status.full{
  border-color:rgba(215,180,90,.5)!important;
  background:rgba(215,180,90,.08)!important;
  color:var(--neon,#d7b45a)!important;
}

@media(max-width:720px){
  .page-recruit .recruit-showcase-copy p{
    font-size:13px!important;
    line-height:1.85!important;
  }
  .page-recruit .recruit-merits strong{
    font-size:14px!important;
  }
  .page-recruit .recruit-merits small{
    font-size:10.5px!important;
    line-height:1.7!important;
  }
}

/* Selection controls that act as buttons use the same corner radius. */
.booking-date-choice,
.booking-course-card,
.booking-therapist-card,
.footer-booking-action{
  border-radius:var(--ui-action-radius)!important;
}

/* Native public <button> controls follow the same radius too. */
button,
.platform-link,
.profile-book-button{
  border-radius:var(--ui-action-radius)!important;
}

/* ========================================================================
   SCHEDULE — remove photo-count badges and animate therapist date changes
   ======================================================================== */
.photo-count{
  display:none!important;
}
.page-schedule #schedule-results [data-schedule-card-grid] .schedule-card{
  --schedule-enter-x:-24px;
  --schedule-exit-x:24px;
  transition:
    opacity .28s ease,
    transform .36s cubic-bezier(.22,.61,.36,1),
    filter .28s ease!important;
  transition-delay:calc(var(--schedule-index,0) * 26ms)!important;
  transform:translate3d(0,0,0) scale(1);
  opacity:1;
  filter:blur(0);
  will-change:transform,opacity,filter;
}
.page-schedule #schedule-results [data-schedule-card-grid] .schedule-card:nth-child(even){
  --schedule-enter-x:24px;
  --schedule-exit-x:-24px;
}
.page-schedule #schedule-results [data-schedule-card-grid] .schedule-card.schedule-card-enter{
  opacity:0!important;
  transform:translate3d(var(--schedule-enter-x),18px,0) scale(.975)!important;
  filter:blur(2px)!important;
}
.page-schedule #schedule-results [data-schedule-card-grid] .schedule-card.schedule-card-exit{
  opacity:0!important;
  transform:translate3d(var(--schedule-exit-x),-12px,0) scale(.985)!important;
  filter:blur(1px)!important;
  pointer-events:none!important;
  transition-delay:calc(var(--schedule-index,0) * 12ms)!important;
}
.page-schedule #schedule-results.is-schedule-loading .date-tabs-nav{
  pointer-events:none;
}
.page-schedule #schedule-results.is-schedule-loading .date-tabs-nav a{
  cursor:progress!important;
}
@media(max-width:620px){
  .page-schedule #schedule-results [data-schedule-card-grid] .schedule-card{
    --schedule-enter-x:-16px;
    --schedule-exit-x:16px;
    transition-duration:.26s,.32s,.26s!important;
    transition-delay:calc(var(--schedule-index,0) * 20ms)!important;
  }
  .page-schedule #schedule-results [data-schedule-card-grid] .schedule-card:nth-child(even){
    --schedule-enter-x:16px;
    --schedule-exit-x:-16px;
  }
}
@media(prefers-reduced-motion:reduce){
  .page-schedule #schedule-results [data-schedule-card-grid] .schedule-card{
    transition:none!important;
    transform:none!important;
    opacity:1!important;
    filter:none!important;
  }
}

/* ========================================================================
   WARM CHARCOAL + GOLD PALETTE
   ======================================================================== */
:root{
  --neon:#d7b45a;
  --neon-rgb:215,180,90;
  --theme-bg:#0d0f0f;
  --theme-panel:#171817;
  --theme-panel-2:#24221d;
  --theme-border:#514938;
  --theme-border-strong:#80693b;
  --theme-text:#eee9df;
  --theme-muted:#aaa49a;
  --theme-dark-text:#111313;
  --theme-success:#b5a263;
  --rev-neon:#d7b45a;
  --rev-bg:#0d0f0f;
  --rev-panel:#171817;
  --rev-panel-2:#24221d;
  --rev-line:#514938;
  --rev-muted:#aaa49a;
  --rev-text:#eee9df;
}

html,body,
main,.section,.compact-section,.staff-first-section{
  background:#0d0f0f!important;
  color:#eee9df!important;
}
.site-header,.global-nav,.site-footer{
  background:#0a0c0c!important;
  border-color:#2d302e!important;
}
.brand strong,.section-title-row span,.eyebrow,.page-hero span,
.home-intro .eyebrow,.section-title-row>a,
.page-hero h1,.home-intro h1>strong,
.recruit-showcase-copy>span,.recruit-showcase-copy h1,
.recruit-hero span,.recruit-hero h1,
.schedule-heading h2,.footer-brand strong,.footer-columns b{
  color:#d7b45a!important;
}
.brand small,.page-hero p,.home-intro p,.recruit-hero p,
.recruit-showcase-copy p,.section-title-row h2,
.home-service-grid>a small,.home-service-grid>a em{
  color:#d1cbc0!important;
}
.header-reservation,.home-hero-book,.btn.primary,
.home-intro>.quick-actions a.accent,
.booking-submit-button,.social.booking,
.recruit-quick-contact-card>a,
.recruit-submit{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#111313!important;
  box-shadow:none!important;
}
.header-reservation:hover,.btn.primary:hover,
.home-hero-book:hover,.booking-submit-button:hover,
.recruit-quick-contact-card>a:hover,.recruit-submit:hover{
  background:#e2c474!important;
  border-color:#e2c474!important;
  color:#111313!important;
}
.global-nav .nav-inner>a:hover,
.header-icon-link:hover,.btn.outline:hover,
.home-service-grid>a:hover>b,
.pagination a:hover,.pagination a.active{
  color:#d7b45a!important;
  border-color:#d7b45a!important;
  background:#29251e!important;
}
.header-icon-link,.btn.outline,.menu-btn,
.home-service-grid,.home-service-grid>a,
.section-title-row,.page-hero,.global-nav,
.staff-card,.schedule-card,.course-card,
.schedule-info-link,.access-card,.access-guide,
.boys-search-panel,.form-card,.content-card,
.announcement-detail,.policy-grid>*,.faq-list details,
.booking-panel,.booking-calendar-box,.booking-time-box,
.recruit-merits,.recruit-income-card,.recruit-reference-form,
.premium-profile-summary,.profile-text,.profile-feature-box,
.profile-carousel-stage,.payment-method-field,.payment-method-options label{
  border-color:#514938!important;
}
.page-hero,.recruit-hero,.premium-profile-hero{
  background:linear-gradient(112deg,#151717 0%,#28251f 58%,#51483a 100%)!important;
}
.home-intro{
  background:linear-gradient(112deg,#151717 0%,#29251f 52%,#51483a 100%)!important;
  border-bottom-color:#514938!important;
}
.home-hero-visual::before{
  background:linear-gradient(90deg,rgba(55,49,40,.96) 0%,rgba(55,49,40,.28) 34%,rgba(10,12,12,.12) 100%)!important;
}
.home-intro>.quick-actions,
.home-intro>.quick-actions a,
.home-service-grid>a,
.staff-card,.schedule-card,.course-card,
.booking-panel,.recruit-reference-form,
.premium-profile-summary,.profile-text,.profile-feature-box,
.boys-search-panel,.form-card,.content-card{
  background:#171817!important;
}
.staff-card-body,.schedule-card-body{
  background:#111313!important;
}
.staff-photo,.schedule-card-photo{
  background:#40382d!important;
}
.staff-card:hover,.schedule-card:hover{
  border-color:#d7b45a!important;
}
.staff-name-row h2,.staff-name-row h3,
.schedule-card-body h2,.staff-name-link h3>span,
.staff-name-link h2,.staff-name-link h3{
  color:#d7b45a!important;
}
.home-service-grid>a>.icon,.home-service-grid .icon,
.staff-booking-full-overlay small,.card-shift-times,
.course-card>span,.course-card strong,.course-card a,
.schedule-heading h2,.schedule-work-time em,
.compact-slots a,.required-mark{
  color:#d7b45a!important;
}
.home-service-grid>a b,.course-card,.compact-slots a,
.schedule-info-link span,.card-buttons a,
.pagination a,.ten-day-tabs .date-tab{
  border-color:#80693b!important;
}
.home-service-grid>a b:hover,.course-card:hover,
.compact-slots a:hover,.ten-day-tabs .date-tab.active,
.booking-date-choice.active{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#111313!important;
}
.profile-hover{
  color:#d7b45a!important;
}
.ribbon.new,.ribbon.recommend{
  background:#d7b45a!important;
  color:#111313!important;
}
.booking-progress-shell,.booking-stage-nav{
  background:#111313!important;
  border-color:#2d302e!important;
}
.booking-stage-nav::before{background:#6b5a39!important}
.booking-stage-nav b{background:#171817!important;border-color:#80693b!important}
.booking-stage-nav>div.active b{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#111313!important;
}
.booking-stage-nav>div.active strong,.booking-stage-nav>div.done strong,
.booking-panel>h2,.booking-date-choice.active{
  color:#d7b45a!important;
}
.booking-panel,.booking-calendar-box,.booking-time-box,
.booking-course-card,.booking-customer-grid label,
.booking-terms-check,.payment-method-field,
.payment-method-options label{
  background:#171817!important;
}
.booking-course-card,.booking-date-choice,
.booking-customer-grid input,.booking-customer-grid select,
.booking-customer-grid textarea,.booking-calendar-controls input,
.booking-calendar-controls select,.booking-terms-check{
  border-color:#514938!important;
  background:#0f1111!important;
  color:#eee9df!important;
}
.booking-customer-grid input:focus,.booking-customer-grid select:focus,
.booking-customer-grid textarea:focus,.booking-calendar-controls input:focus,
.booking-calendar-controls select:focus{
  border-color:#d7b45a!important;
  box-shadow:0 0 0 1px #d7b45a!important;
}
.recruit-showcase{
  background:radial-gradient(circle at 72% 24%,#51483a 0,#29251f 34%,#0d0f0f 72%)!important;
}
.recruit-showcase-copy h2,.recruit-merits strong,
.recruit-income-card h3,.recruit-contact-banner h2{
  color:#eee9df!important;
}
.recruit-merits,.recruit-income-card,.recruit-quick-contact-card{
  background:linear-gradient(110deg,#24211c,#151716)!important;
  border-color:#80693b!important;
}
.recruit-merits article,.recruit-income-card>div+div{
  border-color:#5d5039!important;
}
.recruit-income-card h3,.recruit-income-card li::before,
.recruit-quick-contact-card>div strong span,
.recruit-reference-form>header h2{
  color:#d7b45a!important;
}
.recruit-reference-form input:not([type=file]),
.recruit-reference-form select,.recruit-reference-form textarea,
.recruit-upload-box{
  background:#0f1111!important;
  border-color:#514938!important;
  color:#eee9df!important;
}
.recruit-reference-form input:not([type=file]):focus,
.recruit-reference-form select:focus,
.recruit-reference-form textarea:focus{
  border-color:#d7b45a!important;
  box-shadow:0 0 0 1px #d7b45a!important;
}
.recruit-upload-box strong{color:#d7b45a!important}
.site-footer,.footer-brand small,.footer-columns a,.footer-columns span,
.legal-row{color:#aaa49a!important}
.social{background:#171817!important;border-color:#514938!important}
.social .icon,.header-icon-link .icon,.platform-link .icon{
  color:#d7b45a!important;
}
.age-card{background:#171817!important;border-color:#d7b45a!important}
.page-recruit .recruit-reference-form{
  border-color:#514938!important;
  background:linear-gradient(135deg,#171817 0%,#101212 100%)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.page-recruit .recruit-reference-form>header{border-color:#514938!important}
.page-recruit .recruit-form-row>label{color:#eee9df!important}
.page-recruit .recruit-form-row>label b{
  border-color:#d7b45a!important;
  background:#d7b45a!important;
  color:#111313!important;
}
.page-recruit .recruit-submit{
  border-color:#d7b45a!important;
  background:#d7b45a!important;
  color:#111313!important;
  box-shadow:none!important;
}
.page-recruit .recruit-submit:hover{
  background:#e2c474!important;
  border-color:#e2c474!important;
  box-shadow:0 8px 22px rgba(215,180,90,.16)!important;
}
.schedule-card .schedule-availability-status.full{
  border-color:rgba(215,180,90,.5)!important;
  background:rgba(215,180,90,.10)!important;
  color:#d7b45a!important;
}
.staff-time-overlay,.schedule-card .staff-time-overlay{
  border-top-color:rgba(215,180,90,.28)!important;
}
.platform-link,.home-hero-platform .platform-link,
.page-index .home-top-platform-strip .platform-link{
  border-right-color:rgba(215,180,90,.20)!important;
}
.page-index .home-top-platform-strip .platform-link:hover,
.page-index .home-top-platform-strip .platform-link:focus-visible{
  background:rgba(215,180,90,.10)!important;
}

/* ========================================================================
   PUBLIC CONTENT SCALE + HERO BALANCE
   ======================================================================== */
:root{--public-content-max:820px}

/* Keep all public page content aligned to the same readable width as the forms. */
main .container,
.page-cast .container.tp-shell{
  width:min(820px,calc(100% - 96px))!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Reduce oversized top visual areas and keep their text rhythm consistent. */
.page-hero,.page-hero.compact{
  height:180px!important;
  min-height:180px!important;
}
.page-hero>.container{
  padding:20px 0!important;
}
.page-hero h1{
  margin:5px 0 7px!important;
  font-size:clamp(30px,4vw,46px)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.page-hero p{
  max-width:580px!important;
  color:#ded8ce!important;
  font-size:12px!important;
  line-height:1.65!important;
}
.page-index .home-hero-layout{
  grid-template-columns:minmax(0,1fr) minmax(300px,.9fr)!important;
  min-height:360px!important;
  height:360px!important;
}
.page-index .home-hero-copy{
  padding:34px 0 28px!important;
}
.page-index .home-hero-visual{
  min-height:360px!important;
  height:360px!important;
}
.page-index .home-hero-visual img{
  object-fit:cover!important;
  object-position:center 18%!important;
}
.page-index .home-intro h1{
  font-size:clamp(42px,5vw,64px)!important;
  line-height:.94!important;
  margin-bottom:12px!important;
}
.page-index .home-intro p{font-size:12px!important;line-height:1.65!important}
.page-booking .booking-hero{
  height:230px!important;
  min-height:230px!important;
}
.page-booking .booking-hero-inner{height:230px!important}
.page-booking .booking-hero-model img{
  height:100%!important;
  max-height:100%!important;
}
.page-booking .booking-hero-copy{padding:22px 0!important}
.page-booking .booking-hero h1{font-size:clamp(48px,6vw,72px)!important}
.page-recruit .recruit-showcase-inner{min-height:360px!important}
.page-recruit .recruit-showcase-copy{padding:42px 0 30px!important}
.page-recruit .recruit-showcase-copy h1{font-size:clamp(52px,7vw,82px)!important}
.page-recruit .recruit-showcase-copy h2{
  margin-bottom:0!important;
  font-size:clamp(30px,4vw,50px)!important;
  line-height:1.12!important;
}
.page-recruit .recruit-showcase-visual{
  min-height:360px!important;
  height:360px!important;
}

/* Final text and image balance pass. */
.page-index .home-intro{
  overflow:visible!important;
}
.page-index .home-hero-layout{
  min-height:300px!important;
  height:300px!important;
}
.page-index .home-hero-visual{
  min-height:300px!important;
  height:300px!important;
}
.page-index .home-intro h1>span{
  color:#fff!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.page-index .home-hero-copy,
.page-index .home-intro h1,
.page-hero>.container,
.page-hero h1,.page-hero p,
.booking-hero-copy,.recruit-showcase-copy,
.recruit-showcase-copy h1,.recruit-showcase-copy h2{
  overflow:visible!important;
  text-overflow:clip!important;
}
.home-hero-book,.header-reservation,.btn,
.booking-submit-button,.recruit-submit,
.section-title-row h2,.page-hero h1,
.booking-panel>h2,.recruit-reference-form>header h2,
.home-service-grid>a strong,.schedule-info-link strong,
.staff-name-link h2,.staff-name-link h3,
.staff-name-row h2,.staff-name-row h3{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.page-hero p,.home-intro p,.recruit-showcase-copy p,
.recruit-reference-form>header p,.booking-submit-note,
.booking-panel-note,.home-service-grid>a small,
.schedule-info-link small,.body-spec{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}
.page-booking .booking-hero,
.page-booking .booking-hero-inner{
  height:210px!important;
  min-height:210px!important;
}
.page-recruit .recruit-showcase-visual{
  min-height:300px!important;
  height:300px!important;
}

@media(max-width:720px){
  main .container,.page-cast .container.tp-shell{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  .page-hero,.page-hero.compact{
    height:148px!important;
    min-height:148px!important;
  }
  .page-hero>.container{padding:16px 0!important}
  .page-hero h1{font-size:32px!important}
  .page-hero p{font-size:10px!important;line-height:1.55!important}
  .page-index .home-hero-layout{
    height:270px!important;
    min-height:270px!important;
    grid-template-columns:1fr!important;
  }
  .page-index .home-hero-visual{height:270px!important;min-height:270px!important}
  .page-index .home-hero-copy{padding:28px 0 20px!important}
  .page-booking .booking-hero,
  .page-booking .booking-hero-inner{
    height:180px!important;
    min-height:180px!important;
  }
  .page-recruit .recruit-showcase-inner{min-height:0!important}
  .page-recruit .recruit-showcase-visual{height:250px!important;min-height:250px!important}
}
.age-card h2{color:#d7b45a!important}

/* ========================================================================
   LIGHT PROFILE CARD STYLE — HOME / BOYS / SCHEDULE
   ======================================================================== */
body.page-index,body.page-casts,body.page-schedule{
  background:#f2efe9!important;
  color:#3b3731!important;
}
body.page-index main,body.page-casts main,body.page-schedule main,
body.page-index .section,body.page-casts .section,body.page-schedule .section{
  background:#f2efe9!important;
}
body.page-index .site-header,body.page-casts .site-header,body.page-schedule .site-header{
  background:#faf8f3!important;
  border-bottom:1px solid #d8d0c4!important;
  box-shadow:0 2px 14px rgba(67,57,45,.08)!important;
}
body.page-index .global-nav,body.page-casts .global-nav,body.page-schedule .global-nav{
  background:transparent!important;
  border:0!important;
}
body.page-index .global-nav .nav-inner>a,
body.page-casts .global-nav .nav-inner>a,
body.page-schedule .global-nav .nav-inner>a{
  color:#3f3a34!important;
  border-color:transparent!important;
}
body.page-index .global-nav .nav-inner>a small,
body.page-casts .global-nav .nav-inner>a small,
body.page-schedule .global-nav .nav-inner>a small{
  color:#777066!important;
}
body.page-index .global-nav .nav-inner>a:hover,
body.page-casts .global-nav .nav-inner>a:hover,
body.page-schedule .global-nav .nav-inner>a:hover{
  color:#9a7a3d!important;
  background:#eee9e1!important;
  border-bottom-color:#b29459!important;
}
body.page-index .menu-btn,body.page-casts .menu-btn,body.page-schedule .menu-btn{
  background:#faf8f3!important;
  border-color:#b9a98f!important;
  color:#80683b!important;
}

/* Keep the home hero dark enough for the requested white heading. */
body.page-index .home-intro{
  background:linear-gradient(112deg,#242522 0%,#3d3931 58%,#615546 100%)!important;
  border-bottom:1px solid #76664e!important;
}
body.page-index .home-intro h1>span{color:#fff!important}
body.page-index .home-intro p{color:#eeeae1!important}

body.page-casts .page-hero,body.page-schedule .page-hero{
  background:linear-gradient(112deg,#f7f4ef 0%,#ece6dd 100%)!important;
  border-bottom:1px solid #d5cabc!important;
}
body.page-casts .page-hero h1,body.page-schedule .page-hero h1{
  color:#39342d!important;
}
body.page-casts .page-hero span,body.page-schedule .page-hero span{
  color:#9a7a3d!important;
}
body.page-casts .page-hero p,body.page-schedule .page-hero p{
  color:#756d63!important;
}

body.page-index .home-service-strip,
body.page-index .home-therapists-section,
body.page-index .home-footer-cards{
  background:#f2efe9!important;
  border-color:#d8d0c4!important;
}
body.page-index .home-service-grid{
  border-color:#d8d0c4!important;
}
body.page-index .home-service-grid>a{
  background:#ebe6de!important;
  border-color:#d8d0c4!important;
  color:#3d3831!important;
}
body.page-index .home-service-grid>a strong,
body.page-index .home-service-grid>a small,
body.page-index .home-service-grid>a em{
  color:#4a433a!important;
}
body.page-index .home-service-grid>a>.icon,
body.page-index .home-service-grid .icon{
  color:#9a7a3d!important;
}
body.page-index .home-service-grid>a b{
  color:#806535!important;
  border-color:#aa8b52!important;
  background:transparent!important;
}
body.page-index .section-title-row,
body.page-casts .section-title-row,
body.page-schedule .section-title-row,
body.page-schedule .schedule-heading{
  border-color:#cfc5b7!important;
}
body.page-index .section-title-row h2,
body.page-casts .section-title-row h2,
body.page-schedule .section-title-row h2,
body.page-schedule .schedule-heading h2{
  color:#3b3731!important;
}
body.page-index .section-title-row span,
body.page-casts .section-title-row span,
body.page-schedule .section-title-row span,
body.page-schedule .schedule-heading span,
body.page-index .section-title-row>a,
body.page-casts .section-title-row>a{
  color:#9a7a3d!important;
}
body.page-schedule .schedule-heading p{
  color:#71695f!important;
}

/* Shared therapist cards: image first, dark information band second. */
body.page-index .dense-staff-card,
body.page-casts .dense-staff-card,
body.page-schedule .schedule-card{
  background:#29251f!important;
  border:1px solid #b9a98d!important;
  border-radius:5px!important;
  box-shadow:0 5px 14px rgba(67,57,45,.12)!important;
  overflow:hidden!important;
}
body.page-index .dense-staff-card:hover,
body.page-casts .dense-staff-card:hover,
body.page-schedule .schedule-card:hover{
  border-color:#9a7a3d!important;
  box-shadow:0 8px 20px rgba(67,57,45,.18)!important;
}
body.page-index .dense-staff-card .staff-photo,
body.page-casts .dense-staff-card .staff-photo,
body.page-schedule .schedule-card-photo{
  aspect-ratio:4/5!important;
  background:#8b8174!important;
}
body.page-index .dense-staff-card .staff-photo>img,
body.page-casts .dense-staff-card .staff-photo>img,
body.page-schedule .schedule-card-photo>img{
  filter:saturate(.78) contrast(1.03)!important;
}
body.page-index .dense-staff-card .staff-card-body,
body.page-casts .dense-staff-card .staff-card-body,
body.page-index .dense-staff-card .compact-therapist-body,
body.page-casts .dense-staff-card .compact-therapist-body,
body.page-schedule .schedule-card-body{
  background:#29251f!important;
  color:#f1ede5!important;
}
body.page-index .dense-staff-card .staff-name-link h2,
body.page-casts .dense-staff-card .staff-name-link h2,
body.page-schedule .schedule-card-body h2,
body.page-index .dense-staff-card .staff-name-link h2 small,
body.page-casts .dense-staff-card .staff-name-link h2 small,
body.page-schedule .schedule-card-body h2 small{
  color:#f3eee5!important;
}
body.page-index .dense-staff-card .staff-name-link h2,
body.page-casts .dense-staff-card .staff-name-link h2,
body.page-schedule .schedule-card-body h2{
  font-size:16px!important;
  line-height:1.25!important;
}
body.page-index .dense-staff-card .staff-name-link h2 small,
body.page-casts .dense-staff-card .staff-name-link h2 small,
body.page-schedule .schedule-card-body h2 small{
  font-size:10px!important;
  color:#d3c7b3!important;
}
body.page-index .dense-staff-card .staff-roman,
body.page-casts .dense-staff-card .staff-roman{
  color:#c8b17e!important;
}
body.page-index .dense-staff-card .body-spec.inline-spec,
body.page-casts .dense-staff-card .body-spec.inline-spec,
body.page-schedule .schedule-card-body>p{
  color:#eee8de!important;
  font-size:10px!important;
}
body.page-index .dense-staff-card .staff-time-overlay,
body.page-casts .dense-staff-card .staff-time-overlay,
body.page-schedule .schedule-card .staff-time-overlay{
  background:linear-gradient(180deg,rgba(41,37,31,.10),rgba(41,37,31,.82))!important;
  border-top:0!important;
}
body.page-index .dense-staff-card .staff-time-overlay strong,
body.page-casts .dense-staff-card .staff-time-overlay strong,
body.page-schedule .schedule-card .staff-time-overlay strong{
  color:#f5efe5!important;
}
body.page-index .dense-staff-card .profile-hover,
body.page-casts .dense-staff-card .profile-hover,
body.page-schedule .schedule-card .profile-hover{
  background:transparent!important;
  color:#e0bc72!important;
}
body.page-index .dense-staff-card .ribbon,
body.page-casts .dense-staff-card .ribbon{
  background:#aa8b52!important;
  color:#fffaf0!important;
}
body.page-schedule .schedule-availability-status{
  background:rgba(215,180,90,.12)!important;
  border-color:#aa8b52!important;
  color:#e0bc72!important;
}
body.page-schedule .card-buttons a{
  background:#3a332a!important;
  border-color:#8c7143!important;
  color:#f2ede4!important;
}
body.page-schedule .card-buttons a.primary{
  background:#aa8b52!important;
  border-color:#aa8b52!important;
  color:#fffaf0!important;
}
body.page-casts .pagination a,body.page-schedule .pagination a{
  background:#ebe6de!important;
  border-color:#c1b39e!important;
  color:#554b3e!important;
}
body.page-casts .pagination a.active,body.page-schedule .pagination a.active{
  background:#aa8b52!important;
  border-color:#aa8b52!important;
  color:#fffaf0!important;
}

/* ========================================================================
   LIST PAGES — MATCH THE RECRUIT DARK WARM PALETTE
   ======================================================================== */
body.page-index,body.page-casts,body.page-schedule,
body.page-index main,body.page-casts main,body.page-schedule main,
body.page-index .section,body.page-casts .section,body.page-schedule .section{
  background:#0d0f0f!important;
  color:#eee9df!important;
}
body.page-index .site-header,body.page-casts .site-header,body.page-schedule .site-header,
body.page-index .global-nav,body.page-casts .global-nav,body.page-schedule .global-nav{
  background:#0a0c0c!important;
  border-color:#2d302e!important;
}
body.page-index .global-nav .nav-inner>a,
body.page-casts .global-nav .nav-inner>a,
body.page-schedule .global-nav .nav-inner>a{
  color:#eee9df!important;
}
body.page-index .global-nav .nav-inner>a small,
body.page-casts .global-nav .nav-inner>a small,
body.page-schedule .global-nav .nav-inner>a small{
  color:#aaa49a!important;
}
body.page-index .global-nav .nav-inner>a:hover,
body.page-casts .global-nav .nav-inner>a:hover,
body.page-schedule .global-nav .nav-inner>a:hover{
  color:#d7b45a!important;
  background:#29251e!important;
  border-bottom-color:#d7b45a!important;
}
body.page-index .home-service-strip,
body.page-index .home-therapists-section,
body.page-index .home-footer-cards{
  background:#0d0f0f!important;
  border-color:#514938!important;
}
body.page-index .home-service-grid{border-color:#514938!important}
body.page-index .home-service-grid>a{
  background:#171817!important;
  border-color:#514938!important;
  color:#eee9df!important;
}
body.page-index .home-service-grid>a strong,
body.page-index .home-service-grid>a small,
body.page-index .home-service-grid>a em{
  color:#eee9df!important;
}
body.page-index .home-service-grid>a>.icon,
body.page-index .home-service-grid .icon,
body.page-index .home-service-grid>a b{
  color:#d7b45a!important;
}
body.page-index .home-service-grid>a b{
  border-color:#80693b!important;
  background:transparent!important;
}
body.page-casts .page-hero,body.page-schedule .page-hero{
  background:linear-gradient(112deg,#151717 0%,#28251f 58%,#51483a 100%)!important;
  border-bottom-color:#514938!important;
}
body.page-casts .page-hero h1,body.page-schedule .page-hero h1,
body.page-casts .section-title-row h2,body.page-schedule .section-title-row h2,
body.page-schedule .schedule-heading h2{
  color:#eee9df!important;
}
body.page-casts .page-hero span,body.page-schedule .page-hero span,
body.page-casts .section-title-row span,body.page-schedule .section-title-row span,
body.page-casts .section-title-row>a,
body.page-schedule .schedule-heading span{
  color:#d7b45a!important;
}
body.page-casts .page-hero p,body.page-schedule .page-hero p,
body.page-schedule .schedule-heading p{
  color:#d1cbc0!important;
}
body.page-index .section-title-row,body.page-casts .section-title-row,
body.page-schedule .section-title-row,body.page-schedule .schedule-heading{
  border-color:#514938!important;
}

/* Square therapist photo frames on every list page. */
body.page-index .dense-staff-card .staff-photo,
body.page-casts .dense-staff-card .staff-photo,
body.page-schedule .schedule-card-photo{
  aspect-ratio:1/1!important;
  height:auto!important;
  min-height:0!important;
  background:#40382d!important;
}
body.page-index .dense-staff-card,
body.page-casts .dense-staff-card,
body.page-schedule .schedule-card{
  background:#171817!important;
  border-color:#514938!important;
  box-shadow:0 6px 18px rgba(0,0,0,.24)!important;
}
body.page-index .dense-staff-card .staff-card-body,
body.page-casts .dense-staff-card .staff-card-body,
body.page-index .dense-staff-card .compact-therapist-body,
body.page-casts .dense-staff-card .compact-therapist-body,
body.page-schedule .schedule-card-body{
  background:#171817!important;
}
body.page-index .dense-staff-card .staff-name-link h2,
body.page-casts .dense-staff-card .staff-name-link h2,
body.page-schedule .schedule-card-body h2{
  color:#d7b45a!important;
}
body.page-index .dense-staff-card .staff-name-link h2 small,
body.page-casts .dense-staff-card .staff-name-link h2 small,
body.page-schedule .schedule-card-body h2 small,
body.page-index .dense-staff-card .body-spec.inline-spec,
body.page-casts .dense-staff-card .body-spec.inline-spec,
body.page-schedule .schedule-card-body>p{
  color:#d1cbc0!important;
}
body.page-schedule .card-buttons a{
  background:#171817!important;
  border-color:#80693b!important;
  color:#eee9df!important;
}
body.page-schedule .card-buttons a.primary{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#111313!important;
}
body.page-casts .pagination a,body.page-schedule .pagination a{
  background:#171817!important;
  border-color:#514938!important;
  color:#d1cbc0!important;
}
body.page-casts .pagination a.active,body.page-schedule .pagination a.active{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#111313!important;
}

@media(max-width:720px){
  body.page-index .dense-staff-card,
  body.page-casts .dense-staff-card,
  body.page-schedule .schedule-card{
    display:block!important;
    min-height:0!important;
  }
  body.page-index .dense-staff-card .staff-photo,
  body.page-casts .dense-staff-card .staff-photo,
  body.page-schedule .schedule-card-photo{
    height:auto!important;
    aspect-ratio:1/1!important;
  }
}

/* Final alignment for the dark list-page layout. */
body.page-index .compact-header .header-main,
body.page-casts .compact-header .header-main,
body.page-schedule .compact-header .header-main{
  width:min(820px,calc(100% - 96px))!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.page-index .section-title-row h2,
body.page-casts .section-title-row h2,
body.page-schedule .section-title-row h2{
  color:#fff!important;
  text-shadow:0 1px 10px rgba(255,255,255,.10)!important;
}
body.page-index .section-title-row,
body.page-casts .section-title-row,
body.page-schedule .section-title-row{
  border-bottom-color:#80693b!important;
}
body.page-index .home-service-grid{
  gap:14px!important;
  border:0!important;
  background:transparent!important;
}
body.page-index .home-service-grid>a{
  border:1px solid #514938!important;
  border-radius:8px!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}
body.page-index .home-service-grid>a:last-child{
  border-right:1px solid #514938!important;
}

@media(max-width:720px){
  body.page-index .compact-header .header-main,
  body.page-casts .compact-header .header-main,
  body.page-schedule .compact-header .header-main{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  body.page-index .home-service-grid{gap:10px!important}
}

/* ========================================================================
   FINAL PUBLIC SCALE + FOOTER REFINEMENT
   ======================================================================== */
/* Main visual/title image areas share one desktop height. */
body.page-index .home-hero-layout,
body.page-index .home-hero-visual{
  height:350px!important;
  min-height:350px!important;
}
body.page-booking .booking-hero,
body.page-booking .booking-hero-inner{
  height:350px!important;
  min-height:350px!important;
}
body.page-recruit .recruit-showcase-visual{
  height:350px!important;
  min-height:350px!important;
}

/* Keep public headings readable without oversized display type. */
.page-hero h1{font-size:clamp(28px,3.4vw,42px)!important}
.section-title-row h2{font-size:24px!important}
.schedule-heading h2{font-size:22px!important}
.page-index .home-intro h1{font-size:clamp(38px,4.5vw,54px)!important}
.page-booking .booking-hero h1{font-size:clamp(46px,5vw,64px)!important}
.page-recruit .recruit-showcase-copy h1{font-size:clamp(48px,6vw,70px)!important}
.page-recruit .recruit-showcase-copy h2{font-size:clamp(28px,3.5vw,42px)!important}
.page-recruit .recruit-showcase-copy>span{font-size:12px!important}
.booking-panel>h2{font-size:18px!important}
.recruit-reference-form>header h2{font-size:24px!important}

/* Compact but legible attendance-time overlay. */
body.page-index .staff-time-overlay,
body.page-casts .staff-time-overlay,
body.page-schedule .staff-time-overlay{
  min-height:30px!important;
  height:30px!important;
  padding:3px 8px!important;
  background:linear-gradient(180deg,rgba(10,12,12,.08),rgba(10,12,12,.80))!important;
}
body.page-index .staff-time-overlay strong,
body.page-casts .staff-time-overlay strong,
body.page-schedule .staff-time-overlay strong{
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
}

/* Elegant footer: aligned to the same readable content width as the pages. */
.site-footer{
  margin-top:34px!important;
  padding:30px 0 14px!important;
  background:linear-gradient(180deg,#171817 0%,#0c0e0e 100%)!important;
  border-top:1px solid #80693b!important;
}
.site-footer .footer-main,
.site-footer .legal-row{
  width:min(820px,calc(100% - 96px))!important;
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.site-footer .footer-main{
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr) 220px!important;
  gap:24px!important;
  align-items:center!important;
  padding:0 0 24px!important;
  border-bottom:1px solid #514938!important;
}
.site-footer .footer-brand{
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.site-footer .footer-brand img{
  width:150px!important;
  max-height:52px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.site-footer .footer-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:9px 18px!important;
  padding:8px 20px!important;
  border-left:1px solid #514938!important;
  border-right:1px solid #514938!important;
}
.site-footer .footer-nav a{
  color:#d1cbc0!important;
  font:700 9px/1.2 Arial,"Noto Sans JP",sans-serif!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
.site-footer .footer-nav a:hover,
.site-footer .footer-nav a:focus-visible{
  color:#d7b45a!important;
}
.site-footer .footer-actions{
  display:grid!important;
  gap:0!important;
  min-width:0!important;
}
.site-footer .footer-actions .footer-booking-action{
  min-height:52px!important;
  border:1px solid #d7b45a!important;
  background:#d7b45a!important;
  color:#111313!important;
  font-size:12px!important;
  letter-spacing:.03em!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}
.site-footer .footer-actions .footer-booking-action:hover{
  background:#e2c474!important;
  border-color:#e2c474!important;
}
.site-footer .footer-actions .footer-booking-action .icon{color:#111313!important}
.site-footer .legal-row{
  margin-top:12px!important;
  padding:0!important;
  border:0!important;
  justify-content:space-between!important;
  gap:8px 18px!important;
  color:#8f897f!important;
  font-size:8px!important;
  line-height:1.5!important;
  text-align:left!important;
}

@media(max-width:720px){
  body.page-index .home-hero-layout,
  body.page-index .home-hero-visual{
    height:280px!important;
    min-height:280px!important;
  }
  body.page-booking .booking-hero,
  body.page-booking .booking-hero-inner{
    height:280px!important;
    min-height:280px!important;
  }
  body.page-recruit .recruit-showcase-visual{
    height:280px!important;
    min-height:280px!important;
  }
  .site-footer .footer-main,
  .site-footer .legal-row{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  .site-footer .footer-main{
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding-bottom:18px!important;
  }
  .site-footer .footer-brand{justify-content:center!important;min-height:54px!important}
  .site-footer .footer-brand img{object-position:center!important}
  .site-footer .footer-nav{
    justify-content:center!important;
    border-left:0!important;
    border-right:0!important;
    border-top:1px solid #514938!important;
    border-bottom:1px solid #514938!important;
    padding:14px 4px!important;
  }
  .site-footer .footer-actions .footer-booking-action{width:100%!important}
  .site-footer .legal-row{justify-content:center!important;text-align:center!important}
}

/* Public pages use a restrained reading scale across all breakpoints. */
body[class^="page-"]{font-size:13px!important}
body.page-index .home-service-grid>a strong{font-size:15px!important}
body.page-index .home-service-grid>a small{font-size:10px!important}
body.page-index .home-service-grid>a em{font-size:9px!important}
body.page-index .home-service-grid>a b{font-size:10px!important}

/* Recruit header keeps the original wide shell; only list pages use the 820px header. */
body.page-recruit .compact-header .header-main,
body.page-access .compact-header .header-main{
  width:min(1460px,calc(100% - 80px))!important;
  max-width:1460px!important;
}

/* Recruit copy should stay on one visual line where requested. */
.page-recruit .recruit-income-card h3,
.page-recruit .recruit-quick-contact-card>div>strong,
.page-recruit .recruit-merits article>strong{
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.page-recruit .recruit-income-card h3{
  font-size:clamp(15px,2vw,19px)!important;
}
.page-recruit .recruit-quick-contact-card>div>strong{
  font-size:clamp(15px,2.2vw,23px)!important;
}
.page-recruit .recruit-merits article>strong{font-size:12px!important}

/* Income block: 日給 / 30,000円 / 以上可能. */
.page-recruit .recruit-income-number{
  grid-template-columns:1fr!important;
  grid-template-rows:auto auto auto auto!important;
  justify-items:center!important;
  align-content:center!important;
  gap:3px!important;
}
.page-recruit .recruit-income-number span,
.page-recruit .recruit-income-number strong,
.page-recruit .recruit-income-number b{
  grid-column:1!important;
  white-space:nowrap!important;
}
.page-recruit .recruit-income-number span{
  font-size:14px!important;
  line-height:1.2!important;
}
.page-recruit .recruit-income-number strong{
  font-size:46px!important;
  line-height:1!important;
}
.page-recruit .recruit-income-number b{
  font-size:14px!important;
  line-height:1.2!important;
}
.page-recruit .recruit-income-number p{
  grid-column:1!important;
  margin-top:8px!important;
}

/* Make the schedule date rail balanced and symmetrical. */
body.page-schedule .schedule-page .date-tabs-nav{
  grid-template-columns:40px minmax(0,1fr) 40px!important;
  align-items:center!important;
  gap:10px!important;
  min-height:58px!important;
}
body.page-schedule .schedule-page .date-tabs-nav .ten-day-tabs{
  display:grid!important;
  grid-template-columns:repeat(10,minmax(0,1fr))!important;
  gap:6px!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  overflow:visible!important;
}
body.page-schedule .schedule-page .date-tabs-arrow{
  width:40px!important;
  min-width:40px!important;
  height:46px!important;
  min-height:46px!important;
  padding:0!important;
  border:1px solid #80693b!important;
  border-radius:6px!important;
  background:#171817!important;
  color:#d7b45a!important;
  font-size:24px!important;
}
body.page-schedule .schedule-page .date-tabs-arrow.disabled{
  border-color:#514938!important;
  background:#111313!important;
  color:#686158!important;
}
body.page-schedule .schedule-page .date-tabs-arrow:not(.disabled):hover{
  background:#d7b45a!important;
  color:#111313!important;
}
body.page-schedule .schedule-page .date-tab{
  min-width:0!important;
  min-height:54px!important;
  padding:7px 3px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:2px!important;
  border:1px solid #514938!important;
  border-radius:6px!important;
  background:#171817!important;
  color:#d1cbc0!important;
  text-align:center!important;
}
body.page-schedule .schedule-page .date-tab small{font-size:9px!important;color:#aaa49a!important}
body.page-schedule .schedule-page .date-tab strong{font-size:13px!important;color:#eee9df!important}
body.page-schedule .schedule-page .date-tab span{font-size:7px!important;color:#d7b45a!important}
body.page-schedule .schedule-page .date-tab.active{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#111313!important;
}
body.page-schedule .schedule-page .date-tab.active small,
body.page-schedule .schedule-page .date-tab.active strong,
body.page-schedule .schedule-page .date-tab.active span{color:#111313!important}

/* Match the ACCESS page's gold eyebrow + restrained light heading palette. */
body.page-casts .page-hero h1,
body.page-schedule .page-hero h1{color:#d7b45a!important}
body.page-casts .section-title-row h2,
body.page-schedule .section-title-row h2,
body.page-schedule .schedule-heading h2{color:#d1cbc0!important}

@media(max-width:979px){
  body.page-recruit .compact-header .header-main,
  body.page-access .compact-header .header-main{
    width:calc(100% - 36px)!important;
    max-width:none!important;
  }
  body.page-schedule .schedule-page .date-tabs-nav .ten-day-tabs{
    display:flex!important;
    overflow-x:auto!important;
    padding-bottom:4px!important;
  }
  body.page-schedule .schedule-page .date-tab{
    flex:0 0 64px!important;
  }
}
@media(max-width:720px){
  body.page-recruit .compact-header .header-main,
  body.page-access .compact-header .header-main{
    width:calc(100% - 24px)!important;
  }
  .page-recruit .recruit-income-number strong{font-size:38px!important}
}

/* ACCESS redesign: a calm information panel with clear hierarchy. */
body.page-access .access-redesign{
  display:grid!important;
  gap:16px!important;
  padding-top:30px!important;
}
body.page-access .access-intro-card{
  padding:28px 30px 24px!important;
  border:1px solid #514938!important;
  border-radius:12px!important;
  background:linear-gradient(135deg,#1e1d19 0%,#141615 72%)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.16)!important;
}
body.page-access .access-intro-copy{
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex-wrap:wrap!important;
}
body.page-access .access-intro-copy .section-kicker{
  flex:0 0 auto!important;
  margin:0!important;
  color:#d7b45a!important;
  font-size:10px!important;
  letter-spacing:.18em!important;
}
body.page-access .access-intro-copy h2{
  margin:0!important;
  color:#f2eee5!important;
  font-size:clamp(22px,3vw,30px)!important;
  font-weight:650!important;
  letter-spacing:.04em!important;
}
body.page-access .access-intro-copy p{
  width:100%!important;
  margin:12px 0 0!important;
  color:#aaa49a!important;
  font-size:12px!important;
  line-height:1.8!important;
}
body.page-access .access-facts{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin:24px 0 0!important;
  border-top:1px solid #514938!important;
  border-bottom:1px solid #514938!important;
}
body.page-access .access-facts>div{
  min-width:0!important;
  padding:15px 14px 16px!important;
  border-right:1px solid #38372f!important;
}
body.page-access .access-facts>div:first-child{padding-left:0!important}
body.page-access .access-facts>div:last-child{padding-right:0!important;border-right:0!important}
body.page-access .access-facts dt{
  margin:0 0 7px!important;
  color:#d7b45a!important;
  font-size:9px!important;
  font-weight:700!important;
  letter-spacing:.16em!important;
}
body.page-access .access-facts dd{
  margin:0!important;
  color:#eee9df!important;
  font-size:12px!important;
  line-height:1.65!important;
  overflow-wrap:anywhere!important;
}
body.page-access .access-note-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  padding-top:18px!important;
}
body.page-access .access-note-row p{
  margin:0!important;
  color:#aaa49a!important;
  font-size:11px!important;
  line-height:1.75!important;
}
body.page-access .access-note-row .btn{
  min-width:144px!important;
  min-height:42px!important;
  padding:0 16px!important;
  border:1px solid #d7b45a!important;
  border-radius:5px!important;
  background:#d7b45a!important;
  color:#111313!important;
  font-size:11px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
body.page-access .access-points-redesign{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
}
body.page-access .access-points-redesign article{
  min-height:132px!important;
  padding:18px 18px 16px!important;
  border:1px solid #514938!important;
  border-radius:9px!important;
  background:#171817!important;
}
body.page-access .access-points-redesign article>span{
  display:block!important;
  margin-bottom:12px!important;
  color:#d7b45a!important;
  font-size:10px!important;
  letter-spacing:.14em!important;
}
body.page-access .access-points-redesign strong{
  display:block!important;
  margin-bottom:7px!important;
  color:#f2eee5!important;
  font-size:14px!important;
  font-weight:650!important;
}
body.page-access .access-points-redesign p{
  margin:0!important;
  color:#aaa49a!important;
  font-size:11px!important;
  line-height:1.7!important;
}
body.page-access .trust-information{
  padding-top:4px!important;
}
body.page-access .trust-information .section-title-row{
  margin-bottom:14px!important;
  border-bottom:1px solid #514938!important;
}
body.page-access .trust-information .section-title-row>div>span{
  color:#d7b45a!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
}
body.page-access .trust-information .section-title-row h2{
  color:#eee9df!important;
  font-size:20px!important;
}
body.page-access .trust-information .policy-grid{
  gap:12px!important;
}
body.page-access .trust-information .policy-grid article{
  border:1px solid #38372f!important;
  border-radius:9px!important;
  background:#141615!important;
  padding:18px 20px!important;
}
body.page-access .trust-information .policy-grid h3{
  color:#d7b45a!important;
  font-size:14px!important;
}
body.page-access .trust-information .policy-grid p,
body.page-access .trust-information .policy-grid a{
  color:#aaa49a!important;
  font-size:11px!important;
  line-height:1.8!important;
}
body.page-access .trust-information .policy-grid a:hover{color:#d7b45a!important}

/* Every public page now uses the recruit compact-header shell. */
body[class^="page-"] .site-header.compact-header{
  background:#080a0a!important;
  border-bottom:1px solid #2e302d!important;
}
body[class^="page-"] .compact-header .header-main{
  width:min(1460px,calc(100% - 80px))!important;
  max-width:1460px!important;
  margin-inline:auto!important;
}
body[class^="page-"] .compact-header .global-nav{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body[class^="page-"] .compact-header .global-nav .nav-inner>a{
  color:#ece8df!important;
}
body[class^="page-"] .compact-header .global-nav .nav-inner>a:hover,
body[class^="page-"] .compact-header .global-nav .nav-inner>a:focus-visible{
  background:#151612!important;
  color:#d7b45a!important;
  border-bottom-color:#d7b45a!important;
}
body[class^="page-"] .compact-header .header-language{
  border-color:#514938!important;
  background:#111313!important;
  color:#d1cbc0!important;
}

@media(max-width:979px){
  body[class^="page-"] .compact-header .header-main{width:calc(100% - 36px)!important;max-width:none!important}
  body.page-access .access-intro-card{padding:24px 22px 20px!important}
  body.page-access .access-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.page-access .access-facts>div:nth-child(2){border-right:0!important}
  body.page-access .access-facts>div:nth-child(3),
  body.page-access .access-facts>div:nth-child(4){border-top:1px solid #38372f!important}
  body.page-access .access-facts>div:nth-child(3){padding-left:0!important}
  body.page-access .access-points-redesign{grid-template-columns:1fr!important}
  body.page-access .access-points-redesign article{min-height:0!important}
}
@media(max-width:720px){
  body[class^="page-"] .compact-header .header-main{width:calc(100% - 24px)!important}
  body.page-access .access-redesign{padding-top:22px!important}
  body.page-access .access-intro-card{padding:21px 18px 18px!important}
  body.page-access .access-intro-copy{display:block!important}
  body.page-access .access-intro-copy h2{margin-top:8px!important;font-size:22px!important}
  body.page-access .access-facts{margin-top:18px!important}
  body.page-access .access-facts>div{padding:13px 10px!important}
  body.page-access .access-facts>div:first-child,
  body.page-access .access-facts>div:nth-child(3){padding-left:0!important}
  body.page-access .access-facts>div:nth-child(2),
  body.page-access .access-facts>div:nth-child(4){padding-right:0!important}
  body.page-access .access-facts dd{font-size:11px!important}
  body.page-access .access-note-row{grid-template-columns:1fr!important;gap:14px!important}
  body.page-access .access-note-row .btn{width:100%!important}
}

/* Keep the homepage hero at the requested 350px visual height. */
body.page-index .home-intro.dense-home-intro{
  height:350px!important;
  min-height:350px!important;
  overflow:hidden!important;
}
body.page-index .home-intro.dense-home-intro .home-hero-layout{
  height:100%!important;
  min-height:0!important;
}
body.page-index .home-intro.dense-home-intro .home-hero-visual{
  height:100%!important;
  min-height:0!important;
}
@media(max-width:720px){
  body.page-index .home-intro.dense-home-intro .home-hero-layout{
    height:100%!important;
    min-height:0!important;
    grid-template-rows:58px minmax(0,1fr)!important;
  }
  body.page-index .home-intro.dense-home-intro .home-hero-copy{
    min-height:0!important;
    height:100%!important;
    padding:28px 0!important;
  }
  body.page-index .home-intro.dense-home-intro .home-hero-visual{
    min-height:0!important;
    height:auto!important;
  }
}
/* FTP deployment test */

/* Public header login entry. */
.compact-header .header-login-button{
  min-height:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:0 9px!important;
  border:1px solid #536044!important;
  border-radius:5px!important;
  background:#171c12!important;
  color:#dce5d1!important;
  font-size:10px!important;
  font-weight:850!important;
  white-space:nowrap!important;
}
.compact-header .header-login-button:hover,
.compact-header .header-login-button:focus-visible{
  border-color:#cafa31!important;
  background:#202e22!important;
  color:#e8ff77!important;
}
.compact-header .header-login-button .icon{width:14px!important;height:14px!important;color:#cafa31!important}
.login-eyebrow{display:block;color:#cafa31;font-size:9px;font-weight:900;letter-spacing:.18em;text-align:center}
@media(max-width:760px){
  .compact-header .header-login-button{min-height:30px!important;padding-inline:7px!important;font-size:9px!important}
  .compact-header .header-login-button span{display:none!important}
}

/* Home banner: use the supplied full-width campaign artwork. */
.page-index .home-intro.dense-home-intro{
  padding:0!important;
  background:#0b0c09!important;
  border-bottom:1px solid #34382a!important;
  overflow:hidden!important;
}
.page-index .home-hero-banner{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:2048 / 768!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden!important;
  line-height:0!important;
}
.page-index .home-hero-banner>img{
  display:block!important;
  position:static!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
}
.page-index .home-hero-banner .home-hero-book{
  position:absolute!important;
  z-index:2!important;
  left:clamp(24px,7.3vw,150px)!important;
  bottom:clamp(18px,3.7vw,42px)!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:44px!important;
  margin:0!important;
  padding:0 16px!important;
  background:#d7ff00!important;
  border:1px solid #d7ff00!important;
  color:#11130c!important;
  font-size:11px!important;
  font-weight:950!important;
  line-height:1!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}
.page-index .home-hero-banner .home-hero-book:hover,
.page-index .home-hero-banner .home-hero-book:focus-visible{
  background:#efff83!important;
  border-color:#efff83!important;
  color:#11130c!important;
}
.page-index .home-hero-banner .home-hero-book .icon{width:16px!important;height:16px!important}
@media(max-width:760px){
  .page-index .home-hero-banner .home-hero-book{
    left:18px!important;
    bottom:14px!important;
    min-height:36px!important;
    padding:0 11px!important;
    gap:6px!important;
    font-size:9px!important;
  }
  .page-index .home-hero-banner .home-hero-book .icon{width:13px!important;height:13px!important}
}

/* Client homepage direction: 16 tall therapist cards, 4 desktop / 2 mobile. */
body.page-index .home-staff-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
body.page-index .dense-staff-card .staff-photo{
  aspect-ratio:3/5!important;
  height:auto!important;
  min-height:0!important;
}
body.page-index .dense-staff-card .staff-photo>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
}
body.page-index .dense-staff-card .compact-therapist-body{
  min-height:92px!important;
  padding:13px 14px!important;
}
@media(max-width:979px){
  body.page-index .home-staff-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
}
@media(max-width:499px){
  body.page-index .home-staff-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.page-index .dense-staff-card .staff-photo{aspect-ratio:3/5!important}
  body.page-index .dense-staff-card .compact-therapist-body{
    min-height:78px!important;
    padding:9px 10px!important;
  }
}

/* ========================================================================
   DESIGN HANDOFF FOUNDATION
   Shared Breeze tokens and responsive public-page rules.
   ======================================================================== */
:root{
  --color-bg:#10120E;
  --color-bg-deep:#0B0D0A;
  --color-surface:#181B16;
  --color-surface-2:#20231C;
  --color-primary:#d7b45a;
  --color-gold:#D6AA54;
  --color-text:#F4F2E9;
  --color-text-muted:#A6A89D;
  --color-border:#34382F;
  --color-border-soft:rgba(255,255,255,.10);
  --color-success:#d7b45a;
  --color-error:#D65B54;
  --radius-sm:4px;
  --radius-md:8px;
  --radius-lg:12px;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --neon:var(--color-primary);
  --neon-rgb:215,180,90;
  --theme-dark-text:#0B0D0A;
  --public-content-max:1280px;
  --public-side-total:48px;
}
body:not(.admin-page){
  background:var(--color-bg)!important;
  color:var(--color-text)!important;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif!important;
}
body:not(.admin-page) .container{
  width:min(calc(100% - 48px),1280px)!important;
  max-width:1280px!important;
}
.compact-header .global-nav .nav-inner{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
}
.compact-header .header-reservation{
  background:var(--color-primary)!important;
  border-color:var(--color-primary)!important;
  color:var(--theme-dark-text)!important;
}
.compact-header .header-reservation:hover,
.compact-header .header-reservation:focus-visible{
  background:#E9FF6D!important;
  border-color:#E9FF6D!important;
}

/* Public cards stay architectural instead of becoming rounded SaaS bubbles. */
body:not(.admin-page) .staff-card,
body:not(.admin-page) .schedule-card,
body:not(.admin-page) .booking-panel,
body:not(.admin-page) .booking-course-card,
body:not(.admin-page) .booking-calendar-box,
body:not(.admin-page) .booking-time-box{
  border-radius:var(--radius-sm)!important;
}

/* Handoff grid: desktop 4 / tablet 3 / mobile 2. */
body.page-index .home-staff-grid,
body.page-casts .dense-staff-grid,
body.page-schedule .schedule-card-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
body.page-index .dense-staff-card .staff-photo,
body.page-casts .dense-staff-card .staff-photo,
body.page-schedule .schedule-card-photo{
  aspect-ratio:3/4!important;
  height:auto!important;
  min-height:0!important;
}
body.page-index .dense-staff-card .staff-photo{aspect-ratio:3/5!important}
body.page-index .dense-staff-card .staff-photo>img,
body.page-casts .dense-staff-card .staff-photo>img,
body.page-schedule .schedule-card-photo>img{
  object-fit:cover!important;
  object-position:center top!important;
}
body.page-index .dense-staff-card:hover .staff-photo>img,
body.page-casts .dense-staff-card:hover .staff-photo>img,
body.page-schedule .schedule-card:hover .schedule-card-photo>img{
  transform:scale(1.025)!important;
  transition:transform .2s cubic-bezier(.2,.8,.2,1)!important;
}
@media(max-width:1023px) and (min-width:768px){
  body.page-index .home-staff-grid,
  body.page-casts .dense-staff-grid,
  body.page-schedule .schedule-card-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:14px!important;
  }
}
@media(max-width:767px){
  body:not(.admin-page) .container{
    width:calc(100% - 24px)!important;
  }
  .compact-header .global-nav .nav-inner{
    grid-template-columns:1fr!important;
  }
  .compact-header .global-nav .nav-inner>a{
    min-height:44px!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding-inline:18px!important;
    text-align:left!important;
  }
  body.page-index .home-staff-grid,
  body.page-casts .dense-staff-grid,
  body.page-schedule .schedule-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.page-index .dense-staff-card .staff-photo,
  body.page-casts .dense-staff-card .staff-photo,
  body.page-schedule .schedule-card-photo{
    aspect-ratio:3/4.2!important;
  }
  body.page-index .dense-staff-card .staff-photo{aspect-ratio:3/5!important}
}

/* Booking form fields: keep the Breeze dark theme while clarifying each input group. */
.page-booking .booking-reference-layout{
  width:min(920px,calc(100% - 48px))!important;
  max-width:920px!important;
}

/* Client layout refinement: narrower canvas, three profiles per desktop row, shorter cards. */
body:not(.admin-page) .container{
  width:min(calc(100% - 128px),840px)!important;
  max-width:840px!important;
}
body.page-index .home-intro{
  width:min(calc(100% - 128px),840px)!important;
  margin-inline:auto!important;
}
body.page-index .home-intro.dense-home-intro{
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
body.page-index .home-hero-banner{
  width:100%!important;
  height:auto!important;
  aspect-ratio:2048 / 880!important;
  overflow:hidden!important;
}
body.page-index .home-hero-banner>img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.page-index .home-service-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.page-schedule .schedule-info-links{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
body.page-index .home-staff-grid,
body.page-casts .dense-staff-grid,
body.page-schedule .schedule-card-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
body.page-index .dense-staff-card .staff-photo,
body.page-casts .dense-staff-card .staff-photo,
body.page-schedule .schedule-card-photo{
  aspect-ratio:4/3!important;
  height:auto!important;
  min-height:0!important;
}
body.page-index .dense-staff-card .compact-therapist-body,
body.page-casts .dense-staff-card .compact-therapist-body{
  min-height:56px!important;
  padding:8px 10px!important;
}
body.page-index .staff-card-body>p,
body.page-casts .staff-card-body>p{max-height:2.6em!important;margin:5px 0!important}
@media(max-width:767px){
  body:not(.admin-page) .container{
    width:calc(100% - 24px)!important;
  }
  body.page-index .home-intro{
    width:calc(100% - 24px)!important;
  }
  body.page-index .home-staff-grid,
  body.page-casts .dense-staff-grid,
  body.page-schedule .schedule-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body.page-index .dense-staff-card .staff-photo,
  body.page-casts .dense-staff-card .staff-photo,
  body.page-schedule .schedule-card-photo{
    aspect-ratio:4/3!important;
  }
}

/* Final neutral pass for legacy components that previously used lime directly. */
body:not(.admin-page) .staff-booking-full-overlay,
body:not(.admin-page) .schedule-card .staff-time-overlay{border-color:rgba(210,214,206,.34)!important}
body:not(.admin-page) .recruit-quick-contact-card{background:linear-gradient(100deg,#151715,#0d0f0d)!important;border-color:#40453f!important;box-shadow:inset 0 0 36px rgba(255,255,255,.018)!important}
body:not(.admin-page) .recruit-quick-contact-card>a{background:#282b28!important;color:#f5f6f1!important;box-shadow:none!important}
body:not(.admin-page) .recruit-quick-contact-card>a:hover,
body:not(.admin-page) .recruit-quick-contact-card>a:focus-visible{background:#383c38!important;color:#fff!important}
body:not(.admin-page) .recruit-quick-contact-card strong span{color:#c8ccc4!important}
body:not(.admin-page) .page-index .home-hero-platform .platform-link,
body:not(.admin-page) .page-index .home-top-platform-strip .platform-link,
body:not(.admin-page) .page-index .home-top-platform-strip .platform-strip-spacer{border-color:rgba(220,224,216,.16)!important}
body:not(.admin-page) .page-index .home-top-platform-strip .platform-link:hover,
body:not(.admin-page) .page-index .home-top-platform-strip .platform-link:focus-visible{background:rgba(255,255,255,.08)!important}
body:not(.admin-page) .compact-header .header-login-button,
body:not(.admin-page) .compact-header .header-login-button .icon,
body:not(.admin-page) .login-eyebrow{color:#c8ccc4!important}
body:not(.admin-page) .compact-header .header-login-button{border-color:#5a6058!important;background:#202320!important}
body:not(.admin-page) input,
body:not(.admin-page) select,
body:not(.admin-page) textarea{caret-color:#d6dad2!important}

/* Monochrome charcoal palette — keep the public UI dark without fluorescent accents. */
body:not(.admin-page){
  --color-primary:#b9bdb5!important;
  --color-primary-rgb:185,189,181!important;
  --neon:#b9bdb5!important;
  --neon-rgb:185,189,181!important;
  --accent:#292c29!important;
  --accent2:#3a3e39!important;
  --green:#4a5048!important;
  --color-success:#4a5048!important;
  --rev-neon:#b9bdb5!important;
  --paper:#090a09!important;
  --ink:#090a09!important;
  --ink2:#141614!important;
  --line:#373a36!important;
  --muted:#a8aca4!important;
  background:#090a09!important;
  color:#f1f2ed!important;
}
body:not(.admin-page) .header-reservation,
body:not(.admin-page) .home-hero-book,
body:not(.admin-page) .btn.primary,
body:not(.admin-page) .booking-submit-button,
body:not(.admin-page) .social.booking,
body:not(.admin-page) .recruit-submit{
  background:#282b28!important;
  border-color:#545952!important;
  color:#f5f6f1!important;
  box-shadow:none!important;
}
body:not(.admin-page) .header-reservation:hover,
body:not(.admin-page) .header-reservation:focus-visible,
body:not(.admin-page) .home-hero-book:hover,
body:not(.admin-page) .home-hero-book:focus-visible,
body:not(.admin-page) .btn.primary:hover,
body:not(.admin-page) .btn.primary:focus-visible,
body:not(.admin-page) .booking-submit-button:hover,
body:not(.admin-page) .booking-submit-button:focus-visible,
body:not(.admin-page) .social.booking:hover,
body:not(.admin-page) .social.booking:focus-visible,
body:not(.admin-page) .recruit-submit:hover,
body:not(.admin-page) .recruit-submit:focus-visible{
  background:#383c38!important;
  border-color:#7a8078!important;
  color:#fff!important;
  box-shadow:none!important;
}
body:not(.admin-page) .eyebrow,
body:not(.admin-page) .kicker,
body:not(.admin-page) .section-kicker,
body:not(.admin-page) .section-title em,
body:not(.admin-page) .page-recruit .recruit-showcase-copy>span,
body:not(.admin-page) .page-recruit .recruit-showcase-copy h1,
body:not(.admin-page) .page-recruit .recruit-merits .icon,
body:not(.admin-page) .page-recruit .recruit-merits article strong,
body:not(.admin-page) .page-recruit .recruit-upload-box strong,
body:not(.admin-page) .page-recruit .recruit-upload-box>span .icon{
  color:#c8ccc4!important;
}
body:not(.admin-page) .page-recruit .recruit-reference-form,
body:not(.admin-page) .page-recruit .recruit-reference-form>header,
body:not(.admin-page) .page-recruit .recruit-merits article,
body:not(.admin-page) .page-recruit .recruit-upload-box{
  background:#151715!important;
  border-color:#3e423d!important;
}
body:not(.admin-page) .page-recruit .recruit-reference-form input:not([type=file]),
body:not(.admin-page) .page-recruit .recruit-reference-form select,
body:not(.admin-page) .page-recruit .recruit-reference-form textarea{
  background:#0d0f0d!important;
  border-color:#414640!important;
  color:#f1f2ed!important;
}
body:not(.admin-page) .page-recruit .recruit-reference-form input:not([type=file]):focus,
body:not(.admin-page) .page-recruit .recruit-reference-form select:focus,
body:not(.admin-page) .page-recruit .recruit-reference-form textarea:focus{
  border-color:#8a9087!important;
  box-shadow:0 0 0 2px rgba(218,222,214,.13)!important;
}
body:not(.admin-page) .page-recruit .recruit-reference-form>header,
body:not(.admin-page) .page-recruit .recruit-form-row>label b{
  border-color:#4b504a!important;
}
body:not(.admin-page) .page-recruit .recruit-form-row>label b{
  background:#343834!important;
  color:#f4f5f0!important;
}
body:not(.admin-page) .page-recruit .recruit-radio-options input,
body:not(.admin-page) .page-recruit .recruit-check-options input{accent-color:#777d75!important}
body:not(.admin-page) .page-index .home-hero-platform .platform-link:hover,
body:not(.admin-page) .page-index .home-hero-platform .platform-link:focus-visible{
  background:rgba(255,255,255,.06)!important;
}
body:not(.admin-page) :focus-visible{
  outline:2px solid #aeb3aa!important;
  outline-offset:2px!important;
}
@media(min-width:768px) and (max-width:1099px){
  body:not(.admin-page) .container{
    width:calc(100% - 72px)!important;
  }
  body.page-index .home-intro{
    width:calc(100% - 72px)!important;
  }
}
.page-booking .booking-reference-form{gap:16px!important}
.page-booking .booking-panel{padding:28px 30px!important}
.page-booking .booking-panel>h2{display:flex!important;align-items:center!important;gap:7px!important;margin-bottom:20px!important}
.page-booking .booking-panel>h2 span{display:inline-grid!important;place-items:center!important;width:28px!important;height:28px!important;border:1px solid var(--neon)!important;border-radius:50%!important;font-size:12px!important}
.page-booking .booking-therapist-panel{scroll-margin-top:100px!important}
.page-booking .booking-therapist-card{transition:border-color .18s ease,background .18s ease,transform .18s ease!important}
.page-booking .booking-therapist-card:hover{border-color:var(--neon)!important;background:#171a10!important;transform:translateY(-2px)!important}
.page-booking .booking-therapist-card.selected .booking-therapist-info strong{color:var(--neon)!important}
.page-booking .booking-therapist-info b{font-size:9px!important;color:#a9aa9f!important;font-weight:700!important}
.page-booking .booking-empty-choice{margin:0;padding:18px;border:1px dashed #514938;color:#aaa89e;text-align:center}
.page-booking .booking-preferred-casts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 14px;
  margin-top:18px;
  padding:14px 15px;
  border:1px solid #35382f;
  background:#10120e;
}
.page-booking .booking-preferred-casts>p{
  grid-column:1/-1;
  margin:0;
  color:#eee9df;
  font-size:11px;
  font-weight:850;
}
.page-booking .booking-preferred-casts label,
.page-booking .booking-location-group>label,
.page-booking .booking-outcall-fields label{
  display:grid;
  gap:8px;
  min-width:0;
}
.page-booking .booking-preferred-casts label>span{
  color:#aaa89e;
  font-size:10px;
  font-weight:800;
}
.page-booking .booking-preferred-casts select,
.page-booking .booking-location-group select,
.page-booking .booking-outcall-fields input,
.page-booking .booking-outcall-fields textarea{
  width:100%;
  min-height:48px;
  padding:11px 12px;
  background:#0d0f0e;
  border:1px solid #514938;
  border-radius:3px;
  color:var(--color-text);
  font:600 12px/1.4 "Noto Sans JP",sans-serif;
}
.page-booking .booking-location-group{
  display:grid;
  gap:12px;
  margin-bottom:16px;
}
.page-booking .booking-location-group>label{max-width:430px}
.page-booking .booking-outcall-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px 14px;
  padding:14px 15px;
  border:1px solid #35382f;
  background:#10120e;
}
.page-booking .booking-outcall-fields[hidden]{display:none!important}
.page-booking .booking-outcall-fields .booking-wide-field{grid-column:1/-1}
.page-booking .booking-outcall-fields textarea{min-height:104px;resize:vertical;line-height:1.7}
.page-booking .booking-outcall-fields input::placeholder,
.page-booking .booking-outcall-fields textarea::placeholder{color:#777970}
.page-booking .booking-course-card{min-height:78px!important}
.page-booking .booking-customer-grid{gap:12px 14px!important}
.page-booking .booking-customer-grid label{
  gap:8px!important;
  min-width:0!important;
  padding:14px 15px!important;
  border:1px solid #35382f!important;
  background:#171817!important;
}
.page-booking .booking-field-label{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-height:17px!important;
  color:#eee9df!important;
  font-size:11px!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
}
.page-booking .booking-required,
.page-booking .booking-optional{
  display:inline-flex!important;
  align-items:center!important;
  min-height:18px!important;
  padding:1px 6px!important;
  border:1px solid #80693b!important;
  color:#d7b45a!important;
  font-size:8px!important;
  font-style:normal!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
}
.page-booking .booking-optional{border-color:#45483b!important;color:#a4a59b!important}
.page-booking .booking-customer-grid input,
.page-booking .booking-customer-grid select,
.page-booking .booking-customer-grid textarea{
  min-height:48px!important;
  background:#0d0f0e!important;
  border-color:#514938!important;
  border-radius:3px!important;
  font-size:12px!important;
}
.page-booking .booking-customer-grid textarea{min-height:126px!important;line-height:1.7!important}
.page-booking .booking-customer-grid input::placeholder,
.page-booking .booking-customer-grid textarea::placeholder{color:#777970!important}
.page-booking .booking-terms-check{margin-top:14px!important;padding:14px 15px!important;border-color:#514938!important}
.page-booking .booking-submit-button{min-height:58px!important;margin-top:18px!important;font-size:14px!important}
@media(max-width:720px){
  .page-booking .booking-reference-layout{width:calc(100% - 24px)!important}
  .page-booking .booking-panel{padding:20px 14px!important}
  .page-booking .booking-panel>h2{font-size:16px!important}
  .page-booking .booking-customer-grid label{padding:12px!important}
  .page-booking .booking-field-label{font-size:10px!important}
  .page-booking .booking-preferred-casts,
  .page-booking .booking-outcall-fields{grid-template-columns:1fr}
  .page-booking .booking-preferred-casts>p,
  .page-booking .booking-outcall-fields .booking-wide-field{grid-column:auto}
}

/* Final footer layout override: keep the CONTACT reference structure after legacy footer rules. */
html body:not(.admin-page) .site-footer .footer-contact-row{
  grid-template-columns:200px minmax(0,1fr) 290px!important;
  width:min(100% - 48px,1180px)!important;
  max-width:1180px!important;
  padding:28px 0!important;
  gap:0!important;
}
html body:not(.admin-page) .site-footer .footer-social-links{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:0!important;
  border-left:1px solid #4a3a24!important;
  border-right:1px solid #4a3a24!important;
  white-space:normal!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a{
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  min-height:130px!important;
  gap:7px!important;
  padding:6px 10px!important;
  border-right:1px solid #4a3a24!important;
  text-align:center!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a:last-child{border-right:0!important}
html body:not(.admin-page) .site-footer .footer-social-links a .icon{width:38px!important;height:38px!important;color:#d7b45a!important}
html body:not(.admin-page) .site-footer .footer-social-links a b{display:inline-flex!important;min-width:108px!important;min-height:34px!important;align-items:center!important;justify-content:center!important;border:1px solid #806735!important;color:#d7b45a!important}
html body:not(.admin-page) .site-footer .footer-contact-details{display:grid!important;align-content:center!important;gap:13px!important;padding-left:26px!important}
html body:not(.admin-page) .site-footer .footer-main{
  grid-template-columns:200px minmax(0,1fr)!important;
  width:min(100% - 48px,1180px)!important;
  max-width:1180px!important;
  gap:0!important;
  padding:22px 0 0!important;
}
html body:not(.admin-page) .site-footer .footer-main-right{min-width:0!important}
html body:not(.admin-page) .site-footer .footer-nav{
  display:flex!important;
  justify-content:space-between!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  padding:0 0 12px!important;
  border:0!important;
  overflow-x:auto!important;
}
html body:not(.admin-page) .site-footer .footer-copyright{display:block!important;text-align:center!important}
html body:not(.admin-page) .site-footer .footer-legal-note{width:min(100% - 48px,1180px)!important;max-width:1180px!important}
@media(max-width:900px){
  html body:not(.admin-page) .site-footer .footer-contact-row{grid-template-columns:170px minmax(0,1fr)!important;width:calc(100% - 36px)!important;max-width:none!important}
  html body:not(.admin-page) .site-footer .footer-contact-details{grid-column:1/-1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:18px 0 0!important;margin-top:18px!important;border-top:1px solid #3b3020!important}
  html body:not(.admin-page) .site-footer .footer-main{width:calc(100% - 36px)!important;max-width:none!important}
}
@media(max-width:620px){
  html body:not(.admin-page) .site-footer .footer-contact-row{grid-template-columns:1fr!important;width:calc(100% - 24px)!important;max-width:none!important;padding:22px 0!important}
  html body:not(.admin-page) .site-footer .footer-contact-heading{text-align:center!important;justify-items:center!important;padding:0 0 18px!important}
  html body:not(.admin-page) .site-footer .footer-social-links{border-left:0!important;border-right:0!important}
  html body:not(.admin-page) .site-footer .footer-social-links a{min-height:116px!important;padding-inline:4px!important}
  html body:not(.admin-page) .site-footer .footer-social-links a b{min-width:0!important;width:100%!important;font-size:9px!important}
  html body:not(.admin-page) .site-footer .footer-contact-details{grid-template-columns:1fr!important;padding:16px 0 0!important}
  html body:not(.admin-page) .site-footer .footer-main{grid-template-columns:1fr!important;width:calc(100% - 24px)!important;max-width:none!important}
  html body:not(.admin-page) .site-footer .footer-brand{justify-content:center!important;padding:0!important}
  html body:not(.admin-page) .site-footer .footer-nav{justify-content:flex-start!important;gap:16px!important;flex-wrap:nowrap!important}
  html body:not(.admin-page) .site-footer .footer-legal-note{width:calc(100% - 24px)!important;font-size:8px!important}
}

/* CONTACT-style public footer: contact heading, three social cards and shop details. */
html body:not(.admin-page) .site-footer{
  padding:0 0 18px!important;
  background:#070807!important;
  border-top:1px solid #4a3a24!important;
}
html body:not(.admin-page) .site-footer .footer-contact-row{
  display:grid!important;
  grid-template-columns:200px minmax(0,1fr) 290px!important;
  align-items:stretch!important;
  gap:0!important;
  width:min(100% - 48px,1180px)!important;
  max-width:1180px!important;
  padding:28px 0!important;
  border-bottom:1px solid #4a3a24!important;
}
html body:not(.admin-page) .site-footer .footer-contact-heading{
  display:grid!important;
  align-content:center!important;
  gap:12px!important;
  padding:0 24px 0 0!important;
}
html body:not(.admin-page) .site-footer .footer-contact-heading span{
  color:#d7b45a!important;
  font:500 30px/1 Georgia,"Times New Roman",serif!important;
  letter-spacing:.04em!important;
}
html body:not(.admin-page) .site-footer .footer-contact-heading strong{
  color:#b08f51!important;
  font:800 13px/1.4 "Noto Sans JP",sans-serif!important;
}
html body:not(.admin-page) .site-footer .footer-social-links{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:0!important;
  white-space:normal!important;
  border-left:1px solid #4a3a24!important;
  border-right:1px solid #4a3a24!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a{
  display:grid!important;
  justify-items:center!important;
  align-content:center!important;
  gap:7px!important;
  min-height:130px!important;
  padding:6px 10px!important;
  border-right:1px solid #4a3a24!important;
  color:#e8e0cf!important;
  font:700 12px/1.2 Arial,"Noto Sans JP",sans-serif!important;
  text-align:center!important;
  text-decoration:none!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a:last-child{border-right:0!important}
html body:not(.admin-page) .site-footer .footer-social-links a .icon{
  width:38px!important;
  height:38px!important;
  color:#d7b45a!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a b{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:108px!important;
  min-height:34px!important;
  padding:0 10px!important;
  border:1px solid #806735!important;
  border-radius:3px!important;
  color:#d7b45a!important;
  font:800 11px/1 Arial,"Noto Sans JP",sans-serif!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a:hover,
html body:not(.admin-page) .site-footer .footer-social-links a:focus-visible{background:#1b1710!important}
html body:not(.admin-page) .site-footer .footer-social-links a:hover b,
html body:not(.admin-page) .site-footer .footer-social-links a:focus-visible b{background:#d7b45a!important;color:#111!important}
html body:not(.admin-page) .site-footer .footer-contact-details{
  display:grid!important;
  align-content:center!important;
  gap:13px!important;
  padding-left:26px!important;
}
html body:not(.admin-page) .site-footer .footer-contact-details>div{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  min-width:0!important;
}
html body:not(.admin-page) .site-footer .footer-contact-details .icon{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  color:#d7b45a!important;
}
html body:not(.admin-page) .site-footer .footer-contact-details a,
html body:not(.admin-page) .site-footer .footer-contact-details strong,
html body:not(.admin-page) .site-footer .footer-contact-details small{
  display:block!important;
  color:#e5dfd1!important;
  font:700 12px/1.35 "Noto Sans JP",sans-serif!important;
  overflow-wrap:anywhere!important;
  text-decoration:none!important;
}
html body:not(.admin-page) .site-footer .footer-contact-details small{margin-top:2px!important;color:#b9ae98!important;font-size:10px!important;font-weight:500!important}
html body:not(.admin-page) .site-footer .footer-main{
  display:grid!important;
  grid-template-columns:200px minmax(0,1fr)!important;
  align-items:center!important;
  width:min(100% - 48px,1180px)!important;
  max-width:1180px!important;
  padding:22px 0 0!important;
  border-bottom:0!important;
}
html body:not(.admin-page) .site-footer .footer-brand{justify-content:flex-start!important;min-height:74px!important;padding-right:20px!important}
html body:not(.admin-page) .site-footer .footer-brand img{width:150px!important;max-height:54px!important}
html body:not(.admin-page) .site-footer .footer-main-right{min-width:0!important}
html body:not(.admin-page) .site-footer .footer-nav{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  padding:0 0 12px!important;
  border:0!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
html body:not(.admin-page) .site-footer .footer-nav::-webkit-scrollbar{display:none!important}
html body:not(.admin-page) .site-footer .footer-nav a{font-size:11px!important;color:#e5dfd1!important}
html body:not(.admin-page) .site-footer .footer-copyright{
  color:#9d9484!important;
  font:500 11px/1.4 Arial,"Noto Sans JP",sans-serif!important;
  text-align:center!important;
}
html body:not(.admin-page) .site-footer .footer-legal-note{
  width:min(100% - 48px,1180px)!important;
  max-width:1180px!important;
  padding-top:9px!important;
  color:#7e7669!important;
  font-size:9px!important;
  text-align:center!important;
}
@media(max-width:900px){
  html body:not(.admin-page) .site-footer .footer-contact-row{grid-template-columns:170px minmax(0,1fr)!important;width:calc(100% - 36px)!important;max-width:none!important}
  html body:not(.admin-page) .site-footer .footer-contact-details{grid-column:1/-1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:18px 0 0!important;border-top:1px solid #3b3020!important;margin-top:18px!important}
  html body:not(.admin-page) .site-footer .footer-main{width:calc(100% - 36px)!important;max-width:none!important}
}
@media(max-width:620px){
  html body:not(.admin-page) .site-footer .footer-contact-row{grid-template-columns:1fr!important;width:calc(100% - 24px)!important;padding:22px 0!important}
  html body:not(.admin-page) .site-footer .footer-contact-heading{padding:0 0 18px!important;text-align:center!important;justify-items:center!important}
  html body:not(.admin-page) .site-footer .footer-contact-heading span{font-size:26px!important}
  html body:not(.admin-page) .site-footer .footer-social-links{border-left:0!important;border-right:0!important}
  html body:not(.admin-page) .site-footer .footer-social-links a{min-height:116px!important;padding-inline:4px!important}
  html body:not(.admin-page) .site-footer .footer-social-links a b{min-width:0!important;width:100%!important;padding-inline:4px!important;font-size:9px!important}
  html body:not(.admin-page) .site-footer .footer-contact-details{grid-template-columns:1fr!important;gap:9px!important;padding:16px 0 0!important}
  html body:not(.admin-page) .site-footer .footer-main{grid-template-columns:1fr!important;width:calc(100% - 24px)!important;padding-top:18px!important}
  html body:not(.admin-page) .site-footer .footer-brand{justify-content:center!important;padding:0!important}
  html body:not(.admin-page) .site-footer .footer-nav{justify-content:flex-start!important;gap:16px!important;padding:18px 0 12px!important}
  html body:not(.admin-page) .site-footer .footer-copyright{font-size:10px!important}
  html body:not(.admin-page) .site-footer .footer-legal-note{width:calc(100% - 24px)!important;font-size:8px!important}
}

/* Restore the public contact links below the top menu and organize footer contact details. */
html body:not(.admin-page) .header-social-strip{
  display:block!important;
  border-top:1px solid #2e2a20!important;
  border-bottom:1px solid #4a3b25!important;
  background:#12110d!important;
}
html body:not(.admin-page) .header-social-strip-inner{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  min-height:44px!important;
  margin:0 auto!important;
}
html body:not(.admin-page) .header-social-link{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:44px!important;
  border-right:1px solid #443724!important;
  color:#eee8da!important;
  font:800 11px/1 Arial,"Noto Sans JP",sans-serif!important;
  text-decoration:none!important;
}
html body:not(.admin-page) .header-social-link:last-child{border-right:0!important}
html body:not(.admin-page) .header-social-link .icon{
  width:20px!important;
  height:20px!important;
  color:#d7b45a!important;
}
html body:not(.admin-page) .header-social-link:hover,
html body:not(.admin-page) .header-social-link:focus-visible{
  background:#211b12!important;
  color:#d7b45a!important;
}

html body:not(.admin-page) .site-footer .footer-main{
  grid-template-columns:170px minmax(0,1fr)!important;
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  gap:24px!important;
}
html body:not(.admin-page) .site-footer .footer-contact-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  padding:16px 0!important;
  border-bottom:1px solid #2e291f!important;
}
html body:not(.admin-page) .site-footer .footer-business-info{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  min-width:0!important;
}
html body:not(.admin-page) .site-footer .footer-contact-item{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
}
html body:not(.admin-page) .site-footer .footer-contact-item small{
  color:#b08f51!important;
  font:800 9px/1 Arial,sans-serif!important;
  letter-spacing:.12em!important;
}
html body:not(.admin-page) .site-footer .footer-contact-item strong,
html body:not(.admin-page) .site-footer .footer-contact-item a{
  color:#e8e0cf!important;
  font:700 11px/1.35 "Noto Sans JP",sans-serif!important;
  overflow-wrap:anywhere!important;
  text-decoration:none!important;
}
html body:not(.admin-page) .site-footer .footer-contact-item a:hover,
html body:not(.admin-page) .site-footer .footer-contact-item a:focus-visible{color:#d7b45a!important}
html body:not(.admin-page) .site-footer .footer-social-links{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  white-space:nowrap!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  color:#d8cbaa!important;
  font:800 10px/1 Arial,sans-serif!important;
  text-decoration:none!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a .icon{
  width:20px!important;
  height:20px!important;
  color:#d7b45a!important;
}
html body:not(.admin-page) .site-footer .footer-social-links a:hover,
html body:not(.admin-page) .site-footer .footer-social-links a:focus-visible{color:#fff!important}
html body.page-access h1.access-page-title{color:#d7b45a!important}

@media(max-width:720px){
  html body:not(.admin-page) .header-social-strip-inner{width:calc(100% - 24px)!important;max-width:none!important}
  html body:not(.admin-page) .header-social-link{font-size:10px!important}
  html body:not(.admin-page) .site-footer .footer-main,
  html body:not(.admin-page) .site-footer .footer-contact-row{width:calc(100% - 24px)!important;max-width:none!important}
  html body:not(.admin-page) .site-footer .footer-contact-row{grid-template-columns:1fr!important;gap:14px!important}
  html body:not(.admin-page) .site-footer .footer-business-info{grid-template-columns:1fr!important;gap:9px!important}
  html body:not(.admin-page) .site-footer .footer-contact-item{grid-template-columns:62px minmax(0,1fr)!important;align-items:center!important;gap:8px!important}
  html body:not(.admin-page) .site-footer .footer-social-links{justify-content:center!important;gap:18px!important}
}

/* Public pages share the same charcoal palette as the homepage. */
body:not(.admin-page){
  --accent:#292c29;
  --accent2:#3a3e39;
  --paper:#090a09;
  --ink:#090a09;
  --ink2:#141614;
  --line:#373a36;
  --muted:#a8aca4;
  background:#090a09!important;
  color:#f1f2ed!important;
}
body:not(.admin-page) .site-header,
body:not(.admin-page) .global-nav,
body:not(.admin-page) .site-footer{background:#090a09!important;border-color:#373a36!important}
body:not(.admin-page) .brand strong,
body:not(.admin-page) .footer-brand strong,
body:not(.admin-page) .global-nav .nav-inner>a:hover,
body:not(.admin-page) .global-nav .nav-inner>a:focus-visible{color:#c8ccc4!important}
body:not(.admin-page) .global-nav .nav-inner>a,
body:not(.admin-page) .footer-nav a,
body:not(.admin-page) .legal-row{color:#e5e7dc!important}
body:not(.admin-page) .page-hero,
body:not(.admin-page) .system-hero{background:linear-gradient(120deg,#101210 0%,#1b1e1b 52%,#090a09 100%)!important}
body:not(.admin-page) .page-hero h1,
body:not(.admin-page) .section-title-row h2,
body:not(.admin-page) .system-guide h2,
body:not(.admin-page) .system-guide h3{color:#f4f2e9!important}
body:not(.admin-page) .page-hero span,
body:not(.admin-page) .section-title-row span,
body:not(.admin-page) .system-guide article>b,
body:not(.admin-page) .footer-nav a:hover{color:#c8ccc4!important}
body:not(.admin-page) .system-guide article,
body:not(.admin-page) .price-list article,
body:not(.admin-page) .content-card,
body:not(.admin-page) .access-card,
body:not(.admin-page) .access-guide{background:#171917!important;border-color:#373a36!important;color:#f1f2ed!important}
body:not(.admin-page) .system-guide article p,
body:not(.admin-page) .price-list article p,
body:not(.admin-page) .content-card p,
body:not(.admin-page) .access-card p,
body:not(.admin-page) .access-guide p{color:#b9bdb0!important}
body:not(.admin-page) .btn.primary,
body:not(.admin-page) .header-reservation,
body:not(.admin-page) .booking-submit-button,
body:not(.admin-page) .recruit-submit{background:#282b28!important;border-color:#545952!important;color:#f5f6f1!important}
body:not(.admin-page) .btn.primary:hover,
body:not(.admin-page) .header-reservation:hover,
body:not(.admin-page) .booking-submit-button:hover,
body:not(.admin-page) .recruit-submit:hover{background:#383c38!important;border-color:#7a8078!important;color:#fff!important}

/* Recruit application form: fields mirror the supplied design while keeping the existing upload flow. */
.page-recruit .recruit-showcase{background:radial-gradient(circle at 76% 28%,rgba(255,255,255,.06),transparent 30%),linear-gradient(120deg,#101210,#1a1d1a 56%,#090a09)!important}
.page-recruit .recruit-merits,
.page-recruit .recruit-income-card,
.page-recruit .recruit-quick-contact-card,
.page-recruit .recruit-reference-form{background:linear-gradient(135deg,#1a1c1a,#111311)!important;border-color:#3e423d!important}
.page-recruit .recruit-merits article{border-color:#373a36!important}
.page-recruit .recruit-showcase-copy>span,
.page-recruit .recruit-showcase-copy h1,
.page-recruit .recruit-merits .icon,
.page-recruit .recruit-merits article strong{color:#c8ccc4!important}
.page-recruit .recruit-reference-form{padding:38px 42px!important}
.page-recruit .recruit-reference-form>header{border-color:#3e423d!important;text-align:center!important}
.page-recruit .recruit-reference-form>header h2{color:#f4f2e9!important}
.page-recruit .recruit-form-row{display:grid!important;grid-template-columns:156px minmax(0,1fr)!important;align-items:center!important;gap:18px!important;margin-bottom:16px!important}
.page-recruit .recruit-form-row>label{margin:0!important;color:#f4f2e9!important;font-size:12px!important;font-weight:800!important}
.page-recruit .recruit-form-row>label b{margin-left:6px!important;background:#343834!important;border-color:#4b504a!important;color:#f4f5f0!important}
.page-recruit .recruit-reference-form input:not([type=file]),
.page-recruit .recruit-reference-form select,
.page-recruit .recruit-reference-form textarea{min-height:46px!important;background:#0d0f0d!important;border-color:#414640!important;color:#f4f2e9!important;border-radius:4px!important}
.page-recruit .recruit-reference-form input:not([type=file]):focus,
.page-recruit .recruit-reference-form select:focus,
.page-recruit .recruit-reference-form textarea:focus{border-color:#8a9087!important;box-shadow:0 0 0 2px rgba(218,222,214,.13)!important}
.page-recruit .recruit-date-selects{display:grid;grid-template-columns:minmax(88px,1.2fr) auto minmax(64px,.8fr) auto minmax(64px,.8fr) auto;align-items:center;gap:8px;color:#d8dacd!important}
.page-recruit .recruit-date-selects select{min-width:0!important;padding-inline:10px!important}
.page-recruit .recruit-radio-options,.page-recruit .recruit-check-options{display:flex;flex-wrap:wrap;gap:10px 18px}
.page-recruit .recruit-radio-options label,.page-recruit .recruit-check-options label{display:inline-flex!important;align-items:center!important;gap:7px!important;color:#e5e7dc!important;font-size:12px!important;white-space:nowrap}
.page-recruit .recruit-radio-options input,.page-recruit .recruit-check-options input{width:16px!important;height:16px!important;min-height:0!important;accent-color:#777d75!important}
.page-recruit .recruit-textarea-row{align-items:start!important}
.page-recruit .recruit-textarea-row textarea{min-height:132px!important;padding-top:13px!important;resize:vertical!important}
.page-recruit .recruit-photo-row{align-items:stretch!important}
.page-recruit .recruit-upload-box{min-height:126px!important;border-color:#4a5048!important;background:#0d0f0d!important}
.page-recruit .recruit-upload-box strong,.page-recruit .recruit-upload-box>span .icon{color:#c8ccc4!important}
.page-recruit .recruit-submit{width:min(100%,520px)!important;margin:24px auto 0!important}
.page-recruit .recruit-form-privacy{text-align:center!important;color:#a6a89d!important}
@media(max-width:720px){
  .page-recruit .recruit-reference-form{padding:26px 16px!important}
  .page-recruit .recruit-form-row{grid-template-columns:1fr!important;gap:8px!important;margin-bottom:15px!important}
  .page-recruit .recruit-date-selects{grid-template-columns:minmax(76px,1.2fr) auto minmax(56px,.8fr) auto minmax(56px,.8fr) auto;gap:5px}
  .page-recruit .recruit-check-options{gap:9px 12px}
}

/* Exact homepage profile-card treatment for /boys and /schedule. */
html body.page-casts #boys-results,
html body.page-schedule #schedule-results,
html body.page-schedule .schedule-info-links,
html body.page-casts .compact-header .header-main,
html body.page-schedule .compact-header .header-main{
  width:min(calc(100% - 80px),1460px)!important;
  max-width:1460px!important;
  margin-inline:auto!important;
}
html body.page-casts #boys-results .staff-grid.dense-staff-grid[data-staff-grid],
html body.page-schedule #schedule-results .schedule-card-grid[data-schedule-card-grid]{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
}
html body.page-casts #boys-results .dense-staff-card,
html body.page-schedule #schedule-results .schedule-card{
  min-width:0!important;
  overflow:hidden!important;
  background:#171b16!important;
  border:1px solid #34382f!important;
  border-radius:4px!important;
}
html body.page-casts #boys-results .dense-staff-card .staff-photo,
html body.page-schedule #schedule-results .schedule-card .schedule-card-photo{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:4 / 3!important;
  overflow:hidden!important;
  background:#0b0d0a!important;
}
html body.page-casts #boys-results .dense-staff-card .staff-photo>img,
html body.page-schedule #schedule-results .schedule-card .schedule-card-photo>img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center top!important;
}
html body.page-casts #boys-results .compact-therapist-body,
html body.page-schedule #schedule-results .schedule-card-body{
  min-height:56px!important;
  padding:8px 10px!important;
  background:#171b16!important;
}
html body.page-schedule #schedule-results .schedule-card-body>p{margin:5px 0!important;font-size:10px!important;line-height:1.45!important}
html body.page-schedule #schedule-results .schedule-card-body .card-buttons{margin-top:7px!important}
@media(max-width:767px){
  html body.page-casts #boys-results,
  html body.page-schedule #schedule-results,
  html body.page-schedule .schedule-info-links,
  html body.page-casts .compact-header .header-main,
  html body.page-schedule .compact-header .header-main{
    width:calc(100% - 24px)!important;
    max-width:none!important;
  }
  html body.page-casts #boys-results .staff-grid.dense-staff-grid[data-staff-grid],
  html body.page-schedule #schedule-results .schedule-card-grid[data-schedule-card-grid]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
}

/* Booking form: keep the existing dark-gold visual language while making the flow vertical and easy to scan. */
html body.page-booking .booking-reference-form{gap:14px!important}
html body.page-booking .booking-selection-grid,
html body.page-booking .booking-customer-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
html body.page-booking .booking-selection-grid label,
html body.page-booking .booking-customer-grid label{width:100%!important}

html body.page-booking .booking-datetime-trigger{
  width:100%!important;
  min-height:64px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto 22px!important;
  align-items:center!important;
  gap:8px 12px!important;
  padding:12px 14px!important;
  border:1px solid #514938!important;
  border-radius:3px!important;
  background:#0d0f0e!important;
  color:#eee9df!important;
  text-align:left!important;
  cursor:pointer!important;
}
html body.page-booking .booking-datetime-trigger:hover,
html body.page-booking .booking-datetime-trigger:focus-visible{border-color:#d7b45a!important;outline:none!important}
html body.page-booking .booking-datetime-trigger .booking-field-label{
  grid-column:1/-1!important;
  color:#b9b2a5!important;
  font-size:11px!important;
}
html body.page-booking .booking-datetime-trigger .booking-required{color:#d7b45a!important;font-style:normal!important}
html body.page-booking .booking-datetime-trigger strong{color:#f2eee5!important;font-size:14px!important;font-weight:600!important}
html body.page-booking .booking-datetime-trigger>b{color:#d7b45a!important;font-size:24px!important;font-weight:400!important;text-align:right!important}

html body.page-booking .booking-datetime-modal{
  position:fixed!important;
  inset:0!important;
  z-index:1000!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
}
html body.page-booking .booking-datetime-modal[hidden]{display:none!important}
html body.page-booking .booking-datetime-backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.72)!important}
html body.page-booking .booking-datetime-dialog{
  position:relative!important;
  z-index:1!important;
  width:min(760px,100%)!important;
  max-height:min(90vh,760px)!important;
  overflow:auto!important;
  padding:22px!important;
  border:1px solid #6b5731!important;
  border-radius:4px!important;
  background:#15120e!important;
  box-shadow:0 18px 70px rgba(0,0,0,.55)!important;
}
html body.page-booking .booking-datetime-dialog-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:18px!important}
html body.page-booking .booking-datetime-dialog-head span{display:block!important;color:#d7b45a!important;font-size:10px!important;letter-spacing:.18em!important}
html body.page-booking .booking-datetime-dialog-head h3{margin:4px 0 0!important;color:#f2eee5!important;font-size:20px!important}
html body.page-booking .booking-datetime-dialog-head>button{width:32px!important;height:32px!important;padding:0!important;border:1px solid #514938!important;border-radius:3px!important;background:transparent!important;color:#f2eee5!important;font-size:22px!important;line-height:1!important;cursor:pointer!important}
html body.page-booking .booking-datetime-dialog-head>button:hover,
html body.page-booking .booking-datetime-dialog-head>button:focus-visible{border-color:#d7b45a!important;color:#d7b45a!important;outline:none!important}
html body.page-booking .booking-datetime-dialog .booking-date-time-layout{grid-template-columns:1fr 1.1fr!important}
html body.page-booking .booking-datetime-dialog-actions{display:flex!important;justify-content:flex-end!important;gap:10px!important;margin-top:18px!important}
html body.page-booking .booking-datetime-dialog-actions .btn{min-height:38px!important;padding:0 14px!important}
html body.page-booking .booking-datetime-error{margin:12px 0 0!important;color:#d7b45a!important;font-size:11px!important}
html body.booking-modal-open{overflow:hidden!important}
@media(max-width:720px){
  html body.page-booking .booking-datetime-modal{padding:10px!important}
  html body.page-booking .booking-datetime-dialog{padding:14px!important;max-height:94vh!important}
  html body.page-booking .booking-datetime-dialog .booking-date-time-layout{grid-template-columns:1fr!important}
  html body.page-booking .booking-datetime-trigger{min-height:60px!important}
}

/* Neutralise the reservation workflow retained from the legacy theme stylesheet. */
body:not(.admin-page) .reservation-workflow-steps .done,
body:not(.admin-page) .reservation-workflow-steps .active{color:#eef0e9!important;border-color:#5c625a!important}
body:not(.admin-page) .reservation-workflow-steps .active{background:linear-gradient(135deg,#292c29,#161816)!important;box-shadow:inset 0 0 0 1px rgba(220,224,216,.14)!important}
body:not(.admin-page) .reservation-workflow-steps .active::before{background:#777d75!important}
body:not(.admin-page) .status-indicator>span{background:#777d75!important;box-shadow:0 0 0 5px rgba(220,224,216,.08)!important}
body:not(.admin-page) .reservation-person small,
body:not(.admin-page) .proposal-box>b,
body:not(.admin-page) .shop-message>b,
body:not(.admin-page) .public-message-thread header strong{color:#c8ccc4!important}
body:not(.admin-page) .paid-mark,
body:not(.admin-page) .authorized-mark{background:#2b2e2b!important;color:#e8ebe4!important}

/* Header and recruit layout refinements. */
body.page-casts .compact-header .header-main,
body.page-schedule .compact-header .header-main{
  min-height:64px!important;
  gap:16px!important;
}
body.page-casts .compact-header .global-nav,
body.page-schedule .compact-header .global-nav{display:block!important;min-width:0!important}
body.page-casts .compact-header .global-nav .nav-inner,
body.page-schedule .compact-header .global-nav .nav-inner{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  align-items:stretch!important;
}
body.page-casts .compact-header .global-nav .nav-inner>a,
body.page-schedule .compact-header .global-nav .nav-inner>a{
  min-width:0!important;
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-inline:7px!important;
}
.compact-header .header-login-button{
  min-height:38px!important;
  height:38px!important;
  padding-inline:10px!important;
  border-radius:4px!important;
  font-size:10px!important;
}
.compact-header .header-login-button .icon{width:16px!important;height:16px!important}
body.page-recruit .recruit-showcase{padding:0!important;background:#090a09!important;border-bottom:1px solid #373a36!important}
body.page-recruit .recruit-showcase-inner{
  display:block!important;
  min-height:0!important;
  padding:0!important;
}
body.page-recruit .recruit-showcase-visual{
  width:100%!important;
  height:440px!important;
  min-height:440px!important;
  background:#090a09!important;
}
body.page-recruit .recruit-showcase-visual img{
  position:static!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
body.page-recruit .recruit-overview{
  display:grid!important;
  gap:22px!important;
  padding:42px 0 14px!important;
}
/* Full-bleed homepage intro; list-page content keeps the 840px reading width. */
html body.page-index .home-intro.dense-home-intro{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}
html body.page-index .home-intro.dense-home-intro .home-hero-banner,
html body.page-index .home-intro.dense-home-intro .home-hero-banner>img{
  width:100%!important;
  max-width:none!important;
}
html body.page-casts #boys-results,
html body.page-schedule #schedule-results,
html body.page-schedule .schedule-info-links{
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body.page-casts .page-hero>.container,
html body.page-schedule .page-hero>.container{
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body:not(.admin-page) .page-hero h1,
body:not(.admin-page) .page-hero span,
body:not(.admin-page) .section-title-row h2,
body:not(.admin-page) .section-title-row span,
body:not(.admin-page) .schedule-heading h2,
body:not(.admin-page) .schedule-heading span,
body:not(.admin-page) .section-kicker,
body:not(.admin-page) .recruit-merits article strong,
body:not(.admin-page) .recruit-income-card h3{
  color:#d7b45a!important;
}
@media(max-width:720px){
  html body.page-casts #boys-results,
  html body.page-schedule #schedule-results,
  html body.page-schedule .schedule-info-links,
  html body.page-casts .page-hero>.container,
  html body.page-schedule .page-hero>.container{width:calc(100% - 24px)!important;max-width:none!important}
}
body.page-recruit .recruit-overview .recruit-showcase-copy{
  grid-area:auto!important;
  padding:0!important;
  text-align:center!important;
}
body.page-recruit .recruit-overview .recruit-merits,
body.page-recruit .recruit-overview .recruit-income-card{grid-area:auto!important;margin-top:0!important}
@media(max-width:720px){
  body.page-casts .compact-header .header-main,
  body.page-schedule .compact-header .header-main{width:calc(100% - 24px)!important;min-height:56px!important}
  body.page-casts .compact-header .global-nav,
  body.page-schedule .compact-header .global-nav{display:none!important}
  body.page-casts .compact-header .global-nav.open,
  body.page-schedule .compact-header .global-nav.open{display:block!important}
  .compact-header .header-login-button{min-height:38px!important;height:38px!important;padding-inline:9px!important}
  body.page-recruit .recruit-showcase-visual{height:300px!important;min-height:300px!important}
  body.page-recruit .recruit-overview{padding-top:28px!important;gap:16px!important}
}

/* Gold interaction and heading system. */
body:not(.admin-page) .global-nav .nav-inner>a,
body:not(.admin-page) .global-nav .nav-inner>a .nav-en,
body:not(.admin-page) .global-nav .nav-inner>a small,
body:not(.admin-page) .global-nav .nav-inner>a:hover,
body:not(.admin-page) .global-nav .nav-inner>a:focus-visible{
  color:#d7b45a!important;
}
body:not(.admin-page) .global-nav .nav-inner>a:hover,
body:not(.admin-page) .global-nav .nav-inner>a:focus-visible{
  background:rgba(215,180,90,.12)!important;
  border-bottom-color:#d7b45a!important;
}
body:not(.admin-page) .page-hero h1,
body:not(.admin-page) .page-hero> .container>span,
body:not(.admin-page) .section-title-row h2,
body:not(.admin-page) .section-title-row>div>span,
body:not(.admin-page) .section-title-row>a,
body:not(.admin-page) .schedule-heading h2,
body:not(.admin-page) .schedule-heading>span,
body:not(.admin-page) .section-kicker{
  color:#d7b45a!important;
}
body:not(.admin-page) .header-login-button{
  background:transparent!important;
  border-color:#d7b45a!important;
  color:#d7b45a!important;
}
body:not(.admin-page) .header-login-button .icon{color:#d7b45a!important}
body:not(.admin-page) .header-login-button:hover,
body:not(.admin-page) .header-login-button:focus-visible{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#111!important;
}
body:not(.admin-page) .header-login-button:hover .icon,
body:not(.admin-page) .header-login-button:focus-visible .icon{color:#111!important}
body:not(.admin-page) .btn.primary,
body:not(.admin-page) .booking-submit-button,
body:not(.admin-page) .recruit-submit,
body:not(.admin-page) .home-card-link,
body:not(.admin-page) .recruit-quick-contact-card>a,
body:not(.admin-page) .footer-booking-action{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#15130e!important;
  box-shadow:none!important;
}
body:not(.admin-page) .btn.primary:hover,
body:not(.admin-page) .btn.primary:focus-visible,
body:not(.admin-page) .booking-submit-button:hover,
body:not(.admin-page) .booking-submit-button:focus-visible,
body:not(.admin-page) .recruit-submit:hover,
body:not(.admin-page) .recruit-submit:focus-visible,
body:not(.admin-page) .home-card-link:hover,
body:not(.admin-page) .home-card-link:focus-visible,
body:not(.admin-page) .recruit-quick-contact-card>a:hover,
body:not(.admin-page) .recruit-quick-contact-card>a:focus-visible,
body:not(.admin-page) .footer-booking-action:hover,
body:not(.admin-page) .footer-booking-action:focus-visible{
  background:#e3c67b!important;
  border-color:#e3c67b!important;
  color:#15130e!important;
}
body:not(.admin-page) .btn.outline,
body:not(.admin-page) .home-hero-book,
body:not(.admin-page) .booking-view-all,
body:not(.admin-page) .btn.ghost,
body:not(.admin-page) .card-buttons a,
body:not(.admin-page) .pagination a{
  border-color:#d7b45a!important;
  color:#d7b45a!important;
}
body:not(.admin-page) .card-buttons a.primary,
body:not(.admin-page) .pagination a.active{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#15130e!important;
}

/* Recruit: deep coffee-black surfaces with a restrained gold hierarchy. */
body.page-recruit main{background:#0b0a08!important;color:#eee8dc!important}
body.page-recruit .recruit-showcase{background:#0b0a08!important;border-bottom-color:#4d3e25!important}
body.page-recruit .recruit-showcase-visual{height:440px!important;min-height:440px!important;background:#0b0a08!important}
body.page-recruit .recruit-showcase-visual img{object-fit:cover!important;object-position:center center!important;filter:none!important}
body.page-recruit .recruit-overview{color:#eee8dc!important}
body.page-recruit .recruit-merits,
body.page-recruit .recruit-income-card,
body.page-recruit .recruit-quick-contact-card,
body.page-recruit .recruit-reference-form{
  background:linear-gradient(135deg,#211b12,#12110d)!important;
  border-color:#6b5731!important;
}
body.page-recruit .recruit-merits article{border-color:#4d4028!important}
body.page-recruit .recruit-merits .icon,
body.page-recruit .recruit-merits article>strong,
body.page-recruit .recruit-income-card h3,
body.page-recruit .recruit-income-number strong,
body.page-recruit .recruit-income-card li::before,
body.page-recruit .recruit-upload-box strong,
body.page-recruit .recruit-upload-box>span .icon,
body.page-recruit .recruit-reference-form>header h2{color:#d7b45a!important}
body.page-recruit .recruit-merits small,
body.page-recruit .recruit-income-card li,
body.page-recruit .recruit-income-number span,
body.page-recruit .recruit-income-number b,
body.page-recruit .recruit-income-number p,
body.page-recruit .recruit-reference-form>header p,
body.page-recruit .recruit-form-privacy{color:#c2b8a6!important}
body.page-recruit .recruit-merits small{color:#fff!important}
body.page-recruit .recruit-income-card li,
body.page-recruit .recruit-income-number span,
body.page-recruit .recruit-income-number b,
body.page-recruit .recruit-income-number p,
body.page-recruit .recruit-quick-contact-card>div>strong,
body.page-recruit .recruit-quick-contact-card>div>strong span,
body.page-recruit .recruit-quick-contact-card>a>span,
body.page-recruit .recruit-reference-form>header p,
body.page-recruit .recruit-form-privacy{color:#fff!important}
body.page-recruit .recruit-form-privacy{font-size:11px!important}
body.page-recruit .recruit-quick-contact-card>a{
  background:#211b12!important;
  border:1px solid #d7b45a!important;
  color:#fff!important;
}
body.page-recruit .recruit-quick-contact-card>a .icon,
body.page-recruit .recruit-quick-contact-card>a b{color:#d7b45a!important}
body.page-recruit .recruit-form-row>label{color:#eee8dc!important}
body.page-recruit .recruit-form-row>label b,
body.page-recruit .recruit-form-row>label em{
  border-color:#8d713a!important;
  color:#d7b45a!important;
  background:rgba(215,180,90,.08)!important;
}
body.page-recruit .recruit-reference-form input:not([type=file]),
body.page-recruit .recruit-reference-form select,
body.page-recruit .recruit-reference-form textarea{
  background:#0f0e0b!important;
  border-color:#58492d!important;
  color:#f2eee4!important;
}
body.page-recruit .recruit-reference-form input:not([type=file]):focus,
body.page-recruit .recruit-reference-form select:focus,
body.page-recruit .recruit-reference-form textarea:focus{
  border-color:#d7b45a!important;
  box-shadow:0 0 0 2px rgba(215,180,90,.16)!important;
}
body.page-recruit .recruit-radio-options input,
body.page-recruit .recruit-check-options input{accent-color:#d7b45a!important}
body.page-recruit .recruit-upload-box{background:#11100d!important;border-color:#806735!important}

/* Keep image banners proportional and show the complete source image. */
html body.page-index .home-intro.dense-home-intro,
html body.page-index .home-intro.dense-home-intro .home-hero-banner{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:2048 / 768!important;
}
html body.page-index .home-intro.dense-home-intro .home-hero-banner>img{
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
}
body.page-recruit .recruit-showcase,
body.page-recruit .recruit-showcase-inner,
body.page-booking .booking-hero,
body.page-booking .booking-hero-inner{
  aspect-ratio:2048 / 768!important;
  min-height:0!important;
}
body:not(.admin-page) .page-hero{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:2048 / 768!important;
  display:grid!important;
  align-items:center!important;
  overflow:hidden!important;
}
body.page-recruit .recruit-showcase-inner{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.page-recruit .recruit-showcase-inner,
body.page-booking .booking-hero-inner{height:100%!important}
body.page-recruit .recruit-showcase-visual{height:100%!important;min-height:0!important}
body.page-recruit .recruit-showcase-visual img{object-fit:contain!important}
@media(max-width:720px){
  body.page-recruit .recruit-showcase,
  body.page-recruit .recruit-showcase-inner,
  body.page-booking .booking-hero,
  body.page-booking .booking-hero-inner{aspect-ratio:2048 / 768!important}
}

/* Public topbar uses the same gold language as the navigation and CTAs. */
body:not(.admin-page) .compact-header .header-tools,
body:not(.admin-page) .compact-header .header-language,
body:not(.admin-page) .compact-header .header-language .icon,
body:not(.admin-page) .compact-header .header-language-label,
body:not(.admin-page) .compact-header .header-language select,
body:not(.admin-page) .compact-header .menu-btn{
  color:#d7b45a!important;
}
body:not(.admin-page) .compact-header .header-language,
body:not(.admin-page) .compact-header .menu-btn{
  border-color:#d7b45a!important;
}
body:not(.admin-page) .compact-header .header-language select option{color:#15130e!important;background:#d7b45a!important}

/* Shared banner height: keep the complete artwork inside a 360px frame. */
html body:not(.admin-page) .home-intro.dense-home-intro,
html body:not(.admin-page) .home-intro.dense-home-intro .home-hero-banner,
html body:not(.admin-page) .recruit-showcase,
html body:not(.admin-page) .recruit-showcase-inner,
html body:not(.admin-page) .booking-hero,
html body:not(.admin-page) .booking-hero-inner,
html body:not(.admin-page) .page-hero{
  height:360px!important;
  min-height:360px!important;
  aspect-ratio:auto!important;
}
html body:not(.admin-page) .home-intro.dense-home-intro .home-hero-banner>img,
html body:not(.admin-page) .recruit-showcase-visual,
html body:not(.admin-page) .recruit-showcase-visual img,
html body:not(.admin-page) .booking-hero-inner>img{
  height:100%!important;
}
html body:not(.admin-page) .home-intro.dense-home-intro .home-hero-banner>img,
html body:not(.admin-page) .recruit-showcase-visual img,
html body:not(.admin-page) .booking-hero-inner>img{
  object-fit:contain!important;
  object-position:center center!important;
}

/* Recruit title and public header tools use the same gold accent. */
body.page-recruit .recruit-showcase-copy>span,
body.page-recruit .recruit-showcase-copy h1,
body.page-recruit .recruit-hero span,
body.page-recruit .recruit-hero h1,
body.page-recruit .global-nav .nav-inner>a[href*="recruit.php"],
body.page-recruit .global-nav .nav-inner>a[href*="recruit.php"] .nav-en{
  color:#d7b45a!important;
}
body:not(.admin-page) .compact-header .header-tools,
body:not(.admin-page) .compact-header .header-tools .icon,
body:not(.admin-page) .compact-header .header-tools .header-login-button,
body:not(.admin-page) .compact-header .header-tools .header-language,
body:not(.admin-page) .compact-header .header-tools .header-language-label,
body:not(.admin-page) .compact-header .header-tools .header-language select,
body:not(.admin-page) .compact-header .header-tools .menu-btn{
  color:#d7b45a!important;
}
body:not(.admin-page) .compact-header .header-tools .header-login-button,
body:not(.admin-page) .compact-header .header-tools .header-language,
body:not(.admin-page) .compact-header .header-tools .menu-btn{
  background:#11100d!important;
  border-color:#806735!important;
}
body:not(.admin-page) .compact-header .header-tools .header-login-button:hover,
body:not(.admin-page) .compact-header .header-tools .header-login-button:focus-visible,
body:not(.admin-page) .compact-header .header-tools .menu-btn:hover,
body:not(.admin-page) .compact-header .header-tools .menu-btn:focus-visible{
  background:#d7b45a!important;
  border-color:#d7b45a!important;
  color:#15130e!important;
}
body:not(.admin-page) .compact-header .header-tools .header-login-button:hover .icon,
body:not(.admin-page) .compact-header .header-tools .header-login-button:focus-visible .icon,
body:not(.admin-page) .compact-header .header-tools .menu-btn:hover .icon,
body:not(.admin-page) .compact-header .header-tools .menu-btn:focus-visible .icon{
  color:#15130e!important;
}
body:not(.admin-page) .compact-header .header-tools .header-language select option{
  background:#11100d!important;
  color:#d7b45a!important;
}

/* System page: high-contrast charcoal panels with visible course pricing. */
body.page-system main{background:#0b0a08!important;color:#f4f0e7!important}
body.page-system .system-hero{background:linear-gradient(120deg,#211b12 0%,#302617 52%,#0b0a08 100%)!important;border-bottom-color:#6b5731!important}
body.page-system .system-guide,
body.page-system .system-courses{padding-top:42px!important;padding-bottom:28px!important}
body.page-system .system-guide .section-title-row,
body.page-system .system-courses .section-title-row{border-bottom-color:#6b5731!important}
body.page-system .system-guide-grid,
body.page-system .system-course-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important}
body.page-system .system-guide article,
body.page-system .system-course-card{
  background:linear-gradient(145deg,#211b12,#12110d)!important;
  border:1px solid #6b5731!important;
  color:#f4f0e7!important;
  border-radius:7px!important;
}
body.page-system .system-guide article{padding:24px!important}
body.page-system .system-guide article>b,
body.page-system .system-guide article h3,
body.page-system .system-course-card h3{color:#d7b45a!important}
body.page-system .system-guide article p,
body.page-system .system-course-card p{color:#fff!important;line-height:1.8!important}
body.page-system .system-course-card{padding:20px!important;display:grid;gap:10px!important}
body.page-system .system-course-card header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #4d4028;padding-bottom:10px}
body.page-system .system-course-card header span{color:#c2b8a6!important;font-size:10px!important;letter-spacing:.12em}
body.page-system .system-course-card header strong{color:#d7b45a!important;font-size:22px!important}
body.page-system .system-course-card h3{margin:0!important;font-size:20px!important}
body.page-system .system-course-card .btn{justify-self:start!important;margin-top:4px!important}
body.page-system .system-course-empty{grid-column:1/-1;color:#fff!important}
@media(max-width:720px){
  body.page-system .system-guide-grid,
  body.page-system .system-course-grid{grid-template-columns:1fr!important}
}

/* Page-specific campaign banners: one visual family, with copy-safe space on the left. */
body.page-casts .page-hero{
  background-color:#0b0a08!important;
  background-image:url('../img/therapists-banner-v2.png')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
body.page-schedule .page-hero{
  background-color:#0b0a08!important;
  background-image:url('../img/schedule-banner-v2.png')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
body.page-system .system-hero{
  background-color:#0b0a08!important;
  background-image:url('../img/system-banner-v2.png')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
body.page-access .page-hero{
  background-color:#0b0a08!important;
  background-image:url('../img/access-banner-v2.png')!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
}
body.page-recruit .recruit-showcase-visual img{
  content:url('../img/recruit-banner-v2.png')!important;
}

/* The replacement homepage artwork has no embedded logo, so the header is the only logo. */
body.page-index .home-hero-banner::after{display:none!important}

/* Hero copy follows the same centered .container structure as the SYSTEM page. */
html body.page-index .home-hero-banner,
html body.page-recruit .recruit-showcase-inner{position:relative!important}
html body.page-index .home-hero-copy,
html body.page-recruit .recruit-showcase-copy{
  position:absolute!important;
  z-index:3!important;
  top:50%!important;
  left:50%!important;
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-50%)!important;
  color:#f4f0e7!important;
  pointer-events:none!important;
}
html body.page-index .home-hero-copy .home-hero-eyebrow,
html body.page-recruit .recruit-showcase-copy>span{
  display:block!important;
  margin:0 0 10px!important;
  color:#d7b45a!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.24em!important;
  line-height:1.2!important;
}
html body.page-index .home-hero-copy h1,
html body.page-recruit .recruit-showcase-copy h1{
  margin:0 0 10px!important;
  color:#f4f0e7!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:clamp(32px,5vw,58px)!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
  line-height:1!important;
  text-shadow:0 2px 18px rgba(0,0,0,.38)!important;
}
html body.page-index .home-hero-copy h1 strong{
  color:#d7b45a!important;
  font-weight:900!important;
}
html body.page-index .home-hero-copy p,
html body.page-recruit .recruit-showcase-copy p{
  max-width:560px!important;
  margin:0!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.7!important;
  text-shadow:0 2px 12px rgba(0,0,0,.42)!important;
}
html body.page-recruit .recruit-showcase-copy h1{color:#d7b45a!important}
html body.page-recruit .recruit-showcase-copy p{color:#fff!important}
html body.page-casts .page-hero>.container,
html body.page-schedule .page-hero>.container,
html body.page-system .system-hero>.container,
html body.page-access .page-hero>.container{
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:720px){
  html body.page-index .home-hero-copy,
  html body.page-recruit .recruit-showcase-copy,
  html body.page-casts .page-hero>.container,
  html body.page-schedule .page-hero>.container,
  html body.page-system .system-hero>.container,
  html body.page-access .page-hero>.container{width:calc(100% - 24px)!important;max-width:none!important}
  html body.page-index .home-hero-copy h1,
  html body.page-recruit .recruit-showcase-copy h1{font-size:34px!important}
  html body.page-index .home-hero-copy p,
  html body.page-recruit .recruit-showcase-copy p{font-size:12px!important}
}

/* Final interaction pass for the language selector and SYSTEM price list. */
body:not(.admin-page) .compact-header .header-language{
  position:relative!important;
  box-sizing:border-box!important;
  width:126px!important;
  min-width:126px!important;
  height:42px!important;
  padding:0 8px!important;
  gap:6px!important;
  border:1px solid #806735!important;
  border-radius:6px!important;
  background:#17130e!important;
  box-shadow:inset 0 0 0 1px rgba(215,180,90,.08)!important;
}
body:not(.admin-page) .compact-header .header-language .icon{
  width:18px!important;
  height:18px!important;
  color:#d7b45a!important;
}
body:not(.admin-page) .compact-header .header-language-label{
  display:none!important;
}
body:not(.admin-page) .compact-header .header-language select{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  height:38px!important;
  margin-left:auto!important;
  padding:0 17px 0 4px!important;
  border:0!important;
  border-left:1px solid #5b472b!important;
  border-radius:0!important;
  background:transparent!important;
  color:#f4e8c9!important;
  font-size:12px!important;
  font-weight:900!important;
  text-align:left!important;
  text-align-last:left!important;
}
body:not(.admin-page) .compact-header .header-language::after{
  content:"⌄";
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-55%);
  color:#d7b45a!important;
  font-size:14px!important;
  pointer-events:none!important;
}
body:not(.admin-page) .compact-header .header-language:focus-within{
  border-color:#d7b45a!important;
  box-shadow:0 0 0 2px rgba(215,180,90,.18)!important;
}
body:not(.admin-page) .compact-header .header-language select option{
  background:#11100d!important;
  color:#f4e8c9!important;
}
body.page-system .system-course-grid{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
body.page-system .system-course-card{
  grid-template-columns:minmax(190px,.8fr) minmax(180px,1fr) minmax(220px,1.5fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:15px 18px!important;
}
body.page-system .system-course-card header{
  display:flex!important;
  align-items:baseline!important;
  gap:14px!important;
  padding:0!important;
  border:0!important;
}
body.page-system .system-course-card header strong{font-size:24px!important;white-space:nowrap!important}
body.page-system .system-course-card h3{font-size:18px!important}
body.page-system .system-course-card p{margin:0!important;line-height:1.5!important}
body.page-system .system-course-card .btn{justify-self:end!important;white-space:nowrap!important}
@media(max-width:820px){
  body.page-system .system-course-card{grid-template-columns:minmax(150px,.8fr) minmax(150px,1fr) auto!important}
  body.page-system .system-course-card p{display:none!important}
}
@media(max-width:600px){
  body.page-system .system-course-card{grid-template-columns:1fr!important;gap:8px!important}
  body.page-system .system-course-card p{display:block!important}
  body.page-system .system-course-card .btn{justify-self:start!important}
}

/* ACCESS uses the same full-width visual language as the recruit showcase. */
html body.page-access .page-hero{
  position:relative!important;
  height:360px!important;
  min-height:360px!important;
  padding:0!important;
  display:grid!important;
  align-items:center!important;
  background-color:#0b0a08!important;
  background-image:
    linear-gradient(90deg,rgba(8,8,7,.84) 0%,rgba(8,8,7,.54) 42%,rgba(8,8,7,.08) 78%),
    url('../img/access-banner-v2.png')!important;
  background-size:100% 100%,contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  border-bottom:1px solid #4d3e25!important;
}
html body.page-access .page-hero>.container{
  position:relative!important;
  z-index:2!important;
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:0!important;
}
html body.page-access .page-hero>.container>span{
  display:block!important;
  margin:0 0 10px!important;
  color:#d7b45a!important;
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.24em!important;
  line-height:1.2!important;
}
html body.page-access .page-hero>.container>h1{
  margin:0 0 10px!important;
  color:#f4f0e7!important;
  font-size:clamp(38px,5vw,64px)!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
  line-height:1!important;
  text-shadow:0 2px 18px rgba(0,0,0,.45)!important;
}
html body.page-access .page-hero>.container>p{
  max-width:560px!important;
  margin:0!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.7!important;
  text-shadow:0 2px 12px rgba(0,0,0,.42)!important;
}
html body.page-access .access-redesign{
  padding-top:30px!important;
  padding-bottom:0!important;
}
html body.page-access .access-intro-card,
html body.page-access .access-points-redesign article,
html body.page-access .trust-information .policy-grid article{
  border-color:#6b5731!important;
  border-radius:10px!important;
  background:linear-gradient(135deg,#211b12,#12110d)!important;
  box-shadow:none!important;
}
html body.page-access .access-intro-copy .section-kicker,
html body.page-access .access-facts dt,
html body.page-access .access-points-redesign article>span,
html body.page-access .trust-information .section-title-row>div>span,
html body.page-access .trust-information .policy-grid h3{
  color:#d7b45a!important;
}
html body.page-access .access-intro-copy h2,
html body.page-access .access-points-redesign strong,
html body.page-access .trust-information .section-title-row h2{
  color:#f4f0e7!important;
}
html body.page-access .access-intro-copy p,
html body.page-access .access-facts dd,
html body.page-access .access-note-row p,
html body.page-access .access-points-redesign p,
html body.page-access .trust-information .policy-grid p,
html body.page-access .trust-information .policy-grid a{
  color:#c2b8a6!important;
}
@media(max-width:720px){
  body:not(.admin-page) .compact-header .header-language{
    width:108px!important;
    min-width:108px!important;
    height:38px!important;
    padding:0 6px!important;
    gap:5px!important;
  }
  body:not(.admin-page) .compact-header .header-language .icon{width:17px!important;height:17px!important}
  body:not(.admin-page) .compact-header .header-language select{height:34px!important;font-size:10px!important;padding:0 13px 0 3px!important}
  html body.page-access .page-hero>.container{width:calc(100% - 24px)!important;max-width:none!important}
  html body.page-access .page-hero>.container>h1{font-size:38px!important}
  html body.page-access .page-hero>.container>p{font-size:12px!important}
}

/* Keep the recruit showcase on the same compact hero system as ACCESS. */
html body.page-recruit .recruit-showcase{
  position:relative!important;
  height:360px!important;
  min-height:360px!important;
  padding:0!important;
  display:grid!important;
  align-items:center!important;
  overflow:hidden!important;
  background-color:#0b0a08!important;
  background-image:
    linear-gradient(90deg,rgba(8,8,7,.84) 0%,rgba(8,8,7,.48) 42%,rgba(8,8,7,.06) 78%),
    url('../img/recruit-banner-v2.png')!important;
  background-size:100% 100%,contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  border-bottom:1px solid #4d3e25!important;
}
html body.page-recruit .recruit-showcase-inner{
  display:block!important;
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  height:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  position:relative!important;
}
html body.page-recruit .recruit-showcase-visual{display:none!important}
html body.page-recruit .recruit-showcase-copy{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:100%!important;
  max-width:none!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  transform:none!important;
}
html body.page-recruit .recruit-showcase-copy>span{margin:0 0 10px!important}
html body.page-recruit .recruit-showcase-copy h1{color:#d7b45a!important}
html body.page-recruit .recruit-showcase-copy p{color:#fff!important}
@media(max-width:720px){
  html body.page-recruit .recruit-showcase-inner{width:calc(100% - 24px)!important;max-width:none!important}
  html body.page-recruit .recruit-showcase-copy h1{font-size:38px!important}
  html body.page-recruit .recruit-showcase-copy p{font-size:12px!important}
}

/* The footer has no booking CTA now, so the navigation uses the full 840px row. */
html body:not(.admin-page) .site-footer .footer-main{
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  grid-template-columns:170px minmax(0,1fr)!important;
  gap:24px!important;
}
html body:not(.admin-page) .site-footer .footer-nav{
  flex-wrap:nowrap!important;
  gap:0 18px!important;
  padding:8px 20px!important;
  overflow-x:auto!important;
  justify-content:center!important;
  text-align:center!important;
  scrollbar-width:none!important;
}
html body:not(.admin-page) .site-footer .footer-nav::-webkit-scrollbar{display:none!important}

/* ACCESS page headings and key policy labels use the shared dark-gold accent. */
html body.page-access .page-hero h1,
html body.page-access .page-hero .access-page-title,
html body.page-access .access-intro-copy h2,
html body.page-access .access-points article strong,
html body.page-access .trust-information .section-title-row h2{
  color:#d7b45a!important;
}

/* Keep the ACCESS title dark-gold even when a generic page-hero heading rule wins. */
html h1.access-page-title{
  color:#d7b45a!important;
}

/* HOME and THERAPISTS use the same card entrance motion as SCHEDULE. */
html body.page-index [data-animated-card-grid]>.staff-card,
html body.page-casts [data-animated-card-grid]>.staff-card{
  --schedule-enter-x:-24px;
  transition:
    opacity .28s ease,
    transform .36s cubic-bezier(.22,.61,.36,1),
    filter .28s ease!important;
  transition-delay:calc(var(--schedule-index,0) * 26ms)!important;
  transform:translate3d(0,0,0) scale(1);
  opacity:1;
  filter:blur(0);
  will-change:transform,opacity,filter;
}
html body.page-index [data-animated-card-grid]>.staff-card:nth-child(even),
html body.page-casts [data-animated-card-grid]>.staff-card:nth-child(even){
  --schedule-enter-x:24px;
}
html body.page-index [data-animated-card-grid]>.staff-card.schedule-card-enter,
html body.page-casts [data-animated-card-grid]>.staff-card.schedule-card-enter{
  opacity:0!important;
  transform:translate3d(var(--schedule-enter-x),18px,0) scale(.975)!important;
  filter:blur(2px)!important;
}
@media(max-width:620px){
  html body.page-index [data-animated-card-grid]>.staff-card,
  html body.page-casts [data-animated-card-grid]>.staff-card{
    --schedule-enter-x:-16px;
    transition-duration:.26s,.32s,.26s!important;
    transition-delay:calc(var(--schedule-index,0) * 20ms)!important;
  }
  html body.page-index [data-animated-card-grid]>.staff-card:nth-child(even),
  html body.page-casts [data-animated-card-grid]>.staff-card:nth-child(even){
    --schedule-enter-x:16px;
  }
}
@media(prefers-reduced-motion:reduce){
  html body.page-index [data-animated-card-grid]>.staff-card,
  html body.page-casts [data-animated-card-grid]>.staff-card{
    transition:none!important;
    transform:none!important;
    opacity:1!important;
    filter:none!important;
  }
}

/* The compact therapist theme hid these actions; keep the requested HOME/BOYS actions visible. */
html body.page-index .compact-therapist-body .card-buttons,
html body.page-casts .compact-therapist-body .card-buttons{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;
  margin-top:6px!important;
  padding-top:0!important;
}
html body.page-index .compact-therapist-body .card-buttons a,
html body.page-casts .compact-therapist-body .card-buttons a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Compact Bootstrap-sm-like controls with one shared topbar height. */
html body:not(.admin-page) .compact-header .header-tools{
  align-items:center!important;
  gap:8px!important;
}
html body:not(.admin-page) .compact-header .header-login-button,
html body:not(.admin-page) .compact-header .header-language,
html body:not(.admin-page) .compact-header .menu-btn{
  box-sizing:border-box!important;
  height:38px!important;
  min-height:38px!important;
  border-radius:4px!important;
  line-height:1!important;
}
html body:not(.admin-page) .compact-header .header-login-button{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:0 10px!important;
  font-size:10px!important;
  font-weight:800!important;
}
html body:not(.admin-page) .compact-header .header-login-button .icon{width:16px!important;height:16px!important}
html body:not(.admin-page) .compact-header .header-language{
  width:126px!important;
  min-width:126px!important;
  padding:0 8px!important;
  gap:6px!important;
}
html body:not(.admin-page) .compact-header .header-language .icon{width:17px!important;height:17px!important}
html body:not(.admin-page) .compact-header .header-language select{height:34px!important;font-size:10px!important}
html body:not(.admin-page) .compact-header .menu-btn{
  width:38px!important;
  min-width:38px!important;
  padding:0!important;
  font-size:18px!important;
}
@media(max-width:720px){
  html body:not(.admin-page) .site-footer .footer-main{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    grid-template-columns:1fr!important;
  }
  html body:not(.admin-page) .site-footer .footer-nav{
    flex-wrap:wrap!important;
    overflow-x:visible!important;
    justify-content:center!important;
  }
  html body:not(.admin-page) .compact-header .header-language{
    width:108px!important;
    min-width:108px!important;
    height:38px!important;
  }
}

/* Keep the reference footer layout as the final cascade winner. */
html body:not(.admin-page) .site-footer .footer-contact-row{grid-template-columns:200px minmax(0,1fr) 290px!important;width:min(100% - 48px,1180px)!important;max-width:1180px!important;padding:28px 0!important;gap:0!important}
html body:not(.admin-page) .site-footer .footer-social-links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch!important;gap:0!important;border-left:1px solid #4a3a24!important;border-right:1px solid #4a3a24!important;white-space:normal!important}
html body:not(.admin-page) .site-footer .footer-social-links a{display:grid!important;justify-items:center!important;align-content:center!important;min-height:130px!important;gap:7px!important;padding:6px 10px!important;border-right:1px solid #4a3a24!important;text-align:center!important}
html body:not(.admin-page) .site-footer .footer-social-links a:last-child{border-right:0!important}
html body:not(.admin-page) .site-footer .footer-social-links a .icon{width:38px!important;height:38px!important;color:#d7b45a!important}
html body:not(.admin-page) .site-footer .footer-social-links a b{display:inline-flex!important;min-width:108px!important;min-height:34px!important;align-items:center!important;justify-content:center!important;border:1px solid #806735!important;color:#d7b45a!important}
html body:not(.admin-page) .site-footer .footer-main{grid-template-columns:200px minmax(0,1fr)!important;width:min(100% - 48px,1180px)!important;max-width:1180px!important;gap:0!important;padding:22px 0 0!important}
html body:not(.admin-page) .site-footer .footer-nav{display:flex!important;justify-content:space-between!important;flex-wrap:nowrap!important;gap:12px!important;padding:0 0 12px!important;border:0!important;overflow-x:auto!important}
html body:not(.admin-page) .site-footer .footer-main-right{min-width:0!important}
@media(max-width:900px){
  html body:not(.admin-page) .site-footer .footer-contact-row{grid-template-columns:170px minmax(0,1fr)!important;width:calc(100% - 36px)!important;max-width:none!important}
  html body:not(.admin-page) .site-footer .footer-contact-details{grid-column:1/-1!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;padding:18px 0 0!important;margin-top:18px!important;border-top:1px solid #3b3020!important}
  html body:not(.admin-page) .site-footer .footer-main{width:calc(100% - 36px)!important;max-width:none!important}
}
@media(max-width:620px){
  html body:not(.admin-page) .site-footer .footer-contact-row{grid-template-columns:1fr!important;width:calc(100% - 24px)!important;max-width:none!important;padding:22px 0!important}
  html body:not(.admin-page) .site-footer .footer-contact-heading{text-align:center!important;justify-items:center!important;padding:0 0 18px!important}
  html body:not(.admin-page) .site-footer .footer-social-links{border-left:0!important;border-right:0!important}
  html body:not(.admin-page) .site-footer .footer-social-links a{min-height:116px!important;padding-inline:4px!important}
  html body:not(.admin-page) .site-footer .footer-social-links a b{min-width:0!important;width:100%!important;font-size:9px!important}
  html body:not(.admin-page) .site-footer .footer-contact-details{grid-template-columns:1fr!important;padding:16px 0 0!important}
  html body:not(.admin-page) .site-footer .footer-main{grid-template-columns:1fr!important;width:calc(100% - 24px)!important;max-width:none!important}
  html body:not(.admin-page) .site-footer .footer-brand{justify-content:center!important;padding:0!important}
  html body:not(.admin-page) .site-footer .footer-nav{justify-content:flex-start!important;gap:16px!important;flex-wrap:nowrap!important}
  html body:not(.admin-page) .site-footer .footer-legal-note{width:calc(100% - 24px)!important;font-size:8px!important}
}
