/* Resol Online: consolidated layout, typography and controls. */
/* Resol Online: one layout and type scale for the existing library. */
#body_wrap:is(.page-id-24389,.page-id-24491):has(.resol-videos) :is(#header,#fix_header,#sp_menu,#footer,#breadcrumb,.p-breadcrumb,.l-header__spNav,.p-fixBtnWrap,.c-pageTitle,.l-sidebar,.p-articleFoot,.p-fixFooter){display:none!important}
#body_wrap:is(.page-id-24389,.page-id-24491):has(.resol-videos) :is(#content,#main_content,.l-mainContent,.l-mainContent__inner,.post_content){width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
#body_wrap:is(.page-id-24389,.page-id-24491):has(.resol-videos){background:#f8f7f3}
.resol-videos {
  --rv-bg:#f8f7f3;--rv-green:#245b4b;--rv-dark:#183d34;--rv-ink:#26332f;--rv-muted:#5d6862;--rv-line:#d8ded8;
  --rv-body-size:max(1rem,16px);--rv-small-size:max(.875rem,14px);
  --rv-title-size:clamp(max(2.5rem,40px),3.2vw,max(2.75rem,44px));
  --rv-heading-size:clamp(max(1.75rem,28px),2.7vw,max(2.125rem,34px));
  --rv-subheading-size:max(1.25rem,20px);
  --rv-gutter:48px;--rv-section-space:64px;
  background:var(--rv-bg);color:var(--rv-ink);
  font:var(--rv-body-size)/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  margin:0!important;padding:0!important;width:100%;overflow:clip;
}
.resol-videos *{box-sizing:border-box;min-width:0}
.resol-videos .wp-block-group__inner-container{display:contents}
.resol-videos [hidden]{display:none!important}
.resol-videos figure{margin:0}
.resol-videos img{display:block;max-width:100%;height:auto}
.resol-videos p{font-size:var(--rv-body-size);line-height:1.8;letter-spacing:normal;text-align:left;margin:0 0 16px;overflow-wrap:break-word;line-break:strict}
.resol-videos a{color:inherit}
.resol-videos button,.resol-videos input{font:inherit}
.resol-videos button{cursor:pointer}
.resol-videos [id]{scroll-margin-top:48px}
.resol-videos :is(h1,h2,h3){border:0;background:none;padding:0;box-shadow:none;color:var(--rv-ink);letter-spacing:.02em;line-height:1.4;line-break:strict;text-wrap:balance;overflow-wrap:break-word}
.resol-videos :is(h1,h2,h3):before,.resol-videos :is(h1,h2,h3):after{display:none}
.resol-videos h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:var(--rv-heading-size);font-weight:500;margin:0 0 16px}
.resol-videos h3{font-size:var(--rv-subheading-size);font-weight:600;margin:0 0 16px}
.resol-videos .rv-eyebrow{color:var(--rv-green);font:var(--rv-small-size)/1.5 Georgia,serif;letter-spacing:.13em;margin:0 0 12px}
.resol-videos .rv-section{max-width:1120px;width:calc(100% - 2*var(--rv-gutter));margin:0 auto!important;padding:var(--rv-section-space) 0}
.resol-videos .rv-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:12px max(var(--rv-gutter),calc((100% - 1120px)/2));background:white;margin:0!important;border-bottom:1px solid var(--rv-line)}
.resol-videos .rv-wordmark{display:flex;flex-direction:column;line-height:1.3;padding:4px 0}
.resol-videos .rv-wordmark span{color:var(--rv-green);font:max(1.25rem,20px)/1.2 Georgia,serif;letter-spacing:.12em}
.resol-videos .rv-wordmark strong{font-size:var(--rv-small-size);letter-spacing:.05em;font-weight:400;margin-top:4px}
.resol-videos .rv-hero{display:grid;isolation:isolate;position:relative;background:#e9eeea;max-width:1600px;margin:0 auto!important}
.resol-videos .rv-hero-image{grid-area:1/1;position:relative;overflow:hidden;min-height:340px;margin:0!important}
.resol-videos .rv-hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.resol-videos .rv-hero:after{content:"";grid-area:1/1;z-index:1;background:linear-gradient(90deg,rgba(248,247,243,.97),rgba(248,247,243,.82) 36%,rgba(248,247,243,.05) 80%);pointer-events:none}
.resol-videos .rv-hero-copy{grid-area:1/1;position:relative;z-index:2;padding:32px var(--rv-gutter) 48px max(var(--rv-gutter),calc((100vw - 1120px)/2));width:min(940px,85%);align-self:center;margin:0!important}
.resol-videos h1.rv-title{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:var(--rv-title-size);font-weight:500;line-height:1.4;letter-spacing:.02em;margin:0 0 16px;color:var(--rv-dark)}
.resol-videos .rv-hero-lead{margin-bottom:24px}
.resol-videos .rv-hero-lead br{display:none}
.resol-videos .rv-free{font-size:var(--rv-small-size);margin:12px 0 0;color:var(--rv-muted)}
.resol-videos .rv-credit{position:absolute;right:12px;bottom:8px;font-size:var(--rv-small-size);line-height:1.5;padding:2px 8px;background:#ffffffd9;z-index:2;margin:0;color:#47564d;max-width:calc(100% - 24px)}
.resol-videos .rv-actions{display:flex;gap:12px;margin:0!important}
.resol-videos .wp-block-button{margin:0;max-width:100%}
.resol-videos .rv-search{padding-top:48px}
.resol-videos .rv-intro{color:var(--rv-muted);margin-bottom:24px;text-wrap:balance}
.resol-videos .rv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;list-style:none!important;padding:0!important;margin:24px 0 0!important}
.resol-videos .rv-grid:empty{display:none}
.resol-videos :is(.rv-grid,.rv-next)>li{list-style:none!important;padding:0!important;margin:0!important}
.resol-videos :is(.rv-grid,.rv-next)>li:before{display:none}
.resol-videos .rv-more-wrap{text-align:center;margin-top:32px}
.resol-videos .rv-more-wrap:has([hidden]){display:none}
.resol-videos .rv-about{border-top:1px solid var(--rv-line);display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;align-items:start}
.resol-videos .rv-portrait{aspect-ratio:1/1;overflow:hidden}
.resol-videos .rv-portrait img{width:100%;height:100%;object-fit:cover}
.resol-videos .rv-about .rv-bio{max-width:44em;margin-bottom:0}
.resol-videos .rv-instructor{font-size:max(1.5rem,24px);line-height:1.4;letter-spacing:.05em;margin-bottom:8px}
.resol-videos .rv-qualification{font-size:var(--rv-small-size);color:var(--rv-muted);margin-bottom:24px;text-wrap:pretty}
.resol-videos .rv-clinic-bg{background:#eef3ef;margin:0!important}
.resol-videos .rv-clinic{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.resol-videos .rv-clinic-image{aspect-ratio:3/2;overflow:hidden}
.resol-videos .rv-clinic-image img{height:100%;width:100%;object-fit:cover}
.resol-videos .rv-clinic .rv-bio{margin-bottom:24px}
.resol-videos .rv-footer{max-width:1120px;width:calc(100% - 2*var(--rv-gutter));margin:0 auto!important;padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;color:var(--rv-muted)}
.resol-videos .rv-footer p{font-size:var(--rv-small-size);margin:0}
.resol-videos .rv-watch{max-width:1120px;padding-top:32px}
.resol-videos #rv-back{margin-bottom:24px}
.resol-videos #rv-watch-title{font-family:inherit;font-size:var(--rv-heading-size);font-weight:600;line-height:1.5;letter-spacing:0;margin-bottom:24px;text-wrap:balance}
.resol-videos .rv-player{position:relative;aspect-ratio:16/9;background:#17251e;margin-bottom:24px}
.resol-videos .rv-player iframe{display:block;width:100%;height:100%;border:0}
.resol-videos #rv-watch-description{max-width:48em;margin-bottom:16px}
.resol-videos :is(.rv-next-area,.rv-related-area){margin-top:48px;padding-top:32px;border-top:1px solid var(--rv-line)}
.resol-videos .rv-next{list-style:none;padding:0!important;margin:0!important}
.resol-videos .rv-related{grid-template-columns:repeat(2,minmax(0,1fr));max-width:750px}
.resol-videos .rv-watch-clinic{border-top:1px solid var(--rv-line);margin:48px 0 0;padding-top:24px}
.resol-videos .rv-library{margin:0!important}
@media(max-width:1023px){
  .resol-videos{--rv-gutter:32px;--rv-section-space:48px}
  .resol-videos .rv-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resol-videos .rv-about{gap:32px;grid-template-columns:220px minmax(0,1fr)}
  .resol-videos .rv-clinic{gap:32px}
}
@media(max-width:767px){
  .resol-videos .rv-about,.resol-videos .rv-clinic{grid-template-columns:1fr;gap:24px}
  .resol-videos .rv-portrait{width:min(220px,100%)}
  .resol-videos .rv-header{display:block}
  .resol-videos .rv-hero-copy{width:100%}
}
@media(max-width:599px){
  .resol-videos{--rv-gutter:clamp(16px,5.13vw,24px);--rv-section-space:40px;--rv-title-size:clamp(max(1.75rem,28px),7.2vw,max(2rem,32px));--rv-heading-size:max(1.5rem,24px)}
  .resol-videos .rv-header{padding-block:12px 0;min-height:0}
  .resol-videos .rv-wordmark{padding:0}
  .resol-videos .rv-hero-image{min-height:320px}
  .resol-videos .rv-hero-image img{object-position:75% 50%}
  .resol-videos .rv-hero:after{background:linear-gradient(90deg,#f8f7f3ef,#f8f7f3c9 55%,#f8f7f350)}
  .resol-videos .rv-hero-copy{padding:24px var(--rv-gutter) 56px}
  .resol-videos .rv-search{padding-top:32px}
  .resol-videos .rv-grid{grid-template-columns:1fr;gap:24px}
  .resol-videos .rv-footer{display:block}
  .resol-videos .rv-footer p+p{margin-top:8px}
  .resol-videos .rv-watch{padding-top:24px}
}

/* Shared interaction rules. Typography, photography and section layout remain in library.css. */
.resol-videos {
  --rv-action: #245b4b;
  --rv-action-hover: #183d34;
  --rv-action-border: #627e70;
  --rv-decoration: #d8ded8;
  --rv-focus: #174b98;
  --rv-radius: 6px;
  --rv-primary-height: 52px;
  --rv-secondary-height: 48px;
  --rv-control-padding: 20px;
  --rv-control-gap: 10px;
  --rv-motion: 150ms;
  --rv-selected: #e7f0e9;
}
.resol-videos :is(a,button,input):focus-visible {
  outline: 3px solid var(--rv-focus);
  outline-offset: 4px;
  box-shadow: 0 0 0 4px white;
}
.resol-videos :is(a,button,input,[tabindex]) {scroll-margin-block: 90px 24px;}
.resol-videos a {text-decoration: underline; text-underline-offset: .22em;}
.resol-videos .rv-wordmark {text-decoration: none; border-radius: var(--rv-radius); min-height:44px; justify-content:center;}
.resol-videos .rv-nav {display:flex; align-items:stretch; gap:20px; font-size:var(--rv-small-size);}
.resol-videos .rv-nav a {
  display:flex; align-items:center; justify-content:center; min-height:44px;
  padding:8px 10px; border-radius:3px; border-bottom:2px solid transparent;
  text-decoration:underline; text-decoration-color:var(--rv-action-border);
  text-underline-offset:.3em; color:var(--rv-action); line-height:1.6;
  transition:background-color var(--rv-motion),border-color var(--rv-motion);
}
.resol-videos .rv-nav a[aria-current="location"] {background:var(--rv-selected); border-bottom-color:var(--rv-action); font-weight:600;}
.resol-videos :is(.wp-block-button__link,.rv-button) {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--rv-control-gap);
  min-height:var(--rv-primary-height); max-width:100%; border:1px solid var(--rv-action);
  padding:12px var(--rv-control-padding); border-radius:var(--rv-radius);
  background:var(--rv-action); color:#fff; 
  font-family:inherit; font-size:var(--rv-body-size); font-weight:600; line-height:1.6;
  white-space:normal; overflow-wrap:anywhere; text-decoration:none; box-shadow:none;
  transition:background-color var(--rv-motion),border-color var(--rv-motion),box-shadow var(--rv-motion);
}
.resol-videos :is(.rv-outline,.rv-clinic .wp-block-button__link) {
  min-height:var(--rv-secondary-height); color:var(--rv-action); border-color:var(--rv-action-border); background:white;
}
.resol-videos :is(.rv-button,.wp-block-button__link,.rv-chips button):active {box-shadow:inset 0 0 0 2px currentColor;}
.resol-videos .rv-icon {display:block; width:1.2em; height:1.2em; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round;}
.resol-videos .rv-button>span[aria-hidden] {flex-shrink:0; font-size:1.15em; line-height:1;}
.resol-videos #rv-search-form {max-width:none; margin:0;}
.resol-videos #rv-search-form label {display:block; font-size:var(--rv-body-size); font-weight:600; margin-bottom:12px;}
.resol-videos .rv-input-row {display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px;}
.resol-videos .rv-input-row input {
  width:100%; min-height:var(--rv-primary-height); padding:12px 16px;
  border:1px solid var(--rv-action-border); border-radius:var(--rv-radius);
  background:white; color:var(--rv-ink); font-size:var(--rv-body-size); line-height:1.6; appearance:none;
}
.resol-videos input::placeholder {color:var(--rv-muted); opacity:1;}
.resol-videos #rv-submit {min-width:9.25rem;}
.resol-videos #rv-status {font-size:var(--rv-small-size); line-height:1.8; color:var(--rv-muted); margin:16px 0 0; overflow-wrap:anywhere;}
.resol-videos [data-loading="true"] #rv-status {font-weight:600; color:var(--rv-action);}
.resol-videos [aria-disabled="true"] {cursor:wait; border-style:dashed;}
.resol-videos .rv-chip-label {font-size:var(--rv-body-size); font-weight:600; margin:24px 0 12px; text-align:center;}
.resol-videos .rv-chips {display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:none; margin-inline:auto;}
.resol-videos .rv-chips button {
  display:grid; grid-template-columns:1em minmax(0,auto) 1em; align-items:center; justify-content:center; gap:8px; width:100%; min-height:var(--rv-secondary-height);
  flex:0 1 calc((100% - 60px)/6); min-width:min(100%,calc(var(--rv-body-size)*7 + 42px));
  border:1px solid var(--rv-action-border); padding:10px 12px; background:white; color:var(--rv-action);
  border-radius:var(--rv-radius); font-size:var(--rv-body-size); font-weight:600; line-height:1.6; white-space:normal;
  transition:background-color var(--rv-motion),border-color var(--rv-motion),box-shadow var(--rv-motion);
}
.resol-videos .rv-chips button::after {content:""; width:1em;}
.resol-videos .rv-check {display:inline-block; width:1em; visibility:hidden;}
.resol-videos .rv-chips button[aria-pressed="true"] {background:var(--rv-selected); border-color:var(--rv-action); box-shadow:inset 0 0 0 1px var(--rv-action);}
.resol-videos .rv-chips button[aria-pressed="true"] .rv-check {visibility:visible;}
.resol-videos .rv-search-tools {display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:24px 0 0;}
.resol-videos #rv-results:has(> #rv-result-heading:not([hidden])) {padding-top:40px;}
.resol-videos #rv-result-heading {font-size:var(--rv-subheading-size); margin:0; overflow-wrap:anywhere;}
.resol-videos #rv-results > .rv-grid {margin-top:24px!important;}
.resol-videos #rv-retry {margin-top:16px;}
.resol-videos .rv-card {
  display:flex; flex-direction:column; height:100%; border:1px solid var(--rv-action-border); border-radius:var(--rv-radius);
  background:white; color:var(--rv-ink); text-decoration:none; overflow:visible;
  transition:border-color var(--rv-motion),box-shadow var(--rv-motion);
}
.resol-videos .rv-thumb {display:block; position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:5px 5px 0 0; background:#e0e7e0;}
.resol-videos .rv-thumb img {width:100%; height:100%; object-fit:cover;}
.resol-videos .rv-card-body {display:flex; flex-direction:column; flex:1; padding:24px;}
.resol-videos .rv-format {font-size:var(--rv-small-size); letter-spacing:.12em; color:var(--rv-muted); line-height:1.5;}
.resol-videos .rv-card h3 {font-family:inherit; font-size:var(--rv-body-size); line-height:1.7; font-weight:600; margin:12px 0 24px; letter-spacing:0; overflow-wrap:anywhere;}
.resol-videos .rv-card-label {display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:auto; color:var(--rv-action); font-size:var(--rv-body-size); font-weight:600; line-height:1.6; text-decoration:underline; text-underline-offset:.25em;}
.resol-videos .rv-card-label [aria-hidden] {flex-shrink:0;}
.resol-videos .rv-duration {position:absolute; right:8px; bottom:8px; background:#14251d; color:white; padding:1px 7px; font-size:var(--rv-small-size); line-height:1.8; font-variant-numeric:tabular-nums;}
.resol-videos .rv-next .rv-card {display:grid; grid-template-columns:minmax(180px,260px) minmax(0,1fr);}
.resol-videos .rv-next .rv-thumb {align-self:start; border-radius:5px 0 0 0;}
.resol-videos .rv-external {display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:var(--rv-body-size); color:var(--rv-action);}
.resol-videos .rv-external small {font-size:var(--rv-small-size);}
.resol-videos .rv-watch-clinic a {display:inline-flex; align-items:center; gap:10px; min-height:44px; color:var(--rv-action); font-size:var(--rv-body-size);}
.resol-videos .rv-footer a {display:inline-flex; align-items:center; min-height:44px; font-size:var(--rv-small-size);}
@media(hover:hover) {
  .resol-videos :is(.rv-button,.wp-block-button__link):hover {background:var(--rv-action-hover); border-color:var(--rv-action-hover); color:white;}
  .resol-videos :is(.rv-outline,.rv-clinic .wp-block-button__link,.rv-chips button,.rv-nav a):hover {background:var(--rv-selected); border-color:var(--rv-action); color:var(--rv-action);}
  .resol-videos .rv-card:hover {border-color:var(--rv-action); box-shadow:0 0 0 1px var(--rv-action);}
  .resol-videos .rv-card:hover .rv-card-label {text-decoration-thickness:2px;}
}
@media(max-width:599px) {
  .resol-videos .rv-nav {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:10px; border-top:1px solid var(--rv-decoration);}
  .resol-videos .rv-nav a {padding:8px 3px;}
  .resol-videos .rv-input-row {grid-template-columns:minmax(0,1fr);}
  .resol-videos #rv-submit {width:100%; min-width:0;}
  .resol-videos .rv-chips button {flex-basis:calc((100% - 12px)/2);}
  .resol-videos .rv-search-tools .rv-button {flex:1 1 auto;}
  .resol-videos #rv-results:has(> #rv-result-heading:not([hidden])) {padding-top:32px;}
  .resol-videos .rv-next .rv-card {display:flex;}
  .resol-videos .rv-next .rv-thumb {width:100%; border-radius:5px 5px 0 0;}
  .resol-videos .rv-card-body {padding:24px;}
}
@media(prefers-reduced-motion:reduce) {
  .resol-videos :is(a,button,input) {transition:none; scroll-behavior:auto;}
}
@media(forced-colors:active) {
  .resol-videos :is(a,button,input):focus-visible {outline-color:Highlight;}
  .resol-videos .rv-chips button[aria-pressed="true"] {border:2px solid Highlight;}
}

@media(max-width:359px) {.resol-videos .rv-chips button {flex-basis:100%;}}

/* Error and empty states retain a useful way forward. */
.resol-videos #rv-error-help {margin:16px 0 24px;font-size:var(--rv-body-size);line-height:1.8;}
.resol-videos #rv-error-help a,.resol-videos .rv-watch-error a {display:inline-block;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding-block:8px;}
.resol-videos #rv-empty-tools {margin:24px 0;}
.resol-videos .rv-player:has(.rv-watch-error) {aspect-ratio:auto;background:transparent;}
.resol-videos .rv-watch-error {padding:24px;border:1px solid var(--rv-line);}
