/* Navigation relies on composition and typography, not repeated direction icons. */
.sjhx-panel a{text-decoration:none}
.sjhx-panel .sjhx-card{border-radius:3px;outline-offset:6px;transition:color .3s ease}
.sjhx-panel .sjhx-card-photo{border-radius:3px}
.sjhx-panel .sjhx-card-photo img{transition:transform 1s cubic-bezier(.22,1,.36,1),filter .6s ease}
.sjhx-panel .sjhx-card:is(:hover,:focus-visible) .sjhx-card-photo img{transform:scale(1.025);filter:brightness(1.025)}
.sjhx-panel .sjhx-card-title{display:block!important;text-wrap:balance;color:#252a25;transition:color .3s ease}
.sjhx-panel .sjhx-card:is(:hover,:focus-visible) .sjhx-card-title{color:#123f34}
.sjhx-panel .sjhx-card small{transition:color .3s ease}
.sjhx-panel .sjhx-card:is(:hover,:focus-visible) small{color:#123f34}
.sjhx-panel a:focus-visible{outline:2px solid #456d59;outline-offset:5px;border-radius:3px}
/* Editorial text links retain their natural width and a single drawn underline. */
.sjhx-panel .sjhx-text-link,.sjhx-panel .sjhx-next-occasion{width:fit-content;max-width:100%;position:relative;min-height:36px;gap:0;transition:color .3s ease}
.sjhx-panel .sjhx-text-link:after,.sjhx-panel .sjhx-next-occasion:after{content:'';position:absolute;inset:auto 0 5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.sjhx-panel :is(.sjhx-text-link,.sjhx-next-occasion):is(:hover,:focus-visible):after{transform:scaleX(1)}
.sjhx-panel .sjhx-next-occasion{display:inline-flex;align-items:center;font:400 11px/1.5 'DM Sans',Arial,sans-serif;color:#667067;text-decoration:none}
.sjhx-panel .sjhx-panel-heading>.sjhx-text-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 17px;border:1px solid #123f342b;border-radius:24px;background:#123f34;color:#faf8f4;transition:background-color .3s,border-color .3s}
.sjhx-panel .sjhx-panel-heading>.sjhx-text-link:after{display:none}
.sjhx-panel .sjhx-panel-heading>.sjhx-text-link:is(:hover,:focus-visible){background:#245b48;border-color:#245b48}
.sjhx-panel .sjhx-panel-heading>.sjhx-next-occasion{font-size:11px;min-height:27px}
.sjhx-panel .sjhx-event-directory>a{position:relative;color:#667067;transition:color .3s ease}
.sjhx-panel .sjhx-event-directory>a:after{content:'';position:absolute;inset:auto 0 5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.sjhx-panel .sjhx-event-directory>a:is(:hover,:focus-visible){color:#123f34}
.sjhx-panel .sjhx-event-directory>a:is(:hover,:focus-visible):after{transform:scaleX(1)}
.sjhx-client-voice{border-radius:6px;background:#e8ede3;box-shadow:none}
.sjhx-client-voice .sjhx-text-link{font-size:11px!important;min-height:30px}
.sjhx-approach-links>a{border-radius:3px;transition:background-color .35s,color .35s,padding-inline .35s}
.sjhx-approach-links>a:is(:hover,:focus-visible){background:#123f3408;color:#123f34;padding-inline:10px}
.sjhx-approach-links>a small{color:#788174}
@media(min-width:1101px){
 .sjhx-rich-header .sjhx-deck{--sjhc-inner:min(300px,calc(40svh - 40px));padding:20px var(--sjhf-gutter);max-height:40svh;box-shadow:0 20px 30px #14251a10}
 .sjhx-deck .sjhx-events{grid-template-columns:.78fr 2.85fr;gap:38px}
 .sjhx-deck .sjhx-panel-heading{display:grid;grid-template-rows:1fr auto auto;align-content:stretch;justify-content:start;justify-items:start;gap:6px;padding-top:3px}
 .sjhx-deck .sjhx-event-grid{grid-template-rows:minmax(0,1fr) 32px;gap:14px 24px}
 .sjhx-deck .sjhx-event-grid .sjhx-card-photo{height:calc(var(--sjhc-inner) - 92px)}
 .sjhx-deck .sjhx-card-title,.sjhx-deck .sjhx-lead .sjhx-card-title{font-size:12px;line-height:1.35;margin-top:10px;font-weight:500}
 .sjhx-deck .sjhx-card small{font-size:10px;line-height:1.5;margin-top:3px;color:#7b8378}
 .sjhx-deck .sjhx-event-directory{justify-content:flex-start;gap:clamp(18px,2.2vw,38px);align-items:center;position:relative}
 .sjhx-deck .sjhx-event-directory>.sjhx-kicker{display:block;margin:0!important;font-size:8px!important;letter-spacing:.08em!important;white-space:nowrap;color:#899080}
 .sjhx-deck .sjhx-event-directory>a{font-size:10px;min-height:32px;white-space:nowrap;width:fit-content}
 .sjhx-deck .sjhx-event-directory>a small{display:none}
 .sjhx-deck .sjhx-event-grid .sjhx-card[href*="world-engineering-day"] img{object-position:50% 5%}
 .sjhx-deck .sjhx-clients{grid-template-columns:.72fr 1.18fr 1.25fr;gap:34px}
 .sjhx-deck .sjhx-client-pictures{gap:18px}
 .sjhx-deck .sjhx-client-pictures .sjhx-card:nth-child(2){margin-top:14px}
 .sjhx-deck .sjhx-client-pictures .sjhx-card:nth-child(2) .sjhx-card-photo{height:calc(var(--sjhc-inner) - 61px)}
 .sjhx-deck .sjhx-client-voice{padding:20px 23px;grid-template-rows:minmax(0,1fr) 24px 30px 30px}
 .sjhx-deck .sjhx-client-voice blockquote{font-size:clamp(18px,1.55vw,23px);line-height:1.3}
 .sjhx-deck .sjhx-about{grid-template-columns:1.05fr 1.1fr .74fr;gap:38px}
 .sjhx-deck .sjhx-approach-links>a{font-size:17px;min-height:49px;padding-block:7px}
 .sjhx-deck .sjhx-approach-links .sjhx-group-link{font-size:10px;min-height:30px;margin-top:9px}
}
@media(max-width:1100px){
 .sjhx-mobile .sjhx-panel-heading{align-items:start;flex-wrap:wrap;gap:10px 20px}
 .sjhx-mobile .sjhx-panel-heading>div{flex-basis:100%}
 .sjhx-mobile .sjhx-panel-heading>.sjhx-text-link{min-height:36px;font-size:11px!important}
 .sjhx-mobile .sjhx-panel-heading>.sjhx-next-occasion{min-height:36px}
 .sjhx-mobile .sjhx-event-grid{gap:20px 16px}
 .sjhx-mobile .sjhx-event-grid .sjhx-card-photo{height:118px}
 .sjhx-mobile .sjhx-event-grid>.sjhx-lead{grid-column:1/-1}
 .sjhx-mobile .sjhx-event-grid>.sjhx-lead .sjhx-card-photo{height:145px}
 .sjhx-mobile .sjhx-event-directory{display:grid;grid-template-columns:1fr;gap:0;padding-top:6px}
 .sjhx-mobile .sjhx-event-directory>.sjhx-kicker{display:block;grid-column:1;margin:8px 0!important}
 .sjhx-mobile .sjhx-event-directory>a{min-height:44px;font:400 13px/1.4 'DM Sans',Arial,sans-serif;width:fit-content}
 .sjhx-mobile .sjhx-approach-links>a{min-height:52px;padding:8px 0}
}
/* Flat text CTAs never become incomplete rectangular buttons on hover. */
.se26-home a.se26-link,.se26-home a.se26-link-light{background:none!important;background-image:none!important;background-size:auto!important;border-radius:0;box-shadow:none!important;text-decoration:none;transition:color .3s ease}
.se26-home a.se26-link:after{transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1)}
.se26-home a.se26-link:is(:hover,:focus-visible):after{transform:scaleX(1)}
.se26-home a.se26-link svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}
.se26-home a.se26-link:is(:hover,:focus-visible) svg{transform:translate(2px,-2px)}
@media(prefers-reduced-motion:reduce){.sjhx-panel *,.se26-home a.se26-link,.se26-home a.se26-link svg,.se26-home a.se26-link:after{transition:none!important;animation:none!important}}
.se26-motion-reduced .sjhx-panel *{transition:none!important;animation:none!important}
/* The featured-photo skeleton belongs to the fixed frame, not its moving crop. */
.se26-home .sjhso-ready .sjhso-photo.sjhnav-loading{opacity:1!important;clip-path:inset(0)!important}
.sjhso-photo>.sjhp-skeleton{z-index:5}
.sjhso-photo[data-sjhp-state=error] .sjhso-drift{background:transparent}
