/* hrHivora V6 — high-legibility overhaul.
   Consistent type hierarchy, no text filters/scale, fixed-size FAQ, role access. */
:root{
 --readable:#17231d;
 --readable-muted:#29352c;
 --on-dark:#f3f8f0;
 --on-dark-muted:#dfebdf;
}
html body{font-feature-settings:"kern" 1;text-rendering:optimizeLegibility}
body .micro,body .section-serial,body .story-topline,body .scene-overline,body .scene-foot{
 font-weight:690!important;letter-spacing:.003em!important;
}
html body :is(.vacancy,.journey,.product,.people,.honesty,.hero,.belief) :is(.micro,.section-serial,.scene-foot,.job-eyebrow,.roles-closed>p,.role-footnote,.role-bottom small,.product-sidebar p,.product-label small,.mockchat small,.mockfield small,.faq-answer-kicker){
 font-size:14px!important;line-height:1.5!important;
}
html body :is(.vacancy,.journey,.product,.people,.honesty,.hero,.belief) :is(.micro,.section-serial,.scene-foot,.job-eyebrow,.roles-closed>p,.product-sidebar p,.mockchat small,.mockfield small){
 color:var(--readable)!important;
 opacity:1!important;
}
html body .vacancy .vacancy-intro p,html body .belief .belief-under p,
html body .journey .journey-top p,html body .product .product-title-row p,
html body .people .people-heading p,html body .honesty .honesty-intro p{
 color:var(--readable)!important;font-size:17px!important;line-height:1.62!important;opacity:1!important;
}
html body .hero .fineprint{color:var(--readable)!important;font-size:14px!important;line-height:1.5!important}
html body .hero .hero-lede{font-size:17px!important;color:#24362c!important}
html body .belief-left>p{color:var(--readable)!important;font-size:15px!important}
html body .story-plane-top,html body .story-plane-bottom{font-size:14px!important;font-weight:730!important;color:#202f2c!important;letter-spacing:0!important}
html body .story-plane .story-plane-center strong{font-size:clamp(24px,1.75vw,31px)!important;line-height:1.12!important;font-weight:770!important;letter-spacing:-.045em!important;color:#202d2a}
html body .story-plane-four .story-plane-center strong{font-size:clamp(20px,1.54vw,27px)!important}
.story-plane{
 transform-style:flat!important;
 backface-visibility:visible!important;
 contain:none!important;
 will-change:auto!important;
 filter:none!important;
 text-rendering:geometricPrecision;
}
html.motion-enabled .story-plane{contain:none!important;backface-visibility:visible!important;will-change:auto!important}
.story-plane-center i{font-size:54px!important}
.story-plane{width:236px;height:290px;border-radius:15px;box-shadow:0 12px 0 #11122555,13px 23px 29px #1c153f40}
.story-plane .ui-icon{stroke-width:2.1}
.story-phrase{filter:none!important}
.story-phrase h2, .story-phrase h2 *{filter:none!important}
.story-copy h2{font-weight:760!important}
.story-state{font-size:14px!important;letter-spacing:0!important;color:#ecf7ec!important}
.story-topline{font-size:14px!important;letter-spacing:0!important;color:#ecf6ee!important}
.story-phrase>span{font-size:14px!important;color:#e9f6e9!important}
.story-bottomline{grid-template-columns:200px 1fr;gap:22px}
.story-progress{height:7px}
.story-sticky{background:var(--story-bg,#7530c8)}
.story-orbit{opacity:.55}
/* The pixelated copy in the product and final section was caused by parent layer scale/rotate. */
.motion-enabled .product-showcase,
.motion-enabled .product.in-view .product-showcase{
 scale:1!important;rotate:0deg!important;opacity:1!important;transition:box-shadow .32s ease!important
}
.motion-enabled .vacancy .open-role,
.motion-enabled .vacancy.in-view .open-role{scale:1!important;filter:none!important}
.motion-enabled .journey-tab.is-active{animation:none!important}
.motion-enabled .journey-view.visible .scene-art{animation:none!important}
.motion-enabled .hero h1,
.motion-enabled .hero .section-serial,
.motion-enabled .hero .hero-lede,
.motion-enabled .hero .hero-actions,
.motion-enabled .hero .fineprint{
 animation:clear-text-enter .75s cubic-bezier(.18,.8,.2,1) both!important;
 filter:none!important;
}
@keyframes clear-text-enter{from{opacity:.25;translate:0 22px}to{opacity:1;translate:0 0}}
.hero-collage,.hero-phone,.hero-card-yellow,.hero-sticker{backface-visibility:visible!important}
.hero-phone{transform:rotate(-2deg) translateZ(40px)!important;filter:none!important}
html.motion-enabled .hero .hero-phone{animation:sharp-phone-enter .95s cubic-bezier(.18,.8,.2,1) both!important}
@keyframes sharp-phone-enter{from{opacity:.3;translate:0 35px}to{opacity:1;translate:0 0}}
html body .phone-copy strong{font-size:clamp(36px,3.4vw,53px)!important;line-height:1.05!important;color:#17241e!important}
html body .phone-copy p{font-size:16px!important;line-height:1.45!important;color:#22291f!important}
html body .phone-top,html body .phone-step,html body .phone-footer{
 color:#182928!important;font-size:14px!important;font-weight:680!important;letter-spacing:0!important;
}
html body .phone-choice{font-size:16px!important;color:#1b2b2c!important}
html body .hero-ticker{font-size:14px!important}
html body .hero-ticker span{font-size:14px!important;font-weight:690!important;color:#d3f2cf!important}
html body .role-footnote{font-size:14px!important;color:#ebf4e9!important;font-weight:580!important}
html body .open-role .role-bottom small,html body .open-role .job-eyebrow,html body .open-role .open-role-top{
 color:#e9f3eb!important;font-size:15px!important;font-weight:650!important;opacity:1!important;
}
html body .open-role .open-role-top span{font-size:15px!important;color:#e9f3eb!important}
html body .open-role .role-bottom strong{font-size:23px!important;color:#f1f8ed!important}
html body .open-role-title>p{font-size:17px!important;color:#e6f1e8!important;line-height:1.6!important}
html body .role-postit>span{font-size:14px!important;font-weight:700!important;color:#20302b!important}
html body .role-postit>p{font-size:clamp(21px,2vw,27px)!important;color:#26352d!important;line-height:1.38!important;font-weight:660!important}
html body .roles-closed>p span{color:#243328!important}
html body .closed-rows span{font-size:14px!important;color:#28382d!important;opacity:1!important}
/* Stage names always dominate their index in scale and visual weight. */
html body .journey-tab{font-size:19px!important;font-weight:720!important;letter-spacing:-.015em!important;gap:13px;min-height:77px!important}
html body .journey-tab>span{font-size:14px!important;font-weight:600!important;color:#2a372d!important;opacity:1}
html body .journey-tab.is-active>span{color:#f1f6ee!important}
html body .journey .scene-overline,html body .journey .scene-foot{font-size:14px!important;color:#253329!important;opacity:1}
html body .journey-view>p{font-size:17px!important;color:#24332b!important}
html body .product-sidebar>p{font-size:15px!important;color:#eff7eb!important}
html body .product-tab{font-size:18px!important}
html body .product-tab>span{font-size:14px!important;letter-spacing:0!important;font-weight:650!important}
html body .product-label small{font-size:14px!important;color:#fff!important}
html body .product-view>p{font-size:16px!important;color:#1d2921!important}
html body .product-head{font-size:14px!important;color:#273529!important}
html body .product-head span{font-size:14px!important;color:#273529!important}
html body .mockfield small,html body .mockchat small{font-size:14px!important;color:#293830!important}
html body .mockprogress{font-size:14px!important;color:#213426!important}
html body .person-copy>span{font-size:14px!important;color:#213738!important}
html body .people .person-copy blockquote{color:#1c2920!important}
html body .people .people-heading p{font-size:17px!important}
html body .close .micro{font-size:14px!important;color:#ffffff!important;opacity:1}
html body .close-copy>p{font-size:17px!important;color:#fff!important}
html body .close-cta .btn-label{font-size:16px!important}
html body .footer-bottom{font-size:14px!important;color:#eaf4e8!important;opacity:1}
html body .footer-main>div p{font-size:16px!important;color:#e7f0ea!important}
html body .footer-main nav a{font-size:16px!important;color:#eff5ed!important}
.footer-access{display:flex;flex-direction:column;gap:11px;padding:16px 0 0;border-top:1px solid #cde9e340;margin-top:10px}
.footer-access>span{font-size:14px;font-weight:700;color:#d7f2cf}
.footer-access a{font-size:16px!important;min-height:36px;display:flex;align-items:center}
/* Real existing logins, not internal secret-gated /admin/login */
.menu{gap:clamp(11px,1.4vw,23px);align-items:center}
html body .menu a{font-size:16px!important;line-height:1.4!important;font-weight:650!important;color:#1c2c23!important;white-space:nowrap}
.navigation{gap:16px}
.access-menu{position:relative;margin-left:auto;flex:0 0 auto}
.access-menu>summary{display:flex;list-style:none;align-items:center;gap:10px;padding:12px 16px;min-height:48px;border-radius:13px;background:#1d3b44;color:#fff;cursor:pointer;font-size:16px;font-weight:720;white-space:nowrap}
.access-menu>summary::-webkit-details-marker{display:none}
.access-menu>summary .ui-icon{width:20px;height:20px}
.access-menu>summary .ui-icon:last-child{width:15px;height:15px;rotate:90deg;transition:rotate .2s}
.access-menu[open]>summary .ui-icon:last-child{rotate:-90deg}
.access-dropdown{z-index:100;position:absolute;right:0;top:calc(100% + 9px);min-width:245px;background:#f2f7eb;padding:9px;border:1px solid #b4c5b6;border-radius:15px;box-shadow:0 19px 48px #11262930;display:flex;flex-direction:column}
.access-dropdown a{display:flex;align-items:center;gap:12px;min-height:53px;padding:9px 11px;color:#1c2c2e;font-size:15px;font-weight:660;border-radius:9px;white-space:nowrap}
.access-dropdown a:hover,.access-dropdown a:focus-visible{background:#ceeacb}
.access-dropdown a .ui-icon{width:20px;height:20px;color:#5931c3}
.mobile-nav-group{border-top:1px solid #879c8e;margin-top:9px;padding-top:12px;display:flex;flex-direction:column;gap:0}
.mobile-nav-group>span{font-size:14px;font-weight:750;color:#1e3234;padding:9px 13px}
.mobile-nav-group a{font-size:16px!important;color:#19292b!important;min-height:52px!important}
.mobile-nav a{font-size:16px!important;line-height:1.4!important;font-weight:650!important}
/* FAQ: place every answer into a separate fixed-area reading panel.
   The question list itself retains exactly the same height. */
html.faq-ready .honesty-rows details>p{display:none!important}
html body .honesty-rows summary{min-height:82px;padding:15px 0;box-sizing:border-box}
html body .honesty-rows summary>span{font-size:14px!important;color:#192728!important;font-weight:650!important}
html body .honesty-rows summary strong{font-size:19px!important;color:#192728!important;line-height:1.35!important;font-weight:710!important}
html body .honesty-rows summary b{border-color:#1b2a23;color:#162829}
html body .honesty-rows details[open] summary strong{color:#5627be!important}
.honesty-rows details[open]{background:transparent}
.faq-answer-panel{display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;min-height:225px;height:225px;margin:24px 0 0;padding:22px 25px;border:1px solid #6b514644;border-radius:17px;background:#f8f9e5c9;box-shadow:0 11px 18px #79764018,inset 0 1px 1px #fff;overflow-y:auto}
.faq-answer-kicker{font-size:14px;font-weight:700;color:#24332a}
.faq-answer-panel h3{font-size:23px!important;line-height:1.2!important;font-weight:760!important;letter-spacing:-.035em!important;color:#172628!important;margin:9px 0 10px}
.faq-answer-panel p{font-size:16px!important;color:#1a292b!important;line-height:1.58!important;margin:0}
.honesty-rows summary:hover{padding-left:0!important}
/* The cursor effects apply to geometry and decorative art only, not reading copy. */
.person-card-one,.person-card-two,.person-card-three{transform:none!important;rotate:0deg!important;scale:1!important}
.motion-enabled .people .person-card{rotate:0deg!important}
.motion-enabled .people.in-view .person-card:hover{rotate:0deg!important}
.person-copy,.person-copy *{filter:none!important}
.product-showcase,.product-display,.product-view,.journey-scene,.journey-view{filter:none!important}
.depth-axis{--depth-rx:2deg;--depth-ry:-5deg}
.depth-world[data-active="0"] .depth-slab-form,
.depth-world[data-active="1"] .depth-slab-learn,
.depth-world[data-active="2"] .depth-slab-practice{filter:none!important}
@media(min-width:1101px) and (max-width:1290px){
 .menu{gap:11px}
 html body .menu a{font-size:15px!important}
 .access-menu>summary{font-size:15px;padding:11px 13px}
}
@media(max-width:1100px){
 .menu{display:none!important}
 .access-menu{display:none!important}
 .hamburger{display:block!important;margin-left:auto}
}
@media(max-width:950px){
 .story-plane{width:190px;height:250px}
 html body .story-plane .story-plane-center strong{font-size:24px!important}
 html body .story-plane-four .story-plane-center strong{font-size:21px!important}
 .story-bottomline{grid-template-columns:160px 1fr}
 .footer-access{margin-top:16px}
}
@media(max-width:700px){
 html body .hero .fineprint{font-size:14px!important}
 html body .phone-copy strong{font-size:clamp(27px,6.5vw,39px)!important}
 html body .phone-copy p{font-size:14px!important}
 html body .phone-step,html body .phone-top,html body .phone-footer{font-size:12px!important}
 .story-plane{width:150px;height:207px;padding:12px 13px}
 html body .story-plane .story-plane-center strong{font-size:20px!important;line-height:1.12!important}
 html body .story-plane-four .story-plane-center strong{font-size:18px!important}
 html body .story-plane-center i{font-size:38px!important}
 html body .story-plane-top,html body .story-plane-bottom{font-size:11px!important}
 html body .story-phrase>span,html body .story-topline{font-size:12px!important}
 .story-bottomline{grid-template-columns:118px 1fr;gap:12px}
 .story-state{font-size:12px!important}
 .story-plane .ui-icon{width:19px;height:19px}
 .story-phrase h2{font-size:clamp(34px,8.2vw,51px)!important}
 html body .open-role .open-role-top span,html body .open-role .job-eyebrow,html body .open-role .role-bottom small{font-size:13px!important}
 html body .open-role .role-bottom strong{font-size:19px!important}
 html body .open-role-title>p{font-size:16px!important}
 html body .role-postit>p{font-size:21px!important}
 html body .role-footnote{font-size:13px!important}
 html body .journey-tab{font-size:17px!important;min-height:72px!important}
 html body .journey-tab>span{font-size:13px!important}
 html body .journey-view>p,html body .product-view>p{font-size:16px!important}
 html body .product-tab{font-size:16px!important;min-height:54px}
 html body .product-tab>span{font-size:13px!important}
 html body .scene-overline,html body .scene-foot{font-size:13px!important}
 html body .people .people-heading p{font-size:16px!important}
 html body .honesty-rows summary{min-height:74px}
 html body .honesty-rows summary strong{font-size:17px!important}
 .faq-answer-panel{height:245px;min-height:245px;padding:18px 19px}
 .faq-answer-panel h3{font-size:20px!important}
 .faq-answer-panel p{font-size:15px!important}
 html body .footer-bottom{font-size:13px!important}
 .mobile-nav:not([hidden]){top:70px}
}
@media(max-width:360px){
 .story-plane{width:132px;height:183px;padding:10px 11px}
 html body .story-plane .story-plane-center strong{font-size:17px!important}
 html body .story-plane-four .story-plane-center strong{font-size:16px!important}
 html body .story-plane-center i{font-size:32px!important}
 .story-plane-top,.story-plane-bottom{font-size:10px!important}
 .story-phrase h2{font-size:32px!important}
 .faq-answer-panel{height:290px;min-height:290px}
 .faq-answer-panel h3{font-size:19px!important}
 .faq-answer-panel p{font-size:15px!important}
 html body .journey-tab{font-size:16px!important}
 html body .open-role .role-bottom small{font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){
 .story-plane{filter:none!important}
 .faq-answer-panel{transition:none!important}
}

/* Prevent 3D-text blur: move the lighting/rings/core, never rasterized sentences. */
.contact-visual{transform:none!important;transition:none!important}
.contact-float,.contact-float-a,.contact-float-b,.contact-float-c{
 scale:1!important;animation:none!important;transform:none!important;
 filter:none!important;backface-visibility:visible!important;
}
.contact-float .ui-icon{width:29px;height:29px}
.contact-float{z-index:4;font-size:15px;font-weight:650;line-height:1.35}
.contact-float strong{font-size:18px}
.contact-orbit{animation:orbit-breathe 8s ease-in-out infinite alternate}
@keyframes orbit-breathe{to{opacity:.75;filter:brightness(1.09)}}
@media(min-width:901px){
 .contact-float-a{top:8%;left:9%}
 .contact-float-b{top:58%;right:4%}
 .contact-float-c{top:78%;left:9%}
}
@media(max-width:700px){
 .contact-visual{height:365px;min-height:365px;overflow:visible}
 .contact-float{font-size:14px!important;padding:10px 11px;min-height:62px;border-radius:11px;gap:9px}
 .contact-float strong{font-size:15px}
 .contact-float .ui-icon{width:23px;height:23px}
 .contact-float-a{top:4%;left:2%;width:178px}
 .contact-float-b{top:74%;right:2%;width:168px}
 .contact-float-c{top:73%;left:2%;width:163px}
 .contact-core{top:30%;left:33%}
}
@media(max-width:390px){
 .contact-visual{height:335px;min-height:335px}
 .contact-float-a{top:5%;left:2%;width:173px}
 .contact-float-b{top:73%;right:1%;width:145px}
 .contact-float-c{top:74%;left:1%;width:142px}
 .contact-float{padding:9px 9px;font-size:13px!important;min-height:62px}
 .contact-float strong{font-size:14px!important}
 .contact-float .ui-icon{width:20px;height:20px}
 .contact-core{left:32%;top:28%}
}
@media(prefers-reduced-motion:reduce){.contact-orbit{animation:none!important}}

/* FINAL contrast: override more generic light-section selectors. */
html body .vacancy .open-role .job-eyebrow,
html body .vacancy .open-role .role-bottom small,
html body .vacancy .open-role .role-footnote,
html body .vacancy .open-role .open-role-top span{
 color:#f3f9f1!important;opacity:1!important;font-weight:690!important;
}
html body .product .product-showcase .product-sidebar>p{
 color:#eff7ed!important;opacity:1!important;font-size:15px!important
}
html body .vacancy .roles-closed .closed-rows span{
 font-size:15px!important;color:#203334!important;font-weight:650!important;
}
html body .product .product-showcase .product-label small{color:#fff!important}
@media(max-width:1100px){
 .mobile-nav:not([hidden]){top:75px;max-height:calc(100dvh - 75px);overflow-y:auto}
 .mobile-nav-group a{padding:12px 6px}
}
@media(max-width:700px){
 .mobile-nav:not([hidden]){top:70px;max-height:calc(100dvh - 70px);padding:14px 21px}
 .mobile-nav a{min-height:49px!important;padding:11px 4px;font-size:16px!important}
 html body .vacancy .roles-closed .closed-rows span{font-size:13px!important}
 html body .product .product-showcase .product-sidebar>p{font-size:14px!important}
}

/* Scroll observers may not leave reading text semi-transparent for seconds. */
.motion-enabled .belief-right h2,.motion-enabled .belief.in-view .belief-right h2{
 clip-path:none!important;translate:0 0!important;
}
.motion-enabled .vacancy .vacancy-intro,
.motion-enabled .vacancy.in-view .vacancy-intro,
.motion-enabled .vacancy .open-role,
.motion-enabled .vacancy.in-view .open-role{
 opacity:1!important;translate:0 0!important;scale:1!important;
}
.motion-enabled .people .person-card,
.motion-enabled .people.in-view .person-card{
 opacity:1!important;translate:0 0!important;rotate:0deg!important;
}
/* Decorative depth moves; text blocks remain at native raster size. */
.motion-enabled .product-showcase,
.motion-enabled .product.in-view .product-showcase{opacity:1!important}
