@import url('./public-interface-tokens.css');

/* A shared shell without changing the homepage, about page, or method details. */
@view-transition { navigation: auto; }
body.hemu-public-2026 { color: var(--pi-ink); -webkit-font-smoothing: antialiased; }
body.hemu-public-2026 .site-header.site-header.site-header {
  border-bottom: 1px solid var(--pi-line) !important;
  background: color-mix(in srgb, var(--pi-surface) 91%, transparent) !important;
  backdrop-filter: blur(22px) saturate(135%);
  -webkit-backdrop-filter: blur(22px) saturate(135%);
}
/* Keep primary-nav text and underline geometry in the shared site stylesheet. */
/* The catalogue reserves a scrollbar gutter; the fixed header follows the viewport. */
html:has(#main[data-soil-methods="catalogue"]) body.hemu-public-2026 .site-header.site-header.site-header {
  width: 100vw !important;
}
body.hemu-public-2026 .site-header .header-contact {
  background: var(--pi-accent-strong) !important;
  border-color: var(--pi-accent-strong) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgb(65 85 152 / 16%);
}
body.hemu-public-2026 .site-header .header-contact:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgb(65 85 152 / 22%); }
body.hemu-public-2026 .site-scroll-progress i { background: var(--pi-accent-strong); }
body.hemu-public-2026 :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--pi-focus) !important;
  outline-offset: 3px;
}
body.hemu-public-2026 :is(input,select,textarea) { accent-color: var(--pi-accent-strong); }
body.hemu-public-2026 main :is(section,article,nav)[id] { scroll-margin-top: calc(var(--site-header-height, 72px) + 24px); }
body.hemu-public-2026 main h1 { text-wrap: balance; opacity: 1 !important; }
body.hemu-public-2026 main h2 { text-wrap: balance; }
body.hemu-public-2026 main :is(.portal-kicker,.gateway-eyebrow,.coop-eyebrow,.exp-kicker,.service-eyebrow) { letter-spacing: .09em; }

/* The entrance keeps content readable at every frame; only position and finish move. */
body.hemu-public-2026.pi-start main > :first-child { opacity: .94; transform: translateY(12px); }
body.hemu-public-2026.pi-entered main > :first-child { opacity: 1; transform: translateY(0); transition: transform .68s var(--pi-ease), opacity .5s ease; }
body.hemu-public-2026::after {
  content: ""; position: fixed; z-index: 120; top: var(--site-header-height, 72px); left: 0;
  height: 2px; width: 100%; pointer-events: none;
  background: linear-gradient(90deg,transparent 0%,var(--pi-accent) 35%,var(--pi-accent) 65%,transparent 100%);
  transform: scaleX(0); transform-origin: left; opacity: 0;
}
body.hemu-public-2026.pi-entered::after { animation: pi-arrive .72s var(--pi-ease) both; }
@keyframes pi-arrive { 0%{opacity:.6;transform:scaleX(0)} 65%{opacity:.8;transform:scaleX(1)} 100%{opacity:0;transform:scaleX(1)} }
::view-transition-old(root) { animation: pi-out .22s ease both; }
::view-transition-new(root) { animation: pi-in .32s var(--pi-ease) both; }
@keyframes pi-out { to { opacity: .72; transform: translateY(-8px); } }
@keyframes pi-in { from { opacity: .78; transform: translateY(10px); } }

/* Four public gateways: one reading rail and aligned beginnings, distinct task layouts. */
body.hemu-public-2026.portal-resources-page .rs-home-hero,
body.hemu-public-2026.portal-news-page .hemu-portal-masthead.is-news,
body.hemu-public-2026.portal-tools-page .hemu-portal-masthead.is-tools,
body.hemu-public-2026.coop-page-v4 .coop-hero,
body.hemu-public-2026.experience-contact .exp-hero {
  border-bottom: 1px solid var(--pi-line);
}
body.hemu-public-2026.portal-resources-page .rs-home-hero {
  background: radial-gradient(ellipse 40% 55% at 92% 15%, #dce6f7 0%, transparent 100%), var(--pi-canvas) !important;
}
html[data-theme="dark"] body.hemu-public-2026.portal-resources-page .rs-home-hero {
  background: radial-gradient(ellipse 40% 55% at 92% 15%, #27395b 0%, transparent 100%), var(--pi-canvas) !important;
}
body.hemu-public-2026.portal-resources-page .rs-home-hero .rs-hero-copy,
body.hemu-public-2026.portal-news-page .masthead-grid,
body.hemu-public-2026.portal-tools-page .tools-feature,
body.hemu-public-2026.coop-page-v4 .coop-hero-content,
body.hemu-public-2026.experience-contact .exp-hero-content { max-width: 1368px; }
body.hemu-public-2026.portal-resources-page .rs-home-hero h1,
body.hemu-public-2026.portal-news-page .hemu-portal-masthead h1,
body.hemu-public-2026.portal-tools-page .tools-feature h1,
body.hemu-public-2026.coop-page-v4 .coop-hero h1,
body.hemu-public-2026.experience-contact .exp-hero h1 { letter-spacing: -.045em; line-height: 1.12; }
body.hemu-public-2026.portal-resources-page .rs-resource-search,
body.hemu-public-2026.portal-news-page .news-focus-layout,
body.hemu-public-2026.experience-contact .contact-methods {
  box-shadow: var(--pi-shadow);
}
body.hemu-public-2026.portal-resources-page .rs-hero-actions a,
body.hemu-public-2026.portal-news-page .news-channel-nav a,
body.hemu-public-2026.coop-page-v4 .coop-hero-paths a {
  transition: color .2s ease, border-color .2s ease, background .2s ease, transform .32s var(--pi-ease);
}
body.hemu-public-2026.portal-resources-page .rs-hero-actions a:hover,
body.hemu-public-2026.portal-news-page .news-channel-nav a:hover,
body.hemu-public-2026.coop-page-v4 .coop-hero-paths a:hover { transform: translateY(-3px); }
body.hemu-public-2026.portal-resources-page .rs-standard-route {
  display: grid; grid-template-columns: minmax(145px, .38fr) minmax(0, 1fr) auto;
  align-items: center; gap: clamp(18px, 3vw, 52px); margin-top: 22px;
  padding: clamp(26px, 3vw, 42px); border: 1px solid #b9c6e7; border-radius: 18px;
  color: #f7f9ff; text-decoration: none; overflow: hidden;
  background: radial-gradient(circle at 88% -10%, #7185cb 0%, transparent 34%), linear-gradient(120deg,#263a69,#344e89 73%,#425f9f);
  transition: transform .35s var(--pi-ease), box-shadow .35s var(--pi-ease);
}
body.hemu-public-2026.portal-resources-page .rs-standard-route:hover { transform: translateY(-4px); box-shadow: 0 22px 36px rgb(38 58 105 / 22%); }
body.hemu-public-2026.portal-resources-page .rs-standard-route-index { align-self: start; color: #c8d5ff; font: 700 12px/1.6 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; }
body.hemu-public-2026.portal-resources-page .rs-standard-route-copy { display: grid; gap: 10px; }
body.hemu-public-2026.portal-resources-page .rs-standard-route-copy strong { font-size: clamp(23px, 2.4vw, 34px); line-height: 1.3; letter-spacing: -.03em; }
body.hemu-public-2026.portal-resources-page .rs-standard-route-copy small { color: #d7e1ff; font-size: 14px; line-height: 1.7; }
body.hemu-public-2026.portal-resources-page .rs-standard-route-action { white-space: nowrap; padding: 13px 17px; border: 1px solid #ffffff78; border-radius: 100px; font-size: 13px; font-weight: 700; }
body.hemu-public-2026.portal-resources-page .rs-standard-route-action b { padding-left: 14px; font-weight: 500; }

/* Tool centre: a practical product surface, with continuous live preview. */
body.hemu-public-2026.portal-tools-page .hemu-portal-masthead.is-tools {
  background: radial-gradient(ellipse 48% 88% at 71% 34%, #dce8f7 0%, transparent 100%),
              radial-gradient(ellipse 45% 55% at 2% 5%, #eeebfb 0%, transparent 100%),
              var(--pi-canvas) !important;
}
html[data-theme="dark"] body.hemu-public-2026.portal-tools-page .hemu-portal-masthead.is-tools {
  background: radial-gradient(ellipse 48% 88% at 71% 34%, #263c56 0%, transparent 100%),
              radial-gradient(ellipse 45% 55% at 2% 5%, #2b2b4c 0%, transparent 100%),
              var(--pi-canvas) !important;
}
body.hemu-public-2026.portal-tools-page .tools-feature {
  padding-block: clamp(54px, 6vw, 94px) clamp(68px, 8vw, 112px);
  gap: clamp(32px, 4.5vw, 76px);
}
body.hemu-public-2026.portal-tools-page .tools-feature h1 em { color: var(--pi-accent-strong); }
body.hemu-public-2026.portal-tools-page .tools-feature-lead { max-width: 29em; color: var(--pi-muted); }
body.hemu-public-2026.portal-tools-page .tools-feature-primary {
  background: var(--pi-accent-strong) !important; color: #fff !important;
  box-shadow: 0 12px 28px rgb(66 86 154 / 20%);
  transition: transform .3s var(--pi-ease), box-shadow .3s var(--pi-ease);
}
body.hemu-public-2026.portal-tools-page .tools-feature-primary:hover { transform: translateY(-3px); box-shadow: 0 18px 36px rgb(66 86 154 / 25%); }
body.hemu-public-2026.portal-tools-page .tools-feature-stage { filter: drop-shadow(0 30px 45px rgb(24 35 65 / 19%)); }
body.hemu-public-2026.portal-tools-page .tools-feature-window { position: relative; overflow: hidden; border: 1px solid #9eacc4; border-radius: 18px; }
body.hemu-public-2026.portal-tools-page .tools-feature-window [data-tools-stage-image].is-switching { opacity: 1 !important; }
body.hemu-public-2026.portal-tools-page .pi-preview-old { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; object-fit: cover; pointer-events: none; opacity: 1; transition: opacity .42s ease; }
body.hemu-public-2026.portal-tools-page .pi-preview-old.is-done { opacity: 0; }
body.hemu-public-2026.portal-tools-page .tools-feature-tabs [role="tab"] { transition: background .25s ease, color .25s ease, box-shadow .25s ease, transform .25s var(--pi-ease); }
body.hemu-public-2026.portal-tools-page .tools-feature-tabs [role="tab"]:hover { transform: translateY(-2px); }
body.hemu-public-2026.portal-tools-page .tool-task-board { padding-top: clamp(54px, 6vw, 92px); padding-bottom: clamp(72px, 8vw, 112px); }
body.hemu-public-2026.portal-tools-page .tool-task-head { margin-bottom: 30px; }
body.hemu-public-2026.portal-tools-page .tool-task-head h2 { color: var(--pi-ink); font-size: clamp(30px, 3.2vw, 48px); letter-spacing: -.04em; }
body.hemu-public-2026.portal-tools-page .tool-task-card,
body.hemu-public-2026.portal-tools-page .tool-task-secondary a {
  transition: transform .36s var(--pi-ease), box-shadow .36s var(--pi-ease), border-color .25s ease;
}
body.hemu-public-2026.portal-tools-page .tool-task-card:hover,
body.hemu-public-2026.portal-tools-page .tool-task-secondary a:hover {
  transform: translateY(-5px); box-shadow: var(--pi-shadow); border-color: var(--pi-accent);
}
body.hemu-public-2026.portal-tools-page .tools-specialist {
  margin: 0 auto clamp(84px, 9vw, 130px); padding: clamp(30px, 4.5vw, 64px);
  border: 1px solid #30476e; border-radius: 24px; color: #f4f7ff;
  background: radial-gradient(ellipse 52% 80% at 98% 2%, #354f7d, transparent),#1c2b45;
  box-shadow: 0 25px 60px rgb(26 43 73 / 18%);
}
body.hemu-public-2026.portal-tools-page .tools-specialist-heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 28px; align-items: end; padding-bottom: 35px; border-bottom: 1px solid #ffffff32; }
body.hemu-public-2026.portal-tools-page .tools-specialist-heading p { grid-column: 1 / -1; margin: 0; color: #afc4f6; font-size: 12px; font-weight: 800; letter-spacing: .18em; }
body.hemu-public-2026.portal-tools-page .tools-specialist-heading h2 { margin: 0; font-size: clamp(28px, 3vw, 43px); line-height: 1.23; letter-spacing: -.04em; color: inherit; }
body.hemu-public-2026.portal-tools-page .tools-specialist-heading > span { max-width: 16em; color: #bfcce3; font-size: 14px; line-height: 1.7; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: #ffffff32; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a { position: relative; display: grid; align-content: start; gap: 13px; min-height: 205px; padding: 35px clamp(18px, 2vw, 31px); color: inherit; background: #1c2b45; text-decoration: none; transition: background .25s ease; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a:first-child { padding-left: 0; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a:last-child { padding-right: 0; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a:hover { background: #263b5d; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a > span { color: #a6bceb; font: 700 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing: .1em; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a > strong { font-size: clamp(20px, 2vw, 29px); line-height: 1.25; letter-spacing: -.03em; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a > small { max-width: 24em; color: #bbc9df; font-size: 13px; line-height: 1.7; }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a > b { position: absolute; right: 16px; top: 34px; font-size: 20px; font-weight: 400; transition: transform .25s var(--pi-ease); }
body.hemu-public-2026.portal-tools-page .tools-specialist-grid a:hover > b { transform: translate(3px,-3px); }

/* Editorial lists and discoverability. */
body.hemu-public-2026 :is(.news-channel-page,.resource-hub-page) { --rh-accent: var(--pi-accent-strong); }
body.hemu-public-2026.news-channel-page main,
body.hemu-public-2026.resource-hub-page main { background-color: var(--pi-canvas); }
body.hemu-public-2026.news-channel-page .nc-hero,
body.hemu-public-2026.resource-hub-page :is(.ad-index-desk,.sm-hero) { border-bottom: 1px solid var(--pi-line); }
body.hemu-public-2026.news-channel-page .nc-hero h1,
body.hemu-public-2026.resource-hub-page :is(.ad-index-heading h1,.sm-hero h1) { letter-spacing: -.045em; }
body.hemu-public-2026.news-channel-page :is(.rp-command-band,.conference-command,.op-console,.pp-archive-section),
body.hemu-public-2026.resource-hub-page :is(.ad-index-sidebar,.sm-filter-panel) { border-color: var(--pi-line); }
body.hemu-public-2026.news-channel-page :is(.nf-story-card,.conference-card,.op-card),
body.hemu-public-2026.resource-hub-page :is(.ad-paper-record,.sm-card) {
  transition: border-color .24s ease, box-shadow .32s var(--pi-ease), transform .32s var(--pi-ease);
}
body.hemu-public-2026.news-channel-page :is(.nf-story-card,.conference-card,.op-card):hover,
body.hemu-public-2026.resource-hub-page :is(.ad-paper-record,.sm-card):hover {
  border-color: var(--pi-accent); box-shadow: var(--pi-shadow); transform: translateY(-3px);
}
/* Feed records remain readable while their gentle arrival motion runs. */
body.hemu-public-2026.news-channel-page.nc-motion-ready #main .ro-reveal {
  opacity: .94 !important;
  transform: translate3d(0, 5px, 0) !important;
  transition: opacity .32s ease, transform .42s var(--pi-ease), box-shadow .3s ease, border-color .3s ease;
}
body.hemu-public-2026.news-channel-page.nc-motion-ready #main .ro-reveal:is(.is-in-view,:focus-within) {
  opacity: 1 !important;
  transform: none !important;
}

/* Working pages should feel related without sacrificing their dense native controls. */
body.hemu-public-2026:is([data-page="standards"],[data-page="data-analysis"],[data-page="scientific-plotting"]) :is(.standards-command-bar,.tool-workspace,.studio-workspace) { border-color: var(--pi-line); }
body.hemu-public-2026[data-page="standards"] .standards-masthead { border-bottom: 1px solid var(--pi-line); }
body.hemu-public-2026[data-page="standards"] .standards-masthead h1 { letter-spacing: -.04em; }
body.hemu-public-2026[data-page="standards"] .standards-command-bar { box-shadow: var(--pi-shadow); }
body.hemu-public-2026[data-page="standards"] :is(.standards-workbench,.results-panel) { border-color: var(--pi-line); }
body.hemu-public-2026[data-page="tools"][data-tool] main { background: var(--pi-canvas); }
body.hemu-public-2026[data-page="tools"][data-tool] main h1 { letter-spacing: -.04em; }

/* Cooperation chapters and contact share a calm, legible reading tempo. */
body.hemu-public-2026.service-experience-page :is(.service-case-section,.service-section,.service-start),
body.hemu-public-2026.coop-page-v4 :is(.coop-services,.coop-fit,.coop-examples,.coop-process),
body.hemu-public-2026.experience-contact :is(.feedback-template-section,.feedback-workspace) {
  border-top-color: var(--pi-line);
}
body.hemu-public-2026.service-experience-page .exp-local-nav { backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
body.hemu-public-2026.service-experience-page .service-hero h1,
body.hemu-public-2026.experience-contact .exp-hero h1 { letter-spacing: -.045em; }
body.hemu-public-2026.experience-contact :is(.contact-method-card,.feedback-step-card) {
  transition: border-color .25s ease, box-shadow .32s var(--pi-ease), transform .32s var(--pi-ease);
}
body.hemu-public-2026.experience-contact :is(.contact-method-card,.feedback-step-card):hover {
  border-color: var(--pi-accent); box-shadow: var(--pi-shadow); transform: translateY(-2px);
}

@media (max-width: 760px) {
  body.hemu-public-2026.portal-resources-page .rs-home-hero,
  body.hemu-public-2026.portal-news-page .hemu-portal-masthead.is-news,
  body.hemu-public-2026.portal-tools-page .tools-feature,
  body.hemu-public-2026.coop-page-v4 .coop-hero,
  body.hemu-public-2026.experience-contact .exp-hero { border-bottom: 1px solid var(--pi-line); }
  body.hemu-public-2026.news-channel-page .nc-hero { padding-top: 28px; }
  body.hemu-public-2026.news-channel-conferences .nc-hero { padding-top: 14px; }
  body.hemu-public-2026.resources-v3.academic-index-page .ad-index-desk { padding-top: 48px; }
  body.hemu-public-2026.resources-v3.resource-hub-page:not(.academic-index-page) .sm-hero { padding-top: 34px; }
  body.hemu-public-2026.portal-tools-page .tools-feature { padding-bottom: 62px; gap: 34px; }
  body.hemu-public-2026.portal-tools-page .tool-task-board { padding-top: 54px; }
  body.hemu-public-2026.portal-tools-page .tool-task-head { align-items: flex-start; }
  body.hemu-public-2026.portal-tools-page .tools-feature-stage { filter: drop-shadow(0 14px 25px rgb(24 35 65 / 14%)); }
  body.hemu-public-2026.portal-resources-page .rs-standard-route { grid-template-columns: 1fr; gap: 13px; }
  body.hemu-public-2026.portal-resources-page .rs-standard-route-action { justify-self: start; margin-top: 8px; }
  body.hemu-public-2026.portal-tools-page .tools-specialist-heading { grid-template-columns: 1fr; }
  body.hemu-public-2026.portal-tools-page .tools-specialist-heading > span { max-width: none; }
  body.hemu-public-2026.portal-tools-page .tools-specialist-grid { grid-template-columns: 1fr; }
  body.hemu-public-2026.portal-tools-page .tools-specialist-grid a,
  body.hemu-public-2026.portal-tools-page .tools-specialist-grid a:first-child,
  body.hemu-public-2026.portal-tools-page .tools-specialist-grid a:last-child { min-height: 0; padding: 24px 4px; }
  body.hemu-public-2026.portal-tools-page .tools-specialist-grid a > b { top: 23px; }
}
@media (max-width: 520px) {
  body.hemu-public-2026.portal-tools-page .tools-feature { width: var(--pi-rail) !important; padding-top: 54px !important; }
  body.hemu-public-2026.portal-tools-page .tools-feature h1 { font-size: clamp(36px, 10vw, 48px); }
  body.hemu-public-2026.portal-tools-page .tools-feature-tabs { max-width: 100%; }
  body.hemu-public-2026.portal-tools-page .tools-feature-tabs [role="tab"] { min-width: 0; }
  body.hemu-public-2026.portal-tools-page .tools-feature-window { border-radius: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  body.hemu-public-2026.pi-start main > :first-child,
  body.hemu-public-2026.pi-entered main > :first-child { opacity: 1; transform: none; transition: none; }
  body.hemu-public-2026.pi-entered::after { animation: none; }
  body.hemu-public-2026 :is(a,button,summary) { transition-duration: .01ms !important; }
  body.hemu-public-2026.portal-tools-page .pi-preview-old { transition: none; }
}
