/* One responsive layer, scoped to the public website. 2026-11-08 */
body.hhrl-responsive {
  --hhrl-gutter: clamp(18px, 4vw, 48px);
  --hhrl-space: clamp(48px, 6vw, 88px);
  --hhrl-ink: #1d1d1f;
  --hhrl-muted: #626870;
  --hhrl-blue: #0071e3;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body.hhrl-responsive #content *, body.hhrl-responsive #masthead * { box-sizing: border-box; }
body.hhrl-responsive #content :is(p,li,h1,h2,h3,h4,h5,h6,a,button,label) { overflow-wrap: break-word; }
body.hhrl-responsive #content :is(img,video,iframe) { max-width: 100%; }
body.hhrl-responsive #content img { height: auto; }
body.hhrl-responsive #content :is(input,select,textarea) { max-width: 100%; min-width: 0; }
body.hhrl-responsive #content :is(.e-con,.e-con-inner,.elementor-widget,.elementor-column) { min-width: 0; }
body.hhrl-responsive #content [id] { scroll-margin-top: 108px; }
body.hhrl-responsive #content :is(.hh-shell,.hhr-shell,.hhmi-shell,.hhc-shell) {
  width: min(1180px, calc(100% - var(--hhrl-gutter) * 2)) !important;
  max-width: 1180px; margin-inline: auto;
}
body.hhrl-responsive :is(.hh-services,.ha-services,.ha-stats,.ha-methods,.hh-story,.hh-flow,.hhc-hero-grid,.hhmi-hero-grid,.hhc-product-grid,.hhmi-method-grid,.hhmi-map,.hhr-report-grid,.hhm-grid,.hf-hero,.hf-history) > * { min-width: 0; }
body.hhrl-responsive #masthead { padding: 12px max(12px, env(safe-area-inset-left)) 0; }
body.hhrl-responsive #masthead .ast-primary-header-bar .ast-container { width: min(1240px,100%); margin-inline: auto; }
body.hhrl-responsive #masthead .site-logo-img { flex: 0 0 auto; }
body.hhrl-responsive #masthead .menu-link { text-decoration: none; }
@media (max-width:1279px) {
  body.hhrl-responsive #ast-desktop-header { display: none !important; }
  body.hhrl-responsive #ast-mobile-header { display: block !important; }
  body.hhrl-responsive #masthead .ast-mobile-header-wrap .ast-primary-header-bar { display: block !important; }
  body.hhrl-responsive #masthead .ast-builder-grid-row { grid-template-columns: minmax(0,1fr) auto; }
  body.hhrl-responsive #masthead .site-header-section { min-width: 0; min-height: 62px !important; }
  body.hhrl-responsive #masthead .custom-logo-link img { width: 132px !important; max-width: 132px !important; height: auto !important; }
  body.hhrl-responsive #masthead .menu-toggle { min-width: 46px; min-height: 46px; }
  body.hhrl-responsive #masthead .ast-mobile-header-content {
    max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain;
    margin-top: 8px; padding: 10px; border-radius: 20px; background: #fff;
    box-shadow: 0 16px 48px #152b4d1a;
  }
  body.hhrl-responsive #masthead .ast-mobile-header-content .main-header-menu { display: block; }
  body.hhrl-responsive #masthead .ast-mobile-header-content .menu-link {
    min-height: 46px; padding: 12px 16px !important; white-space: normal; line-height: 1.5;
    font-size: 15px !important; border-radius: 10px;
  }
  body.hhrl-responsive #masthead .ast-mobile-header-content .hhm-member-link { margin: 8px 0; }
}
/* Academy: actual semantic markup, independent of missing Elementor containers. */
body.hhrl-responsive.page-id-143 #content > .ast-container,
body.hhrl-responsive.page-id-143 #primary,
body.hhrl-responsive.page-id-143 #post-143 { width:100%; max-width:none; padding:0; margin:0; }
body.hhrl-responsive.page-id-143 #post-143 > .entry-content { width:100%; max-width:none; margin:0; }
body.hhrl-responsive .hhrl-academy { color:var(--hhrl-ink); font-size:17px; line-height:1.85; }
body.hhrl-responsive .hhrl-shell { width:min(1120px,calc(100% - var(--hhrl-gutter) * 2)); margin-inline:auto; }
body.hhrl-responsive .hhrl-academy-hero {
  padding:clamp(64px,8vw,112px) 0 clamp(48px,6vw,80px);
  background:radial-gradient(ellipse at 88% 12%,#dfebff 0,transparent 55%),linear-gradient(135deg,#f9fbff,#f1f5fb);
  border-bottom:1px solid #e5eaf2;
}
body.hhrl-responsive .hhrl-academy :is(h1,h2,h3,p,figure) { margin:0; }
body.hhrl-responsive .hhrl-eyebrow { color:var(--hhrl-blue); font-size:12px; line-height:1.6; font-weight:700; letter-spacing:.12em; margin-bottom:18px; }
body.hhrl-responsive .hhrl-academy h1 { font-size:clamp(36px,5.5vw,68px); line-height:1.16; font-weight:700; letter-spacing:-.045em; }
body.hhrl-responsive .hhrl-academy .hhrl-lead { max-width:760px; margin-top:26px; color:#515b69; font-size:clamp(17px,1.7vw,20px); line-height:1.9; }
body.hhrl-responsive .hhrl-section-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
body.hhrl-responsive .hhrl-section-nav a { display:inline-flex; align-items:center; min-height:44px; padding:8px 18px; border:1px solid #d5e1f2; background:#fff9; color:#0065c9; border-radius:999px; text-decoration:none; font-size:14px; }
body.hhrl-responsive .hhrl-section-nav a:hover { background:#0071e3; color:white; }
body.hhrl-responsive .hhrl-section { padding-block:var(--hhrl-space); border-bottom:1px solid #e7ebf0; }
body.hhrl-responsive .hhrl-section > h2 { margin-bottom:32px; font-size:clamp(27px,3.2vw,40px); line-height:1.3; letter-spacing:-.035em; }
body.hhrl-responsive .hhrl-profile { display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); align-items:start; gap:clamp(28px,5vw,64px); }
body.hhrl-responsive .hhrl-profile > * { min-width:0; }
body.hhrl-responsive .hhrl-portrait img { display:block; width:100%; max-width:360px; border-radius:24px; }
body.hhrl-responsive .hhrl-bio h3 { font-size:clamp(28px,3vw,36px); line-height:1.3; margin-bottom:14px; }
body.hhrl-responsive .hhrl-bio p + p { margin-top:16px; }
body.hhrl-responsive .hhrl-bio p:first-of-type { color:var(--hhrl-blue); font-weight:600; }
body.hhrl-responsive .hhrl-quote { margin-top:40px; padding:clamp(24px,4vw,44px); border:1px solid #dbe5f5; border-radius:24px; background:#f5f8fd; }
body.hhrl-responsive .hhrl-quote h3 { margin:12px 0 18px; font-size:clamp(22px,2.5vw,30px); line-height:1.55; }
body.hhrl-responsive .hhrl-quote > p:last-child { color:#525b67; }
body.hhrl-responsive .hhrl-experience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
body.hhrl-responsive .hhrl-experience-card { padding:clamp(22px,3vw,32px); border:1px solid #e4e8ef; border-radius:22px; background:#fafbfd; }
body.hhrl-responsive .hhrl-experience-card h3 { margin-bottom:18px; font-size:21px; line-height:1.6; }
body.hhrl-responsive .hhrl-experience-card p { color:#545d69; font-size:16px; }
body.hhrl-responsive .hhrl-experience-card p + p { margin-top:14px; }
body.hhrl-responsive .hhrl-book-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
body.hhrl-responsive .hhrl-book { display:flex; align-items:center; justify-content:center; padding:22px; background:#f5f6f8; border:1px solid #e7ebf0; border-radius:20px; min-width:0; }
body.hhrl-responsive .hhrl-book img { display:block; width:auto; max-width:100%; height:230px !important; object-fit:contain; border-radius:0 !important; box-shadow:none !important; }
body.hhrl-responsive .hhrl-certificate-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
body.hhrl-responsive .hhrl-certificate { min-width:0; padding:16px; border:1px solid #e1e7ef; border-radius:20px; background:#fafbfd; }
body.hhrl-responsive .hhrl-certificate img { display:block; width:100%; height:auto; aspect-ratio:1.45; object-fit:contain; border-radius:6px !important; box-shadow:none !important; }
body.hhrl-responsive .hhrl-certificate figcaption { margin-top:12px; color:#545d69; text-align:center; font-size:14px; }
body.hhrl-responsive .hhrl-certificate-note { color:#697380; font-size:14px; margin-top:20px; }
body.hhrl-responsive .hhrl-academy .hhrl-honors-count { color:#626870; margin:-16px 0 28px; font-size:15px; }
body.hhrl-responsive .hhrl-honor-feature { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:clamp(24px,4vw,48px); align-items:center; padding:clamp(22px,4vw,36px); margin-bottom:28px; border:1px solid #dce5f1; border-radius:24px; background:#f5f8fd; }
body.hhrl-responsive .hhrl-honor-feature > * { min-width:0; }
body.hhrl-responsive .hhrl-honor-picture img { display:block; width:100%; height:320px !important; object-fit:contain; box-shadow:none !important; border-radius:14px !important; }
body.hhrl-responsive .hhrl-honor-copy h3 { font-size:clamp(23px,2.8vw,32px); line-height:1.45; margin:12px 0 18px; }
body.hhrl-responsive .hhrl-honor-description { color:#525d6a; }
body.hhrl-responsive .hhrl-honor-copy .hhrl-honor-issuer { color:#697380; font-size:14px; margin-top:16px; }
body.hhrl-responsive .hhrl-original-image { display:block; border-radius:12px; }
body.hhrl-responsive .hhrl-original-image:focus-visible { outline:3px solid #0071e3; outline-offset:4px; }
/* Shared page shells: avoid nested gutters and fixed-width children. */
body.hhrl-responsive:is(.page-id-324,.page-id-395,.page-id-397,.page-id-394) #content > .ast-container { width:100%; max-width:none; padding:0 !important; }
body.hhrl-responsive:is(.page-id-324,.page-id-395,.page-id-397,.page-id-394) #primary { width:100%; margin:0; }
body.hhrl-responsive:is(.page-id-324,.page-id-395,.page-id-397,.page-id-394) #content .entry-content { width:100%; max-width:none; margin:0; }
body.hhrl-responsive #content .hhr-archive { padding-inline:0 !important; }
body.hhrl-responsive:is(.page-id-68,.page-id-70,.page-id-383,.page-id-372) #content > .ast-container { max-width:100%; padding-inline:0; }
body.hhrl-responsive:is(.page-id-68,.page-id-70,.page-id-383,.page-id-372) #primary { margin:0; width:100%; }
body.hhrl-responsive:is(.page-id-68,.page-id-70,.page-id-383,.page-id-372) #content .entry-content { width:min(1180px,calc(100% - var(--hhrl-gutter) * 2)); max-width:none; margin-inline:auto; }
body.hhrl-responsive.page-id-372 #content .entry-content { display:block; }
body.hhrl-responsive.page-id-70 #content .hf-page { padding-inline:0; max-width:100%; }
body.hhrl-responsive.page-id-68 .ha-methods { grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); }
body.hhrl-responsive #content :is(.hhc-hero h1 span,.hhmi-hero h1 span) { white-space:normal; }
/* Theme heading colors must not override text on dark panels. */
body.hhrl-responsive #content :is(.hhc-path,.hhc-closing,.hhc-module.is-dark,.hhc-module.is-blue,.hhmi-principles,.hhmi-method-dark,.hhmi-note) :is(h2,h3,h4) { color:#fff; }
body.hhrl-responsive #content .hhc-section-head-light h2 { color:#fff; }
body.hhrl-responsive #content :is(.hhc-tabs,.hhc-product-tabs,.hhmi-hero-actions,.hhc-hero-actions,.hh-actions,.hhi-tabs) { flex-wrap:wrap; }
body.hhrl-responsive #content :is(.hhc-button,.hhmi-button,.hh-btn,.hhm-button) { max-width:100%; white-space:normal; text-align:center; min-height:44px; }
body.hhrl-responsive.page-id-394 #content .hhm-shell { width:min(1080px,calc(100% - var(--hhrl-gutter) * 2)); margin-inline:auto; }
body.hhrl-responsive.page-id-232 #content .entry-content { width:min(800px,calc(100% - var(--hhrl-gutter) * 2)); margin:48px auto 80px; }
body.hhrl-responsive.page-id-232 #content > .ast-container { max-width:none; padding-inline:0; }
body.hhrl-responsive.page-id-232 #primary { margin:0; }
/* Collapse hero compositions while each column still has a readable width. */
@media(max-width:1100px) {
  body.hhrl-responsive.page-id-230 .hh-hero { min-height:0; padding:72px var(--hhrl-gutter) 56px !important; grid-template-columns:minmax(0,1fr) !important; text-align:center !important; }
  body.hhrl-responsive.page-id-230 .hh-hero > * { grid-column:1 !important; }
  body.hhrl-responsive.page-id-230 .hh-hero > .hh-actions { justify-content:center !important; padding-left:0; }
  body.hhrl-responsive.page-id-230 .hh-hero .hh-intro { max-width:680px; margin-inline:auto; }
  body.hhrl-responsive.page-id-230 .hh-visual { grid-row:auto; height:460px !important; max-width:600px; margin:24px auto 0 !important; }
  body.hhrl-responsive #content :is(.hhc-hero-grid,.hhmi-hero-grid,.hhmi-principles-grid,.hhmi-method-grid,.hf-hero,.hf-honor) { grid-template-columns:minmax(0,1fr); gap:32px; }
  body.hhrl-responsive #content :is(.hhc-hero-visual,.hhmi-hero-visual) { width:min(100%,540px); margin-inline:auto; }
}
@media(max-width:900px) {
  body.hhrl-responsive .hhrl-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.hhrl-responsive .hhrl-certificate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.hhrl-responsive #content :is(.hhc-product-grid,.hhc-module-grid,.hhc-audience-grid,.hhc-path-grid,.hhmi-map) { grid-template-columns:minmax(0,1fr); }
  body.hhrl-responsive #content .hhc-product-card-wide { grid-column:auto; }
}
@media(max-width:767px) {
  body.hhrl-responsive.page-id-383 #content .e-parent { padding-inline:0 !important; }
  body.hhrl-responsive.page-id-383 #content .hc-culture { padding-inline:0; }
  body.hhrl-responsive #content :is(.hhc-product-card,.hhmi-panel,.hhmi-use) { padding-inline:22px; }
  body.hhrl-responsive #content :is(.hhc-shell,.hhmi-shell,.hhr-shell,.hh-shell) { width:calc(100% - var(--hhrl-gutter) * 2) !important; }
  body.hhrl-responsive .hhrl-profile, body.hhrl-responsive .hhrl-experience-grid { grid-template-columns:minmax(0,1fr); }
  body.hhrl-responsive .hhrl-honor-feature { grid-template-columns:minmax(0,1fr); }
  body.hhrl-responsive .hhrl-honor-picture img { height:280px !important; }
  body.hhrl-responsive .hhrl-portrait img { width:min(100%,300px); margin-inline:auto; }
  body.hhrl-responsive .hhrl-academy { font-size:16px; line-height:1.85; }
  body.hhrl-responsive .hhrl-section > h2 { margin-bottom:24px; }
  body.hhrl-responsive .hhrl-book-grid { gap:12px; }
  body.hhrl-responsive .hhrl-book { padding:14px; border-radius:16px; }
  body.hhrl-responsive .hhrl-book img { height:clamp(150px,41vw,230px) !important; }
  body.hhrl-responsive.page-id-230 .hh-hero > h1 { font-size:clamp(34px,9vw,56px) !important; line-height:1.18 !important; }
  body.hhrl-responsive.page-id-230 .hh-hero > h1 span { white-space:normal; }
  body.hhrl-responsive.page-id-230 #content :is(.hh-section h2,.hh-faq h2,.hh-story h2) { font-size:clamp(29px,7.5vw,38px) !important; line-height:1.32 !important; text-wrap:balance; }
  body.hhrl-responsive.page-id-230 #content :is(.hh-band h2,.hh-methodology h2,.hh-last h2) { font-size:clamp(29px,8vw,43px) !important; line-height:1.3 !important; }
  body.hhrl-responsive.page-id-230 #content :is(.hh-card,.hh-quote,.hh-last) { min-height:0 !important; padding:28px 22px !important; }
  body.hhrl-responsive.page-id-230 #content :is(.hh-section,.hh-band,.hh-methodology) { padding-block:56px !important; }
  body.hhrl-responsive.page-id-230 #content :is(.hhr-feature,.hhr-news,.hhr-clients) { width:calc(100% - var(--hhrl-gutter) * 2) !important; padding-block:48px !important; }
  body.hhrl-responsive.page-id-230 #content .hh-last { width:calc(100% - var(--hhrl-gutter) * 2); }
  body.hhrl-responsive #content :is(.hhc-hero h1,.hhmi-hero h1,.hhm-hero h1,.hf-hero h1) { font-size:clamp(32px,9vw,48px) !important; line-height:1.2 !important; }
  body.hhrl-responsive #content :is(.hhc-hero,.hhmi-hero) { padding-block:64px 48px; }
  body.hhrl-responsive #content :is(.hhc-hero-visual,.hhmi-hero-visual) { max-width:100%; overflow:hidden; }
  body.hhrl-responsive #content :is(.hhc-tabs button,.hhc-product-tabs button,.hhi-tab) { white-space:normal; min-height:44px; }
  body.hhrl-responsive #content .hhr-report-grid { grid-template-columns:minmax(0,1fr) !important; }
  body.hhrl-responsive #content .hf-honor { padding:24px 20px; }
  body.hhrl-responsive #content .ha-services { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:540px) {
  body.hhrl-responsive #content :is(.hhmi-flow-aibs > div,.hhmi-landing) { padding-inline:20px; }
  body.hhrl-responsive #content .hhc-product-card dl { grid-template-columns:minmax(0,1fr); }
  body.hhrl-responsive .hhrl-certificate-grid { grid-template-columns:minmax(0,1fr); }
  body.hhrl-responsive #content :is(.hhmi-panels,.hhmi-maturity-list,.hf-history,.hf-roles,.hf-video-grid) { grid-template-columns:minmax(0,1fr); }
  body.hhrl-responsive #content .hhw-card { grid-template-columns:minmax(0,1fr); }
}
@media(prefers-reduced-motion:reduce) {
  body.hhrl-responsive *,body.hhrl-responsive *::before,body.hhrl-responsive *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
