/* The existing homepage remains intact; these styles apply to the combined header only. */
body[data-sdl-header="hybrid"]{--hm-red:#ce263b;--hm-ink:#292c31;--hm-line:#ece9e8;--hm-paper:#fff;--hm-muted:#727578;--hm-expanded-height:107px;--hm-compact-height:61px;--hm-content-offset:107px;padding-bottom:0!important}
body[data-sdl-header="hybrid"] #wrapper-in>header{position:sticky;top:0;z-index:10000;min-height:var(--hm-expanded-height);background:transparent;pointer-events:none}
body[data-sdl-header="hybrid"] #header-full,body[data-sdl-header="hybrid"] #headbox-bg,body[data-sdl-header="hybrid"] #headbox{margin:0!important;padding:0!important;max-width:none!important;width:100%!important;min-height:0!important;background:none!important;text-align:left!important;display:block!important}
body[data-sdl-header="hybrid"] #top-main [id]{scroll-margin-top:calc(var(--hm-compact-height) + 20px)!important}
body[data-sdl-header="hybrid"] .sdl-about.is-pinned-story .sdl-about__stage{height:calc(100svh - var(--hm-compact-height))}
.hmerge,.hmerge *{box-sizing:border-box}
.hmerge{position:relative;isolation:isolate;background:#fff;color:var(--hm-ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;text-align:left;border-bottom:1px solid var(--hm-line);-webkit-font-smoothing:antialiased;transition:box-shadow .25s;pointer-events:auto}
.hmerge.is-scrolled{box-shadow:0 3px 20px #2525250a}
.hmerge a,.hmerge button{font:inherit;letter-spacing:0;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.hmerge a:hover,.hmerge button:hover{text-decoration:none!important}
.hmerge button{cursor:pointer}
.hmerge a:focus-visible,.hmerge button:focus-visible{outline:2px solid var(--hm-red);outline-offset:4px}
.hmerge [hidden]{display:none!important}
.hmerge svg{display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.hm-top{max-width:1440px;margin:auto;padding:8px 48px;display:flex;align-items:center;gap:28px;min-height:60px;position:relative;z-index:3;background:#fff}
.hmerge .hm-logo{display:block;flex:0 0 218px;line-height:1}
.hm-logo img{display:block;width:100%;height:auto;max-height:45px;object-fit:contain}
.hmerge .hm-brand-line{margin:0;border-left:1px solid #dad6d5;padding-left:25px;font-size:10px;line-height:1.8;color:#757779;letter-spacing:.05em}
.hm-utility{margin-left:auto;display:flex;align-items:center;gap:23px;font-size:11px}
.hm-utility a{display:block;white-space:nowrap;transition:color .15s}
.hm-utility a:hover{color:var(--hm-red)}
.hmerge .hm-consult{display:flex;align-items:center;justify-content:space-between;gap:27px;flex:none;min-height:44px;padding:5px 9px 5px 21px;border-radius:5px;background:var(--hm-red);color:#fff;font-size:13px;font-weight:600;box-shadow:0 3px 7px #b6132a12;transition:background .2s,box-shadow .2s}
.hmerge .hm-consult:hover{background:#ae1c2f;box-shadow:0 5px 15px #b6132a25}
.hm-cta-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid #ffffff50;border-radius:50%}
.hm-arrow{width:21px;height:21px;transition:transform .2s}
.hm-consult:hover .hm-arrow,.hm-service-card:hover>.hm-arrow{transform:translateX(3px)}
.hm-navigation{background:#fff;position:relative;z-index:2}
.hm-nav{max-width:1440px;padding:0 48px;margin:auto}
.hmerge .hm-nav-list{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none!important;margin:0!important;padding:0!important;min-height:46px;border-top:1px solid var(--hm-line)}
.hmerge .hm-nav-list>li{position:static!important;list-style:none!important;margin:0!important;padding:0!important}
.hmerge .hm-nav-list>li.hm-challenge-item{margin-right:34px!important}
.hmerge .hm-trigger,.hmerge .hm-direct{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;height:45px;padding:0 8px;border:0;background:none;border-radius:0;font-size:14px;line-height:1.5;font-weight:600;white-space:nowrap;transition:color .2s}
.hm-trigger:after,.hm-direct:after{content:none!important}
.hmerge .hm-trigger:hover,.hmerge .hm-direct:hover,.hmerge .hm-trigger[aria-expanded="true"]{color:var(--hm-red)}
.hm-chevron{width:12px;height:12px;color:#8b8b8e;transition:transform .2s}
.hm-trigger[aria-expanded="true"] .hm-chevron{transform:rotate(180deg);color:var(--hm-red)}
.hmerge .hm-challenge-trigger{height:36px;min-width:192px;justify-content:flex-start;gap:11px;padding:0 17px;color:var(--hm-ink);border:1px solid transparent;border-radius:4px;background:transparent}
.hm-challenge-trigger .hm-chevron{margin-left:auto}
.hmerge .hm-challenge-trigger:hover,.hmerge .hm-challenge-trigger[aria-expanded="true"]{background:#f4f5f6;border-color:var(--hm-red);color:var(--hm-red)}
.hm-search-icon{width:19px;height:19px;stroke-width:1.4!important}
.hm-panel{position:absolute;left:0;right:0;top:100%;z-index:2;background:var(--hm-paper);border-top:1px solid var(--hm-line);box-shadow:0 22px 34px #242a3214;max-height:calc(100dvh - 120px);overflow-y:auto;animation:hm-reveal .23s ease both}
.hm-panel-inner{max-width:1440px;margin:auto;padding:22px 48px 0;display:grid;grid-template-columns:235px minmax(0,1fr);gap:0 40px}
.hm-panel-intro{position:relative;min-height:0;padding-right:10px}
.hmerge .hm-eyebrow{margin:0 0 12px;color:var(--hm-red);font-size:9px;font-weight:600;letter-spacing:.12em;line-height:1.5}
.hmerge .hm-panel-intro h2{margin:0 0 12px;padding:0;background:none;border:0;color:var(--hm-ink);font-size:21px;line-height:1.6;font-weight:600;letter-spacing:.02em;box-shadow:none}
.hm-panel-intro h2:before,.hm-panel-intro h2:after{display:none!important}
.hmerge .hm-intro-description{margin:0;font-size:12px;line-height:1.9;color:var(--hm-muted)}
.hm-panel-brand{display:block;width:36px;height:36px;opacity:.16;margin-top:12px}
.hm-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hmerge .hm-service-card{position:relative;display:flex;align-items:center;gap:14px;min-height:112px;padding:10px 22px 10px 14px;background:#fff;border:1px solid #e9e6e4;border-radius:5px;transition:transform .2s,border-color .2s,box-shadow .2s;color:var(--hm-ink)}
.hmerge .hm-service-card:hover{transform:translateY(-3px);border-color:#d8b0b6;box-shadow:0 7px 16px #382b2b09}
.hm-card-image{flex:0 0 60px;display:block;align-self:center}
.hm-card-image img{display:block;width:60px;height:68px;object-fit:contain}
.hm-card-copy{display:block;min-width:0;align-self:center}
.hm-card-kicker{display:block;font-size:9px;line-height:1;letter-spacing:.05em;color:#b67a83;margin-bottom:6px}
.hm-card-title{display:block;font-size:14px;line-height:1.65;font-weight:600;letter-spacing:.005em}
.hm-card-caption{display:block;font-size:10px;line-height:1.6;color:#777b7e;margin-top:6px}
.hm-service-card>.hm-arrow{position:absolute;right:8px;top:12px;color:var(--hm-red);width:15px;height:15px;opacity:.65}
.hmerge .hm-panel-footer{grid-column:1/-1;display:flex;align-items:center;gap:24px;margin-top:16px;border-top:1px solid #e0dcda;padding:13px 0 14px;font-size:11px;line-height:1.7}
.hm-panel-footer>span{color:var(--hm-muted);font-size:10px}
.hm-panel-footer a{display:flex;align-items:center;gap:11px;color:var(--hm-red);font-weight:600}
.hm-panel-footer .hm-arrow{width:18px;height:18px}
.hm-panel-footer .hm-faq-link{margin-left:auto;color:#65696c;font-weight:400}
.hm-card-grid--services .hm-card-title{font-size:14px}
.hm-card-grid--services .hm-card-image{flex-basis:60px}
.hm-card-grid--services .hm-card-image img{width:60px}
.hm-card-grid--services .hm-card-kicker{font-size:8px}
.hm-about-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;align-content:start}
.hm-about-links a{display:flex;align-items:center;gap:16px;min-height:86px;border-bottom:1px solid #dedbd9}
.hm-about-number{font-size:10px;color:#ad7b82;align-self:flex-start;padding-top:23px}
.hm-about-links strong{display:block;font-size:14px;font-weight:600;line-height:1.6}
.hm-about-links small{display:block;font-size:10px;color:var(--hm-muted);margin-top:8px;line-height:1.5}
.hm-about-links .hm-arrow{margin-left:auto;width:19px;color:var(--hm-red)}
.hm-about-links a:hover strong{color:var(--hm-red)}
.hm-backdrop{position:fixed;top:var(--hm-bottom,108px);left:0;right:0;bottom:0;z-index:0;background:#25272d28;backdrop-filter:blur(2px);border:0;padding:0;cursor:default!important;animation:hm-fade .2s ease both}
.hm-top,.hm-navigation{isolation:isolate}
.hm-toggle{display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:none;padding:6px 0;width:42px;min-height:44px;flex:none}
.hm-toggle-lines{position:relative;display:block;width:23px;height:12px}
.hm-toggle-lines i{position:absolute;left:0;right:0;top:2px;height:1px;background:#34373c;transition:transform .2s,top .2s}
.hm-toggle-lines i:last-child{top:10px}
.hm-toggle[aria-expanded="true"] i:first-child{top:6px;transform:rotate(45deg)}
.hm-toggle[aria-expanded="true"] i:last-child{top:6px;transform:rotate(-45deg)}
.hm-toggle-label{font-size:7px;line-height:1;letter-spacing:.08em}
.hm-mobile-heading,.hm-mobile-footer{display:none}
body.hm-mobile-open{overflow:hidden}
@media(min-width:1051px){
  .hm-toggle{display:flex;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .22s,transform .3s,visibility .3s}
  .hmerge.is-condensed .hm-toggle,.hmerge.has-open-menu .hm-toggle{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .hm-navigation{height:var(--hm-row-height,46px);overflow:clip;opacity:1;transform:translateY(0);visibility:visible;transition:height .34s cubic-bezier(.22,1,.36,1),opacity .22s ease,transform .34s cubic-bezier(.22,1,.36,1),visibility 0s}
  .has-open-menu .hm-navigation{overflow:visible}
  .hmerge.is-condensed .hm-navigation:not(.is-open):not(:has(.hm-trigger[aria-expanded="true"])){height:0;opacity:0;transform:translateY(-9px);visibility:hidden;pointer-events:none;transition:height .34s cubic-bezier(.22,1,.36,1),opacity .18s ease,transform .34s cubic-bezier(.22,1,.36,1),visibility 0s .34s}
  #hm-about .hm-panel-inner{padding-bottom:28px}
}
/* Keep every line readable throughout the colour-tracing story. */
body[data-sdl-header="hybrid"] .sdl-about__line-mask{overflow:visible}
body[data-sdl-header="hybrid"] .sdl-about__message{width:min(740px,66vw)}
body[data-sdl-header="hybrid"] .sdl-about__letter{margin-left:6%}
body[data-sdl-header="hybrid"] #top-main .sdl-about.is-pinned-story .sdl-about__statement{font-size:clamp(36px,min(4.6vw,6.2svh),56px);line-height:1.45}
@media(max-width:540px){
  body[data-sdl-header="hybrid"] .sdl-about__message{width:100%}
  body[data-sdl-header="hybrid"] .sdl-about__letter{margin-left:0}
  body[data-sdl-header="hybrid"] .sdl-about__inner{padding-inline:24px}
  body[data-sdl-header="hybrid"] #top-main .sdl-about__statement{font-size:clamp(30px,8.2vw,42px);line-height:1.45}
}
@keyframes hm-reveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@keyframes hm-fade{from{opacity:0}to{opacity:1}}
@media(max-width:1250px){.hm-top{padding-left:32px;padding-right:32px;gap:24px}.hm-brand-line{display:none}.hm-nav{padding-inline:32px}.hmerge .hm-nav-list{gap:14px}.hmerge .hm-nav-list>li.hm-challenge-item{margin-right:15px!important}.hmerge .hm-trigger,.hmerge .hm-direct{font-size:13px}.hm-panel-inner{grid-template-columns:210px minmax(0,1fr);gap:0 27px;padding:22px 32px 0}.hmerge .hm-panel-intro h2{font-size:21px}.hmerge .hm-service-card{padding-left:9px;padding-right:18px;gap:9px;min-height:112px}.hm-card-image{flex-basis:50px}.hm-card-image img{width:50px;height:64px}.hm-card-title{font-size:13px}.hm-card-caption{font-size:10px}.hm-card-grid{gap:9px}.hm-card-grid--services .hm-card-image{flex-basis:38px}.hm-card-grid--services .hm-card-image img{width:38px}.hm-card-grid--services .hm-card-title{font-size:13px}}
@media(max-width:1050px){
  body[data-sdl-header="hybrid"]{--hm-expanded-height:65px;--hm-compact-height:65px;--hm-content-offset:65px}
  .hm-top{padding:10px 24px;gap:14px;min-height:64px}
  .hmerge .hm-logo{flex:0 1 205px;margin-right:auto}
  .hm-utility{display:none}
  .hmerge .hm-consult{min-height:42px;font-size:12px;padding:6px 7px 6px 15px;gap:17px}
  .hm-cta-icon{width:27px;height:27px}.hm-cta-icon .hm-arrow{width:17px;height:17px}
  .hm-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:none;padding:6px 0;width:42px;min-height:44px;flex:none}
  .hm-toggle-lines{position:relative;display:block;width:23px;height:12px}
  .hm-toggle-lines i{position:absolute;left:0;right:0;top:2px;height:1px;background:#34373c;transition:transform .2s,top .2s}
  .hm-toggle-lines i:last-child{top:10px}
  .hm-toggle[aria-expanded="true"] i:first-child{top:6px;transform:rotate(45deg)}
  .hm-toggle[aria-expanded="true"] i:last-child{top:6px;transform:rotate(-45deg)}
  .hm-toggle-label{font-size:7px;line-height:1;letter-spacing:.08em}
  .hm-navigation{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain;background:#fff;padding:9px 24px 30px;border-top:1px solid var(--hm-line);box-shadow:0 12px 20px #242a3214;animation:hm-reveal .2s ease both}
  .hm-navigation.is-open{display:block}
  .hm-mobile-heading{display:flex;justify-content:space-between;align-items:center;padding:15px 0 20px;border-bottom:1px solid var(--hm-line);font-size:9px;letter-spacing:.14em;color:#9b777d}
  .hm-mobile-heading small{font-size:9px;letter-spacing:0;color:#777}
  .hm-nav{padding:0}
  .hmerge .hm-nav-list{display:block;border:0;min-height:0}
  .hmerge .hm-nav-list>li.hm-challenge-item{margin:14px 0 0!important}
  .hmerge .hm-trigger,.hmerge .hm-direct{display:flex;justify-content:space-between;width:100%;min-height:58px;height:auto;padding:17px 0;font-size:13px;border-bottom:1px solid var(--hm-line);text-align:left;white-space:normal}
  .hmerge .hm-challenge-trigger{min-height:52px;padding:15px 16px;border:1px solid transparent;border-bottom-color:var(--hm-line);background:transparent;justify-content:flex-start;border-radius:4px}
  .hm-panel{position:static;max-height:none;overflow:visible;background:#fff;border:0;border-radius:0 0 4px 4px;box-shadow:none;animation:hm-reveal .2s ease both}
  .hm-panel-inner{display:block;padding:12px}
  .hm-panel-intro{display:none}
  .hm-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .hmerge .hm-service-card{min-height:112px;gap:12px;padding:13px 20px 13px 12px;border:1px solid #e9e6e4;transform:none}
  .hm-card-image,.hm-card-grid--services .hm-card-image{flex-basis:49px}.hm-card-image img,.hm-card-grid--services .hm-card-image img{width:49px;height:58px}
  .hm-card-kicker{font-size:8px;margin-bottom:7px}.hm-card-title,.hm-card-grid--services .hm-card-title{font-size:12px}.hm-card-caption{font-size:9px;margin-top:6px}
  .hmerge .hm-panel-footer{display:flex;flex-wrap:wrap;gap:9px 16px;margin-top:13px;padding:14px 4px 4px;font-size:10px}
  .hm-panel-footer>span{width:100%;font-size:10px;line-height:1.8}
  .hm-panel-footer .hm-faq-link{margin-left:auto}
  .hm-about-links{grid-template-columns:1fr;gap:0;padding:0 5px}
  .hm-about-links a{min-height:82px;gap:13px}.hm-about-number{padding-top:22px;font-size:9px}.hm-about-links strong{font-size:12px}.hm-about-links small{font-size:9px}
  .hm-mobile-footer{display:block;padding-top:27px}
  .hmerge .hm-mobile-footer p{font-size:10px;margin:0 0 12px;color:#73777b}
  .hmerge .hm-mobile-consult{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-radius:4px;color:#fff;background:var(--hm-red);font-size:13px;font-weight:600;min-height:49px}
  .hm-mobile-footer>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;margin-top:19px}
  .hm-mobile-footer>div a{min-height:42px;display:flex;align-items:center;font-size:10px;color:#676d73}
  .hm-backdrop{backdrop-filter:none;background:#25272d42}
}
@media(max-width:600px){.hm-top{padding:10px 18px;gap:13px;min-height:64px}.hmerge .hm-logo{flex-basis:178px}.hm-navigation{padding:5px 18px 30px;max-height:calc(100dvh - 64px)}.hm-card-grid{grid-template-columns:1fr}.hmerge .hm-service-card{min-height:99px;padding:13px 30px 13px 12px;gap:14px}.hm-card-image,.hm-card-grid--services .hm-card-image{flex-basis:54px}.hm-card-image img,.hm-card-grid--services .hm-card-image img{width:54px;height:60px}.hm-card-title,.hm-card-grid--services .hm-card-title{font-size:12px}.hm-card-caption{font-size:9px}.hm-service-card>.hm-arrow{top:calc(50% - 8px);right:11px;width:16px;height:16px}.hm-card-kicker{margin-bottom:6px}.hm-card-grid--services .hm-card-title{font-size:13px}.hm-panel-footer .hm-faq-link{margin-left:0}.hm-panel-footer a{min-height:35px}.hm-panel-inner{padding:10px}.hm-panel-footer .hm-arrow{width:16px}.hmerge .hm-consult{gap:9px;padding-left:13px}.hm-toggle{width:36px}.hm-toggle-label{font-size:7px}}
@media(max-width:370px){.hm-top{padding:10px 14px;gap:9px}.hmerge .hm-logo{flex-basis:143px}.hmerge .hm-consult{padding:8px 12px;gap:0;min-height:40px;font-size:11px}.hm-consult .hm-cta-icon{display:none}.hm-toggle{width:34px}.hm-navigation{padding-inline:14px}.hm-panel-inner{padding:8px}.hmerge .hm-service-card{padding-left:9px;gap:11px}.hm-card-image,.hm-card-grid--services .hm-card-image{flex-basis:43px}.hm-card-image img,.hm-card-grid--services .hm-card-image img{width:43px;height:52px}}
@media(prefers-reduced-motion:reduce){.hmerge *{animation:none!important;transition:none!important}}

/* Shared placement for the standalone pages as well as the homepage. */
body[data-sdl-header="hybrid"] .sdl-header-frame{position:sticky;top:0;z-index:10000;min-height:var(--hm-expanded-height);background:transparent;pointer-events:none}
html:has(body[data-sdl-header="hybrid"]){scroll-padding-top:0}
body[data-sdl-header="hybrid"] main[id],body[data-sdl-header="hybrid"] main [id]{scroll-margin-top:calc(var(--hm-compact-height) + 20px)!important}
body[data-sdl-header="hybrid"] .journal-toc,body[data-sdl-header="hybrid"] .case-toc>nav,body[data-sdl-header="hybrid"] .faq-sidebar,body[data-sdl-header="hybrid"] .hcm-section-intro,body[data-sdl-header="hybrid"] .case-voice-tools{top:calc(var(--hm-compact-height) + 24px)}
/* The simple error page has broad directory styles; isolate its shared menu. */
body.review-directory[data-sdl-header] .hmerge section{margin-top:0}
body.review-directory[data-sdl-header] .hmerge .hm-direct{background:none}
body.review-directory[data-sdl-header] .hmerge .hm-direct>span{color:inherit}
body.review-directory[data-sdl-header] .hmerge .hm-about-links a{justify-content:initial;gap:16px;height:auto;padding:0;border:0;border-bottom:1px solid #dedbd9;border-radius:0;background:none;color:var(--hm-ink)}
body.review-directory[data-sdl-header] .hmerge .hm-service-card:hover{background:#fff}
